Bug 897

Summary: Dependencies of a package vary on the presence of that package at build time
Product: Sisyphus Reporter: Mikhail Zabaluev <mhz>
Component: rpm-buildAssignee: placeholder <placeholder>
Status: CLOSED WORKSFORME QA Contact: qa-sisyphus
Severity: minor    
Priority: P4 CC: arseny, glebfm, imz, ldv, mike, placeholder, vt
Version: unstable   
Hardware: all   
OS: Linux   

Description Mikhail Zabaluev 2002-05-08 00:41:21 MSD
Steps to reproduce:
- remove libxslt from the system
- rebuild the libxslt package and save it for comparison
- install the libxslt package just built
- rebuild the package again
The second package will have libxslt.so.? in Requires, whereas the first package won\'t.
---

---

Comment 1 Mikhail Zabaluev 2002-06-05 12:24:27 MSD
Ditto for shell auto-dependencies, e.g. initscripts will require itself if it\'s present in the system (in the build environment, to be correct) during the build, and miss it if it\'s not present.

I see the following solutions to overcome this problem:
1. For filename-based dependencies (libraries, plain pathnames), search for the
   file referenced by a dependency both in the system and in the build root.
   the perl.req script already does this.
2. (Ugly) Before a package rebuild in the build environment, a developer
may provide the produced binary packages, built on the developer\'s workstation, as a hint: the build environment will (non-fatally) resolve dependencies of the preliminary binary packages for its mockup filesystem and package database.
Comment 2 Mikhail Zabaluev 2002-06-05 12:24:27 MSD
Ditto for shell auto-dependencies, e.g. initscripts will require itself if it\'s present in the system (in the build environment, to be correct) during the build, and miss it if it\'s not present.

I see the following solutions to overcome this problem:
1. For filename-based dependencies (libraries, plain pathnames), search for the
   file referenced by a dependency both in the system and in the build root.
   the perl.req script already does this.
2. (Ugly) Before a package rebuild in the build environment, a developer
may provide the produced binary packages, built on the developer\'s workstation, as a hint: the build environment will (non-fatally) resolve dependencies of the preliminary binary packages for its mockup filesystem and package database.
Comment 3 Michael Shigorin 2007-09-24 11:41:49 MSD
Кажется, это всё с тех пор изрядно менялось, в т.ч. по части отфильтровывания
self requires?
Comment 4 Dmitry V. Levin 2007-09-24 14:24:26 MSD
С внедрением hasher'а неактуально.