[Fedora-packaging] Makefile questions

Orcan Ogetbil oget.fedora at gmail.com
Mon Jun 15 23:02:56 UTC 2009


On Mon, Jun 15, 2009 at 6:35 PM, Chess Griffin wrote:
> Hello-
>
> I am familiar with packaging for other *nixes but this is my first RPM
> attempt and I have a couple of questions.  I have read the various
> packaging docs on the Fedora Project site, but have been unable to find
> a precise answer.  If there is another document to read or another list
> where I should be directing these questions, please let me know.
>
> 1.  The Makefile sets PREFIX to /usr/local.  In %install, is it ok
> to use:
>
> make install PREFIX=/usr DESTDIR=$RPM_BUILD_ROOT
>

Yes, but don't forget to use macros, e.g. in %install
make install PREFIX=%{_prefix} DESTDIR=$RPM_BUILD_ROOT

> 2.  The Makefile also attempts to install and set user/group ownership
> and permissions, i.e. it does 'INSTALLBIN= install -g bin -o root -m
> 555'.  Is it ok to address this by patching the line so it reads
> 'INSTALLBIN= install' seeing as how ownership and permissions are later
> set in %files?
>

This one depends on the package and files being installed. Normally,
directories and executables get 755, symlinks get 777 and the rest
gets 644. However, there are (as always) exemptions.
Meanwhile, please use at least INSTALLBIN="install -p" to preserve timestamps.

> 3.  Similarly, the Makefile also hardcodes the manpage directory, i.e.
> in install, it has: '$(INSTALLDIR) $(DESTDIR)$(PREFIX)/man/man1.
> Again, is it ok to patch this line so it reads '$(INSTALLDIR)
> $(DESTDIR)$PREFIX/share/man/man1'?

Yes. Or even better, you can define a MANDIR variable and use it
instead. This way you can also upstream the patch and after that you
won't need to use an extra patch in the next releases.

Orcan




More information about the packaging mailing list