[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

bizare rpmbuild behaviour



Hi

I've read maximrpm cover-to-cover, this is bothering me so much that I bought
RedHat RPM Guide, still no joy. Perhaps someone can help:

If I do a build using one.spec I get:
...
Processing files: ltsp_core-4.0-1
Checking for unpackaged file(s): /usr/lib/rpm/check-files %{buildroot}
Wrote: /usr/src/redhat/RPMS/i386/ltsp_core-4.0-1.i386.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.63292
+ umask 022
+ cd /usr/src/redhat/BUILD
+ exit 0

Now if I add ONE FILE (anyfile) to the spec %files list and build:
...
Processing files: ltsp_core-4.0-1
Checking for unpackaged file(s): /usr/lib/rpm/check-files %{buildroot}
getOutputFrom(): Broken pipe

In both cases the other 1000s files are not listed as unpackaged.
This works if I change the macro to do legacy behaviour and NOT check files
(commented out 3 lines: docs, packaged-files and definition of check-files

-------------------------------------------------------------------------------
But wait, there is more ..
for this simple eg I'm packaging binary files only: rpmbuild one.spec etc

If I specify BuildRoot as /home/projects/lbe where there is an opt hierachy then
it seems some parts of rpm use the BuildRoot and some don't:
-------------------------------------------------------------------------------

Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.94397
+ umask 022
+ cd /usr/src/redhat/BUILD
+ LANG=C
+ export LANG
+ /usr/lib/rpm/redhat/brp-compress
gunzip: ./usr/share/man/man1/pstruct.1.gz has 1 other link  -- unchanged
ls: ./usr/share/man/man1/pstruct.1: No such file or directory
find: missing argument to `-inum'
gzip: ./usr/share/man/man1/pstruct.1: No such file or directory
gunzip: ./usr/share/man/man1/c2ph.1.gz has 1 other link  -- unchanged
ls: ./usr/share/man/man1/c2ph.1: No such file or directory
find: missing argument to `-inum'
gzip: ./usr/share/man/man1/c2ph.1: No such file or directory
gunzip: ./usr/share/man/man1/psed.1.gz has 1 other link  -- unchanged
ls: ./usr/share/man/man1/psed.1: No such file or directory
find: missing argument to `-inum'
gzip: ./usr/share/man/man1/psed.1: No such file or directory
gunzip: ./usr/share/man/man1/s2p.1.gz has 1 other link  -- unchanged
ls: ./usr/share/man/man1/s2p.1: No such file or directory
find: missing argument to `-inum'
gzip: ./usr/share/man/man1/s2p.1: No such file or directory
+ /usr/lib/rpm/redhat/brp-strip /usr/bin/strip


------------------------------------------------------------------------------
Building in /opt/ltsp (macros to legacy behaviour) the EXACT same ltsp dir ...
------------------------------------------------------------------------------

Processing files: ltsp_core-4.0-1
Wrote: /usr/src/redhat/RPMS/i386/ltsp_core-4.0-1.i386.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.11814
+ umask 022
+ cd /usr/src/redhat/BUILD
+ exit 0

= one.spec ====================================================================
Summary: Linux Terminal Server Project (ltsp.org)
Name: ltsp_core
Version: 4.0
Release: 1
Copyright: GPL
Group: Networking/Admin
AutoReqProv: no

%description
This package will setup the environment needed for booting diskless
Linux workstations from a server.

%prep

%build

%install

%clean

%files
/opt/ltsp/i386/bin/set_runlevel
/opt/ltsp/i386/bin/start_printer
/opt/ltsp/i386/bin/start_telnet
/opt/ltsp/i386/bin/telnet_loop
/opt/ltsp/i386/bin/bash
/opt/ltsp/i386/bin/bashbug
/opt/ltsp/i386/bin/busybox
/opt/ltsp/i386/bin/getltscfg
/opt/ltsp/i386/bin/chattr
/opt/ltsp/i386/bin/gdb
/opt/ltsp/i386/bin/gdbserver
/opt/ltsp/i386/bin/lsattr
/opt/ltsp/i386/bin/uuidgen
/opt/ltsp/i386/bin/startsess
/opt/ltsp/i386/bin/open
/opt/ltsp/i386/bin/strace-graph
/opt/ltsp/i386/bin/strace
/opt/ltsp/i386/etc/bashrc
/opt/ltsp/i386/etc/build_x4_cfg
/opt/ltsp/i386/etc/devfsd.conf
/opt/ltsp/i386/etc/fstab
/opt/ltsp/i386/etc/group
/opt/ltsp/i386/etc/host.conf
/opt/ltsp/i386/etc/inittab
/opt/ltsp/i386/etc/ld.so.conf
/opt/ltsp/i386/etc/lts.conf
/opt/ltsp/i386/etc/lts.conf.readme
/opt/ltsp/i386/etc/ltsp_functions
/opt/ltsp/i386/etc/modules.conf
/opt/ltsp/i386/etc/modules.devfs
/opt/ltsp/i386/etc/nsswitch.conf
/opt/ltsp/i386/etc/passwd
/opt/ltsp/i386/etc/protocols
/opt/ltsp/i386/etc/rc.d/sample
#/opt/ltsp/i386/etc/rc.sysinit
#/opt/ltsp/i386/etc/screen_session
#/opt/ltsp/i386/etc/services
#/opt/ltsp/i386/etc/version
#/opt/ltsp/i386/etc/vidlist
#/opt/ltsp/i386/etc/screen.d/remote_x
<snip>


= two.spec ====================================================================
Exactly the same as one.spec with this line uncommented .., but uncomment
ANY line

/opt/ltsp/i386/etc/rc.sysinit

===============================================================================
So
is this behaviour "The End of Roman imperialism, jump off a cliff and die"
or am I doing something foolish

James

PS building from source is very complex, I shall solve/workaround these issues
before trying to sove that one.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []