Bug 17107
| Summary: | rpm-3.0.5-9.5x fails to build rsync-2.4.1-2.src.rpm from RedHat 6.2 SRPMS | ||
|---|---|---|---|
| Product: | [Retired] Red Hat Linux | Reporter: | Need Real Name <petr.novotny> |
| Component: | rpm | Assignee: | Jeff Johnson <jbj> |
| Status: | CLOSED NOTABUG | QA Contact: | |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 5.2 | ||
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | i386 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2000-08-31 07:41:02 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Need Real Name
2000-08-30 16:34:44 UTC
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? |