> _libexecdir *is* defined by RPM.
>   
What I meant was, is it defined by RPM *without* using your macros (i.e. 
in the "vanilla" RPM distribution)?

> It is already defined within RPM. As I noted, however, the default
> setting is distribution- and release-dependent so I override the default
> in $HOME/.rpmmacros.
>   
One thing I still cannot understand - if it is defined within RPM (and I 
mean the *vanilla* RPM, without having your macros installed - I am dead 
against this, but that is another topic for discussion altogether) why 
not stick with that definition, why do you have to redefine it?

> When running rpmbuild, %shorewall_initdir is the only way to specify the
> directory containing the init scripts. Here is the text that invokes the
> installer:
>
>       DESTDIR=$RPM_BUILD_ROOT \
>       OWNER=`id -n -u` \
>       GROUP=`id -n -g` \
>       LIBEXEC=%{_libexecdir} \
>       PERLLIB=%{perl_sitelib} \
>       INITDIR=%{shorewall_initdir} \
>       TARGET=%{shorewall_target} \
>       ./install.sh
>
> Here's the %attr specification for the init script:
>
>       %attr(0544,root,root) %{shorewall_initdir}/shorewall
>   
I disagree on a number of points.

Assuming %{_libexecdir} and %{perl_sitelib} are defined by the *vanilla* 
RPM, then I don't see why do I have to install a separate macros in 
$HOME (and "pollute" my build environment unnecessarily) just to make 
use of two variables which are used just *once* - you may as well place 
whatever the value of these are in the .spec file.

Besides, "shorewall_initdir" could very-well be substituted with its 
vanilla-rpm-defined counterpart, which for my distribution - Fedora - is 
%{_initddir}.

Also, the above is missing the "BUILD" setting, which I am also pretty 
confident could be substituted by Fedora automatically. "TARGET" should 
also be "HOST". Oh, and $RPM_BUILD_ROOT is %{buildroot} and has been 
like that for a long time.

Lastly, I don't see the meaning of OWNER and GROUP either - if you are 
going to execute "id -n -X", then you may as well do it from within 
install.sh - no need to specify it as a separate environment variable 
cluttering this spec file even further.

> Because the installer has knowledge of the file hierarchy of a number of
> distributions, 'default' is distribution-dependent. I think it would be
> appropriate to document that on the web site; I'll work on that over the
> next day or two.
>   
Let me know when you are ready.


------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Shorewall-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/shorewall-devel

Reply via email to