a few hints are:
1) check licensing carefully (on web AND on a source file);
2) no changelog in spec file, to migrate older changelog, there is a separate procedure; ...
3) check buildrequires by using the BuildSystem
4) remember, there are filetriggers; so no useless %post stuff
5) think about sources in URLs and try to think about other people who might upgrade your spec file (ie: use urls for sources)
5b) try not to repackage upstream stuff (sometimes upstream stuff is not in a tarball)
6) try to split if it's usefull by dependencies or size (or possibly architecture differences)
7) do check what type of macros exist, eg: there is %apply_patches
8) if you do lots of patches it might be helpful to you to use git-svn
and last but not least 9) check the licenses!

To check: OpenSuse Build System does dependancy checking for you, also can use mock

Some useful links for Mageia RPM building can help you to follow progress follow svn commits (service disontinued) :/ bootstrap backup of src.rpm before rpm5 is introduced in cooker (as src.rpm are compatible between rpm4 and rpm5, this should not be that much useful, only for drastic changes to spec file

I'm a beginner and want to understand packaging first steps

Well here's a proposal : just begin with an existing package on your current distribution (which can be Mandriva Linux 2010.2 for example). Let's take for example boa constructor which is a python IDE.

update for procedure

install rpm-build and create a new user dedicated to rpmbuild in order to rebuild packages (for example, to backport them from cauldron to current stable release Mageia 6)
I'm mainly following

# urpmi rpm-build
# su - baud123
$ mkdir -p ~/rpmbuild/{SRPMS,SOURCES,SPECS,tmp}
$ vi .rpmmacros # create file with appropriate content (see above URL)
$ cd rpmbuild/SRPMS/
$ wget
$ cd ..
$ rpm -i SRPMS/glances-2.10-2.mga7.src.rpm 
attention : utilisateur iurt inexistant - utilisation de root
attention : groupe iurt inexistant - utilisation de root
attention : utilisateur iurt inexistant - utilisation de root
attention : groupe iurt inexistant - utilisation de root
$ cd SPECS
$ rpmbuild -ba glances.spec # display re-building operations
# urpme glances
# rpm -ivh /home/baud123/rpmbuild/RPMS/noarch/glances-2.10-2.mga6.noarch.rpm

Check for links to existing packages in many distribution

Par exemple, je cherchais gpg2 aujourd'hui :

- => rien
- => il est packagé chez Mageia (et d'autres distributions)
- => il s'appelle aussi gnupg et la liste de distrowatch est par nature limitée

J'ai fini par le trouver sous le nom gnupg :


quel est le nom pivot utilisé ? Il y a des différences de nommage entre les distribution...

Il y a plusieurs parsers pour chaque distribution :

Debian :
Fedora :

There are no comments on this page.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki