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><rpm:entry
name="/usr/bin/eu-nm" pre="1"/></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+unsubscr...@opensuse.org
To contact the owner, e-mail: zypp-devel+ow...@opensuse.org

Reply via email to