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
http://pkgsubmit.mageia.org/ can help you to follow progresshttps://wiki.mageia.org/en/Becoming_a_Mageia_Packager
- https://wiki.mageia.org/en/Packagers_RPM_tutorial first installation
- https://wiki.mageia.org/en/Packaging_for_beginners first use, examples on existing rpm and src.rpm
- https://wiki.mageia.org/en/RPM_Specfile_policy policies for spec files
http://cia.vc/stats/project/Mageia follow svn commits
http://pkgsubmit.mageia.org/data/src.mdv.txt bootstrap
http://tmb.mine.nu/Mageia/Cauldron/mdv-SRPMS-pre-rpm5/ 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.- find the rpm package name
- either in rpmdrake (there's a search area)
- you should find rapidly that the package name is boa-constructor
- or using urpmq (or rpm if you've already installed it)
- urpmq -a boa # finds another package for a software with a related name :/
- urpmq -a constructor # finds the correct package : boa-constructor, more precisely
- either in rpmdrake (there's a search area)
There are no comments on this page. [Add comment]