Sourcing shorewall-git (commit 0ac97c4) on openSUSE 13.1.

Using SW's UNMODIFIED upstream ./release/*.specs in building rpms

Building rpms with

        cd ./release
        setversion 4.6.4.git_0ac97c4
        git commit -a -m "working"
        cd ../
        /usr/local/src/shorewall-build/tools/build/build46 -tr -cil6Ls 
4.6.4.git_0ac97c4
                ...
                Shorewall 4.6.4.git_0ac97c4 Build complete - Mon Sep 29 
06:10:15 PDT 2014
        ls -al *rpm
                -rw-r--r-- 1 root root 535K Sep 29 06:10 
shorewall-4.6.4-git_0ac97c4.noarch.rpm
                -rw-r--r-- 1 root root 292K Sep 29 06:10 
shorewall6-4.6.4-git_0ac97c4.noarch.rpm
                -rw-r--r-- 1 root root  54K Sep 29 06:10 
shorewall6-lite-4.6.4-git_0ac97c4.noarch.rpm
                -rw-r--r-- 1 root root  54K Sep 29 06:10 
shorewall-core-4.6.4-git_0ac97c4.noarch.rpm
                -rw-r--r-- 1 root root  41K Sep 29 06:10 
shorewall-init-4.6.4-git_0ac97c4.noarch.rpm
                -rw-r--r-- 1 root root  55K Sep 29 06:10 
shorewall-lite-4.6.4-git_0ac97c4.noarch.rpm

Note that the rpms' install targets for the sbins are

        rpm -qlp *rpm | grep sbin
                /sbin/shorewall
                /sbin/shorewall6
                /sbin/shorewall6-lite
                /sbin/shorewall-lite

The build process' location vendor/host-specific rc for == 'suse' appears to be 
sourced from

        cat ./code/Shorewall-core/shorewallrc.suse
                #
                # SuSE Shorewall 4.5 rc file
                #
                BUILD=                                                #Default 
is to detect the build system
                HOST=suse
                ...

It contains var defs that are incorrect for host == suse. In particular, 
looking at

        PERLLIBDIR=${PREFIX}/lib/perl5/vendor_perl/5.14.2     #Directory to 
install Shorewall Perl module directory
        SBINDIR=/sbin                                         #Directory where 
system administration programs are installed

'Somewhere' in SW's upstream build46 process, one's corrected (PERLLIBDIR), the 
other's not (SBINDIR), and propagated to the resulting, built rpms' install 
targets, e.g.

        rpm -qlp shorewall-4*rpm | egrep "sbin|perl" | sort -r | tail -n 2
                /usr/lib/perl5/vendor_perl/5.18.1/Shorewall/Accounting.pm
                /sbin/shorewall

openSUSE project's release-up-to-date, downstream packaging .spec

        
https://build.opensuse.org/package/view_file/security:netfilter/shorewall/shorewall.spec?expand=1

corrects these values with a ./configure stanza under %install; I assume that's 
considered to be 'correct' config for host == suse.

Its built rpms' install targets include

        rpm -qlp ./shorewall-4.6.3.4-157.1.noarch.rpm | egrep "sbin|perl" | sort
                /usr/lib/perl5/vendor_perl/5.18.1/Shorewall
                /usr/lib/perl5/vendor_perl/5.18.1/Shorewall/Accounting.pm
                ...
                /usr/sbin/rcshorewall
                /usr/sbin/shorewall

Attempting to correct them for builds using SW's upstream build process, using 
included .specs,

exporting corrected PERLLIBDIR, SBINDIR, etc ENV vars prior to build46 exec has 
no effect on outcome; still "/sbin/..."

OTOH, manually correcting, pre-build

        perl -pi -e \
         's|^.*(PERLLIBDIR=).*|${1}\${PREFIX}/lib/perl5/vendor_perl/5.18.1|g; \
          s|^.*(SBINDIR=).*|${1}/usr/sbin|' \
        ./code/Shorewall-core/shorewallrc.suse
        git commit -a -m "fix rc"
        ...
        ./build46 ...

causes the build to fail

        ...
        Building shorewall-core-4.6.4-git_0ac97c4.noarch.rpm...
        Building shorewall-4.6.4-git_0ac97c4.noarch.rpm...
        Step "do_rpmbuild -ba /usr/src/packages//SPECS/shorewall.spec" FAILED

chekcing the manual step

        rpmbuild -ba /usr/src/packages//SPECS/shorewall.spec
                ...
                Shorewall Version 4.6.4.git_0ac97c4 Installed
                + /usr/lib/rpm/brp-compress
                + /usr/lib/rpm/brp-suse
                calling /usr/lib/rpm/brp-suse.d/brp-99-pesign
                Processing files: shorewall-4.6.4-git_0ac97c4.noarch
!!              error: File not found: 
/usr/src/packages/BUILDROOT/shorewall-4.6.4-git_0ac97c4.x86_64/sbin/shorewall
                Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.qI45DA
                + umask 022
                + cd /usr/src/packages/BUILD
                + cd shorewall-4.6.4
                + 
DOCDIR=/usr/src/packages/BUILDROOT/shorewall-4.6.4-git_0ac97c4.x86_64/usr/share/doc/packages/shorewall
                + export DOCDIR
                + /usr/bin/mkdir -p 
/usr/src/packages/BUILDROOT/shorewall-4.6.4-git_0ac97c4.x86_64/usr/share/doc/packages/shorewall
                + cp -pr COPYING 
/usr/src/packages/BUILDROOT/shorewall-4.6.4-git_0ac97c4.x86_64/usr/share/doc/packages/shorewall
                + cp -pr INSTALL 
/usr/src/packages/BUILDROOT/shorewall-4.6.4-git_0ac97c4.x86_64/usr/share/doc/packages/shorewall
                + cp -pr changelog.txt 
/usr/src/packages/BUILDROOT/shorewall-4.6.4-git_0ac97c4.x86_64/usr/share/doc/packages/shorewall
                + cp -pr releasenotes.txt 
/usr/src/packages/BUILDROOT/shorewall-4.6.4-git_0ac97c4.x86_64/usr/share/doc/packages/shorewall
                + cp -pr Contrib/ipsecvpn Contrib/swping Contrib/swping.init 
Contrib/tunnel 
/usr/src/packages/BUILDROOT/shorewall-4.6.4-git_0ac97c4.x86_64/usr/share/doc/packages/shorewall
                + cp -pr Samples 
/usr/src/packages/BUILDROOT/shorewall-4.6.4-git_0ac97c4.x86_64/usr/share/doc/packages/shorewall
                + exit 0


                RPM build errors:
                    bogus date in %changelog: Tue Oct 03 2007 Tom Eastep 
[email protected]
                    bogus date in %changelog: Thu Mar 24 2007 Tom Eastep 
[email protected]
                    File not found: 
/usr/src/packages/BUILDROOT/shorewall-4.6.4-git_0ac97c4.x86_64/sbin/shorewall

What's the appropriate method for passing corrected/reconfigured 
vendor/host-specific values to the SW build46 script?

Goal here is to get to a clean/correct host-specific, build46 process from 
upstream sources.

------------------------------------------------------------------------------
Slashdot TV.  Videos for Nerds.  Stuff that Matters.
http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
_______________________________________________
Shorewall-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/shorewall-users

Reply via email to