On Tue, Jun 04, Michael Schroeder wrote:
On Tue, Jun 04, 2013 at 06:55:12PM +0200, Olaf Hering wrote:
I'm trying to create a list of dependencies for a given list of package
names during package build. The steps are like this:
- put "# needsbinariesforbuild" into libguestfs.spec
- symlink /.build.binaries/* to a private $tmpdir
- run "createrepo $tmpdir"
- create a private repos.d with a single repo pointing to that $tmpdir
- call 'zypper ... install --dry-run --download-only module-init-tools'
This fails because module-init-tools.spec has "PreReq: /usr/bin/eu-nm",
which comes from elfutils. Putting elfutils into BuildRequires puts this
package also into /.build.binaries/. But createrepo still fails to
create a dependency for /usr/bin/eu-nm.
It shouldn't create a dependency but it should create a
<file>/usr/bin/eu-nm</file>
line in the elfutils section. Isn't that the case?
It does, elfutils.rpm has a <file>/usr/bin/eu-nm</file> entry and
module-init-tools.rpm has a rpm:requires. But still this is not
enough to avoid this error (in a 11.4 chroot):
probook:/usr/src/packages/BUILD/libguestfs-1.23.2> zypper --verbose --verbose --config /usr/src/packages/BUILD/libguestfs-1.23.2/zypper.priv.conf --root /tmp/supermindd9a05a06bee91ffcdb0a8c7355916bf.tmp --reposd-dir /usr/src/packages/BUILD/libguestfs-1.23.2/zypp_plaindir/repos.d --cache-dir /tmp/supermindd9a05a06bee91ffcdb0a8c7355916bf.tmp --gpg-auto-import-keys --no-gpg-checks lr -d
Verbosity: 2
Entering 'no-gpg-checks' mode.
Warning: Turning on '--gpg-auto-import-keys'. New repository signing keys will be automatically imported!
# | Alias | Name | Enabled | Refresh | Priority | Type | URI | Service
--+---------------+---------------+---------+---------+----------+--------+-----------------------------------------------------------------------+--------
1 | zypp_plaindir | zypp_plaindir | Yes | Yes | 99 | rpm-md | dir:///%2Fusr/src/packages/BUILD/libguestfs-1.23.2/zypp_plaindir/rpms |
probook:/usr/src/packages/BUILD/libguestfs-1.23.2> zypper --verbose --verbose --config /usr/src/packages/BUILD/libguestfs-1.23.2/zypper.priv.conf --root /tmp/supermindd9a05a06bee91ffcdb0a8c7355916bf.tmp --reposd-dir /usr/src/packages/BUILD/libguestfs-1.23.2/zypp_plaindir/repos.d --cache-dir /tmp/supermindd9a05a06bee91ffcdb0a8c7355916bf.tmp --gpg-auto-import-keys --no-gpg-checks install --auto-agree-with-licenses --dry-run acl attr bash binutils bzip2 coreutils cpio file findutils grep gzip less mdadm module-init-tools parted sed strace tar udev util-linux
Verbosity: 2
Entering 'no-gpg-checks' mode.
Warning: Turning on '--gpg-auto-import-keys'. New repository signing keys will be automatically imported!
Non-option program arguments: 'acl' 'attr' 'bash' 'binutils' 'bzip2' 'coreutils' 'cpio' 'file' 'findutils' 'grep' 'gzip' 'less' 'mdadm' 'module-init-tools' 'parted' 'sed' 'strace' 'tar' 'udev' 'util-linux'
Initializing Target
Loading repository data...
Reading installed packages...
Force resolution: No
Selecting 'coreutils-8.9-23.1.x86_64' from repository 'zypp_plaindir' for installation.
Selecting 'sed-4.2.1-2.1.x86_64' from repository 'zypp_plaindir' for installation.
Selecting 'grep-2.7-3.1.x86_64' from repository 'zypp_plaindir' for installation.
Selecting 'util-linux-2.19-3.6.1.x86_64' from repository 'zypp_plaindir' for installation.
Selecting 'file-5.04-13.1.x86_64' from repository 'zypp_plaindir' for installation.
Selecting 'udev-166-6.7.1.x86_64' from repository 'zypp_plaindir' for installation.
Selecting 'bash-4.1-20.28.1.x86_64' from repository 'zypp_plaindir' for installation.
Selecting 'bzip2-1.0.6-6.11.x86_64' from repository 'zypp_plaindir' for installation.
Selecting 'binutils-2.21-13.1.x86_64' from repository 'zypp_plaindir' for installation.
Selecting 'gzip-1.4-4.11.x86_64' from repository 'zypp_plaindir' for installation.
Selecting 'acl-2.2.48-12.1.x86_64' from repository 'zypp_plaindir' for installation.
Selecting 'attr-2.4.44-11.1.x86_64' from repository 'zypp_plaindir' for installation.
Selecting 'cpio-2.11-10.1.x86_64' from repository 'zypp_plaindir' for installation.
Selecting 'module-init-tools-3.12-6.1.x86_64' from repository 'zypp_plaindir' for installation.
Selecting 'less-436-10.1.x86_64' from repository 'zypp_plaindir' for installation.
Selecting 'parted-2.3-8.2.x86_64' from repository 'zypp_plaindir' for installation.
Selecting 'tar-1.26-1.5.1.x86_64' from repository 'zypp_plaindir' for installation.
Selecting 'findutils-4.4.2-11.1.x86_64' from repository 'zypp_plaindir' for installation.
Selecting 'mdadm-3.1.4-13.19.1.x86_64' from repository 'zypp_plaindir' for installation.
Selecting 'strace-4.5.20-7.1.x86_64' from repository 'zypp_plaindir' for installation.
Resolving package dependencies...
Force resolution: No
7 Problems:
Problem: nothing provides /usr/bin/eu-nm needed by module-init-tools-3.12-6.1.x86_64
Problem: nothing provides cracklib-dict needed by cracklib-2.8.18-6.1.x86_64
Problem: nothing provides cracklib-dict needed by cracklib-2.8.18-6.1.x86_64
Problem: nothing provides cracklib-dict needed by cracklib-2.8.18-6.1.x86_64
Problem: nothing provides cracklib-dict needed by cracklib-2.8.18-6.1.x86_64
Problem: nothing provides cracklib-dict needed by cracklib-2.8.18-6.1.x86_64
Problem: nothing provides cracklib-dict needed by cracklib-2.8.18-6.1.x86_64
Problem: nothing provides /usr/bin/eu-nm needed by module-init-tools-3.12-6.1.x86_64
Solution 1: do not install module-init-tools-3.12-6.1.x86_64
Solution 2: break module-init-tools by ignoring some of its dependencies
Olaf
--
To unsubscribe, e-mail: zypp-devel+unsubscribe@opensuse.org
To contact the owner, e-mail: zypp-devel+owner@opensuse.org