Bug 897

Summary: Dependencies of a package vary on the presence of that package at build time
Product: [Development] Sisyphus Reporter: Mikhail Zabaluev <mhz@altlinux.org>
Component: rpm-buildAssignee: Gleb F-Malinovskiy <glebfm@altlinux.org>
Status: CLOSED WORKSFORME QA Contact: qa-sisyphus@altlinux.org
Severity: minor    
Priority: P4 CC: at@altlinux.org, imz@altlinux.org, ldv@altlinux.org, mike@altlinux.org
Version: unstable   
Hardware: all   
OS: Linux   

Description From 2002-05-08 00:41:21
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 From 2002-06-05 12:24:27 -------
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 From 2002-06-05 12:24:27 -------
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 From 2007-09-24 11:41:49 -------
Кажется, это всё с тех пор изрядно менялось, в т.ч. по части отфильтровывания
self requires?
------- Comment #4 From 2007-09-24 14:24:26 -------
С внедрением hasher'а неактуально.