> Please see http://www.shorewall.net/Install.sh. Prior to Shorewall
> 4.4.20, LIBEXEC and PERLLIB were assumed to be relative to /usr; the
> code above exists for backward compatibility.
>
>  It is also
>   
>> inconsistent with what you assume in line 380: "mkdir -p 
>> ${DESTDIR}${LIBEXEC}/$PRODUCT" - no "/usr" there!
>>     
>
> By the time that code is executed, the code at line 128 will have
> already generated a fully-qualified path name.
>   
I see, so when I wish to build shorewall from source, I need to set 
LIBEXEC/PERLEXEC to their respective directory *names*, rather than 
their paths, is that how it is supposed to work?

As for the backward compatibility aspect you mention above - I thought a 
major revision (4.5.0, I think, qualifies) warranted corrections of such 
magnitude. Getting rid of inaccuracies, inferior "features" used in 
previous revisions is one of the purposes of making a major release, 
isn't that the case?

>> #! Besides uninstall.sh has an error on line 115: "rm -rf 
>> $PERLLIB}/Shorewall/*" should really be "rm -rf ${PERLLIB}/Shorewall/*" 
>> or "rm -rf $PERLLIB/Shorewall/*".
>>     
>
> Corrected: thanks.
>   
When I have more time, I'll have a bit more detailed look at 
uninstall.sh as well.

> I suspected that there were probably better names for these variables.
> I'll switch them in Beta 2.
>   
Thanks.

> I need it in the Shorewall-init installer so I replicated the detection
> logic on all of the installers for compatibility and to handle any
> future deviations between RHEL (and derivatives) and Fedora.
>   
Well, if you do need to distinguish between Fedora and RedHat/RHEL, then 
I suggest you use a different "sniff" method, because this isn't it - 
both Fedora Core and RedHat/RHEL deploy/use /etc/sysconfig/network-scripts.

> Duh -- corrected. Thanks.
>   
Thanks.

> Hmmm -- on my Fedora 16 installation, /etc/init.d is a symbolic link to
> /etc/rc.d/init.d; 'rpm -qf /etc/init.d' indicates that it is installed
> by chkconfig. So I guess the current code only fails if chkconfig isn't
> installed. I'll update all install scripts to assume /etc/rc.d/init.d
> for Fedora and RHEL.
>   
You are quite right in your assumption that /etc/init.d is a symlink to 
/etc/rc.d/init.d, provided chkconfig is installed. If it isn't, that 
directory is not present.

Also, during build, especially using the current crop of .spec files 
available (I am talking about the FC ones here), this directory is not 
configured/created/present - only %{buildroot}/etc/rc.d/init.d is used. 
So, if install.sh tries to copy the appropriate init.d script, this will 
fail as well (it is the 2nd reason I started investigating install.sh 
more thoroughly last week). You also need to honour the DIST environment 
variable, if set - install.sh does not do that at present, so I think 
you should correct that as well.


------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
Shorewall-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/shorewall-devel

Reply via email to