[Fedora-packaging] Build Environment Consistency

Panu Matilainen pmatilai at laiskiainen.org
Wed Jan 29 09:16:30 UTC 2014


On 01/28/2014 10:02 PM, Gene wrote:
>
> https://github.com/genereese/togo
>
> I am specifically attempting to figure out if there is some horrible flaw in this setup that I am overlooking; any thoughts in that realm would be greatly appreciated.

AFAICS from a brief look, what this does is quite contrary to rpm design.

Reading http://rpm.org/max-rpm/ch-rpm-philosophy.html recommended, but 
in short, rpm is designed around the notion of non-interactively 
building binaries from source tarballs. When you try to use it for 
something entirely different, such as scraping files from a pre-existing 
directory on disk (say, ~/my-project) into a package, it'll seem to 
fight back kicking and screaming and tends to lead to rather confusing 
experience.

This is kinda telling:
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.mlcEGy
+ umask 022
+ cd /home/greese/Desktop/rpm/my-package-name/meta/redhat/BUILD
+ cd my-package-name-1.0
+ rsync -a . 
/home/greese/Desktop/rpm/my-package-name/meta/redhat/BUILDROOT/my-package-name-1.0-1.x86_64/
+ exit 0

There's absolutely nothing wrong with packaging scripts, data or 
binary-only software where there's nothing to build, but when you're not 
building software from source, there should be no %build section, only 
%prep (if you have tarballs to unpack) and %install where you lay out 
the to-be-packaged files into the buildroot.

There's also absolutely nothing wrong with creating helpers around rpm 
packaging, but it's always better if such helpers work in a way that 
also educate their users by doing things "the right way".

	- Panu -


More information about the packaging mailing list