> 3)  Previously, the install scripts included in the Shorewall packages
>     were very restrictive. They could either be run to install directly
>     onto the system in a distribution-dependent way, or they could
>     install into a directory in a distribution-independent way. This
>     limited their usefullness to packagers.
>
>     Beginning with this release, the install scripts handle the install
>     system and the target system independently. When running an
>     installer, the following environmental variables can be set:
>
>     a)  INSTALLSYS - Describes the system where the installer is
>         running. Accepted values are:
>
>           CYGWIN    - Cygwin running under a Microsoft OS
>           MAC       - OS X
>           DEBIAN    - Debian
>           REDHAT    - Redhat,Centos,Foobar,etc.
>           FEDORA    - Fedora
>           SLACKWARE - Slackware
>           ARCHLINUX - Arch Linux
>           LINUX     - Generic Linux
>           
>         INSTALLSYS is not set, then the installer uses its existing
>         algorithm for detecting the current OS and distribution.
>
>     b)  TARGET - Describes the system where the installed package
>         will run.
>
>       - For Shorewall and Shorewall6, the possible values are
>           the same as for INSTALLSYS. The values REDHAT and FEDORA are
>           synonyms.
>
>         - If TARGET is not set, the value of INSTALLSYS (through
>           setting or detection) is used.
>     
>         - For Shorewall-lite and Shorewall6-lite, the possible choices
>           are DEBIAN, FEDORA, REDHAT, SLACKWARE, ARCHLINUX and
>           LINUX. Again, REDHAT and FEDORA are synonyms.
>
>       - For Shorewall-init, the possible choices are DEBIAN, FEDORA,
>           REDHAT, and SUSE.
>   
Thanks for that. I just had a quick glance over the install.sh script in 
the main shorewall archive (will have a more thorough look towards the 
end of the week):

1. Line 128:
case "$LIBEXEC" in
    /*)
    ;;
    *)
    LIBEXEC=/usr/${LIBEXEC}
#! Why?! My understanding is that the LIBEXEC is specified in full 
(prefix/destdir excluding) - not just the bit after "/usr". This is also 
inconsistent with the same setting in uninstall.sh. It is also 
inconsistent with what you assume in line 380: "mkdir -p 
${DESTDIR}${LIBEXEC}/$PRODUCT" - no "/usr" there!
#! 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/*".
#! In uninstall.sh you also use hard-coded values where shorewall was 
installed (/sbin/shorewall, /usr/share/shorewall etc) - I think that's 
wrong. I am also unsure how uninstall.sh is going to cope with the 
arch-specific settings you use when install.sh does its job.
    ;;
esac

case "$PERLLIB" in
    /*)
    ;;
    *)
    PERLLIB=/usr/${PERLLIB}
#! Same as above.
    ;;
esac

2. INSTALLSYS and TARGET names: it would be better to rename them as 
"BUILD" and "HOST", makes more sense (and is also consistent with their 
automake value counterparts).

3. Line 144:

if [ -z "$INSTALLSYS" ]; then
    case $(uname) in
    CYGWIN*)
        INSTALLSYS=CYGWIN
        ;;
    Darwin)
        INSTALLSYS=MAC
        ;;
    *)
        if [ -f /etc/debian_version ]; then
        INSTALLSYS=DEBIAN
        elif [ -f /etc/redhat-release ]; then
        if [ -d /etc/sysconfig/network-scripts/ ]; then
#! I have /etc/sysconfig/network-scripts/ present, but my system cannot 
be classified as "REDHAT" - it is Fedora. Why the distinction by the 
way? Do you need it because of RHEL?
            INSTALLSYS=REDHAT
        else
            INSTALLSYS=FEDORA
        fi
        elif [ -f /etc/slackware-version ] ; then
        INSTALLSYS=SLACKWARE
        elif [ -f /etc/SuSE-release ]; then
        INSTALLSYS=SUSE
        elif [ -f /etc/arch-release ] ; then
        INSTALLSYS=ARCHLINUX
        else
        INSTALLSYS=LINUX
        fi
        ;;
    esac
fi

4. Line 301:

if [ -n "$DESTDIR" ]; then
#![...]
elif [ -z "$DESTDIR" ]; then
#! if .. else - it is either one or the other, there isn't a 3rd 
alternative .This is a common use you employ throughout the install.sh 
script

5. Line 355:

    FEDORA|REDHAT)
    install_file init.fedora.sh ${DESTDIR}/etc/init.d/$PRODUCT 0544
#! This WILL fail! Either use "${DESTDIR}${DEST}/$PRODUCT" or 
"${DESTDIR}/etc/rc.d/init.d/$PRODUCT"
    ;;

> 4)  A SWITCH column has been added to /etc/shorewall/masq. This column
>     allows for enabling and disabling a rule based on a setting in
>     /proc/net/nf_condition. See shorewall-masq(5) for details.
>
> 5)  The rules compiler now issues a warning when the 'src' ipset flag
>     is used in a destination column or the 'dst' ipset flag is used in
>     a source column.
> Thank you for testing,
I will check/test everything more thoroughly towards the end of the week 
as I have a lot on my plate at the moment.


------------------------------------------------------------------------------
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