I am not sure if this is rsync-2.4.1-2.src.rpm issue or rpm-3.0.5-9.5x issue. I tried to "rpm --rebuild rsync-2.4.1-2.src.rpm". As a result, no .i386.rpm package was created but rsync binary got placed in /usr/bin and manpages got placed in /usr/man hierarchy. It looks like "make install" from the rsync.spec worked oh-too-well. Could anyone shed some light? Could anyone tell me where to get recent rsync rpm for glibc2.0 or how to compile that src.rpm?
Addendum: Tried the newest rsync-2.4.5-1.src.rpm from samba.anu.edu.au. It still fails to build the rpm; fortunately, /usr/bin is not polluted now by rsync binary. This is a part of rpm --rebuild output. It looks highly suspicious: Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.89536 + umask 022 + cd /usr/src/redhat/BUILD + cd rsync-2.4.5 + mkdir -p /tmp/rsync/usr/bin /tmp/rsync/usr/man/man1 /tmp/rsync/usr/man/man5 + install -m755 rsync /tmp/rsync/usr/bin + install -m644 rsync.1 /tmp/rsync/usr/man/man1 + install -m644 rsyncd.conf.5 /tmp/rsync/usr/man/man5 + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip + /usr/lib/rpm/brp-strip-comment-note Processing files: rsync-2.4.5-1 File not found: /tmp/rsync/usr/man/man1/rsync.1 File not found: /tmp/rsync/usr/man/man5/rsyncd.conf.5 What on Earth does that mean? Did install -m644 fail unnoticed, or what?
One last thing :-) [root@saturnin SPECS]# ls -R /tmp/rsync usr /tmp/rsync/usr: bin doc man /tmp/rsync/usr/bin: rsync /tmp/rsync/usr/doc: rsync-2.4.5 /tmp/rsync/usr/doc/rsync-2.4.5: COPYING README tech_report.tex /tmp/rsync/usr/man: man1 man5 /tmp/rsync/usr/man/man1: rsync.1.gz /tmp/rsync/usr/man/man5: rsyncd.conf.5.gz
rpm-3.0.5 automagically compresses man pages (and strips binaries). You need to do either (first is recommended) 1) Add an asterask to the end of each man page in %files. For example, if you currently have in %files /usr/man/man1/foo.1 change it to %{_mandir}/man1/foo.1* 2) Turn off Red Hat build root policies. Adding %define __spec_install_post /bin/true at the top of the spec file will do that.
If this is the case, one of the following must be done: 1. Declare that rpm 3.0.5 is not backwards compatible. 2. Change the .src.rpm packages to say "requires rpm <= 3.0.4". 3. Have rpm also automagically add that asterisk in the %files section. Bottom line: I find it hardly acceptable to fix all SPEC files from older srpms, just because I happen to have upgraded to the newest rpm.
No, it's a configuration issue. Like all macros, you can also do mkdir -p /etc/rpm echo "%__spec_install_post /bin/true" >> /etc/rpm/macros so rpm-3.0.5 *is* backwards compatible. Adding a dependency to src rpm's to tell you to configure your build machine is overkill. Adding an asterisk automagically to spec files creates other problems. How is rpm to detect which files get an asterisk and which don't?