[OPEN-ILS-DEV] make install DESTDIR=/path/to

Jeroen van Meeuwen (Fedora Project) kanarip at fedoraproject.org
Sat Nov 21 09:20:57 EST 2009


Hi there,

This inquiry concerns OpenSRF ;-)

As you know I'm working on packaging for Fedora / EPEL, and while doing 
so, I notice parts of the auto foo do not honor the DESTDIR parameter to 
make install very well.

In RPM packaging, the procedure to install a program while building the 
package is to execute a make install DESTDIR=$RPM_BUILD_ROOT, so that 
the program is installed under 
~/rpmbuild/BUILDROOT/%{name}-%{version}-%{release}.

This is an empty directory tree, so that all files under the buildroot 
can be considered belonging to the OpenSRF package (and sub-packages).

However, this is also where it gets a little more complex. I did not 
want to send any kind of patch right away, that would change the way you 
work the auto foo, so I'll try and explain and see what you think first.

In src/gateway/Makefile.am, the httpd modules are installed and enabled 
outside the DESTDIR (and onto the build host filesystem actually), which 
I presume is now used during development as a quick way to 'make 
install' and test the program, but it sucks when you are packaging; the 
build host filesystem cannot be touched. As such, activating the modules 
through apxs doesn't make sense. I'm not sure whether a patch disabling 
that auto foo behavior would be accepted.

In addition to that small problem, httpd.conf is not to be touched. The 
way modules are configured and loaded in RPM based distributions is that 
the package ships /etc/httpd/conf.d/osrf_json_gateway.conf, rather then 
having apxs add a LoadModule directive to httpd.conf. I believe in 
Debian based distributions, the location of a similar file is supposed 
to be /etc/apache2/modules-available/. How to make sure both (and 
other?) situations are taken care of properly in auto foo remains to be 
seen, but I would like to have OpenSRF comply with both these standard 
distribution methods of shipping httpd modules, even if that means 
creating /usr/share/OpenSRF/osrf_json_gateway.conf and having the 
packaging procedures move that file to the correct location (for example).

The rest of the patch would merely consist of adding a few $(DESTDIR) 
prefixes to the auto foo, and should barely have any impact.

Please let me know how you feel about this and maybe we can exchange 
patches and ideas and test some things before anything is committed?

Kind regards,

Jeroen van Meeuwen
-kanarip


More information about the Open-ils-dev mailing list