Bug 522825

Summary: pkgorder: No package(s) available to install
Product: [Fedora] Fedora Reporter: John Reiser <jreiser>
Component: pungiAssignee: David Cantrell <dcantrell>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: dcantrell, ffesti, james.antill, maxamillion, pmatilai, tim.lauridsen
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-09-15 23:59:40 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:
Attachments:
Description Flags
/var/cache/pungi/rawhide/repomd.xml
none
/ext4/Fedora12/logs/i386.log none

Description John Reiser 2009-09-11 16:56:40 UTC
Description of problem: Composing install media from rawhide using pungi gets an error and traceback from pkgorder.  The DVD completes, but the CDs do not.


Version-Release number of selected component (if applicable):
yum-3.2.24-3.fc12.noarch
pungi-2.0.17-1.fc12.noarch


How reproducible:


Steps to Reproduce:
1. pungi -c /usr/share/pungi/rawhide-fedora.ks --destdir=$DESTDIR --name Fedora --ver $VERSION --nosource
2.
3.
  
Actual results:
   <<snip>>
Pungi:INFO: Running /usr/bin/mkisofs -v -U -J -R -T -m repoview -m boot.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "Fedora 12 i386 DVD" -o /ext4/Fedora12/12/i386/iso/Fedora-12-i386-DVD.iso /ext4/Fedora12/12/i386/os
Pungi:INFO: Running /usr/bin/implantisomd5 /ext4/Fedora12/12/i386/iso/Fedora-12-i386-DVD.iso
Pungi:INFO: Generating checksum of /ext4/Fedora12/12/i386/iso/Fedora-12-i386-DVD.iso
Pungi:INFO: Running /usr/bin/pkgorder /ext4/Fedora12/12/i386/os i386 Packages
Pungi:ERROR: Got an error from /usr/bin/pkgorder
Pungi:ERROR: Traceback (most recent call last):
  File "/usr/bin/pkgorder", line 187, in <module>
    addPackages(ds, ["kernel-*","mkinitrd","mdadm"])
  File "/usr/bin/pkgorder", line 114, in addPackages
    ds.install(pattern=pkg)
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 2732, in install
    raise Errors.InstallError, _('No package(s) available to install')
yum.Errors.InstallError: No package(s) available to install

Traceback (most recent call last):
  File "/usr/bin/pungi", line 216, in <module>
    main()
  File "/usr/bin/pungi", line 123, in main
    mypungi.doCreateIsos(split=opts.nosplitmedia)
  File "/usr/lib/python2.6/site-packages/pypungi/__init__.py", line 1166, in doCreateIsos
    self.doPackageorder()
  File "/usr/lib/python2.6/site-packages/pypungi/__init__.py", line 860, in doPackageorder
    pypungi.util._doRunCommand(pkgorder, self.logger, output=pkgorderfile)
  File "/usr/lib/python2.6/site-packages/pypungi/util.py", line 36, in _doRunCommand
    raise OSError, "Got an error from %s: %s" % (command[0], err)
OSError: Got an error from /usr/bin/pkgorder: Traceback (most recent call last):
  File "/usr/bin/pkgorder", line 187, in <module>
    addPackages(ds, ["kernel-*","mkinitrd","mdadm"])
  File "/usr/bin/pkgorder", line 114, in addPackages
    ds.install(pattern=pkg)
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 2732, in install
    raise Errors.InstallError, _('No package(s) available to install')
yum.Errors.InstallError: No package(s) available to install



Expected results: Successful creation of CDs.


Additional info:

Comment 1 Jesse Keating 2009-09-15 00:11:13 UTC
Found the bug.  mkinitrd isn't used anymore, dracut is.  I updated pkgorder and built a new pungi for rawhide.

Comment 2 John Reiser 2009-09-15 16:37:25 UTC
pungi-2.0.18-1.fc12.noarch still gives the same complaint.

   <<snip>>
Pungi:INFO: Running /usr/bin/mkisofs -v -U -J -R -T -m repoview -m boot.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "Fedora 12 i386 DVD" -o /ext4/Fedora12/12/i386/iso/Fedora-12-i386-DVD.iso /ext4/Fedora12/12/i386/os
Pungi:INFO: Running /usr/bin/implantisomd5 /ext4/Fedora12/12/i386/iso/Fedora-12-i386-DVD.iso
Pungi:INFO: Generating checksum of /ext4/Fedora12/12/i386/iso/Fedora-12-i386-DVD.iso
Pungi:INFO: Running /usr/bin/pkgorder /ext4/Fedora12/12/i386/os i386 Packages
Pungi:ERROR: Got an error from /usr/bin/pkgorder
Pungi:ERROR: Traceback (most recent call last):
  File "/usr/bin/pkgorder", line 190, in <module>
    addPackages(ds, ["authconfig", "chkconfig", "dracut", "rhpl", "system-config-firewall-tui"])
  File "/usr/bin/pkgorder", line 114, in addPackages
    ds.install(pattern=pkg)
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 2732, in install
    raise Errors.InstallError, _('No package(s) available to install')
yum.Errors.InstallError: No package(s) available to install

Traceback (most recent call last):
  File "/usr/bin/pungi", line 216, in <module>
    main()
  File "/usr/bin/pungi", line 123, in main
    mypungi.doCreateIsos(split=opts.nosplitmedia)
  File "/usr/lib/python2.6/site-packages/pypungi/__init__.py", line 1166, in doCreateIsos
    self.doPackageorder()
  File "/usr/lib/python2.6/site-packages/pypungi/__init__.py", line 860, in doPackageorder
    pypungi.util._doRunCommand(pkgorder, self.logger, output=pkgorderfile)
  File "/usr/lib/python2.6/site-packages/pypungi/util.py", line 36, in _doRunCommand
    raise OSError, "Got an error from %s: %s" % (command[0], err)
OSError: Got an error from /usr/bin/pkgorder: Traceback (most recent call last):
  File "/usr/bin/pkgorder", line 190, in <module>
    addPackages(ds, ["authconfig", "chkconfig", "dracut", "rhpl", "system-config-firewall-tui"])
  File "/usr/bin/pkgorder", line 114, in addPackages
    ds.install(pattern=pkg)
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 2732, in install
    raise Errors.InstallError, _('No package(s) available to install')
yum.Errors.InstallError: No package(s) available to install

# pungi --version
pungi 2.0.18
# rpm -qf /usr/bin/pkgorder
pungi-2.0.18-1.fc12.noarch

Comment 3 Jesse Keating 2009-09-15 18:18:31 UTC
Are you composing a reduced package set that doesn't have one of authconfig", "chkconfig", "dracut", "rhpl", "system-config-firewall-tui" in it?  I think I just need to make this function call be tolerant to missing packages.

Comment 4 John Reiser 2009-09-15 18:40:10 UTC
I'm composing
   pungi -c /usr/share/pungi/rawhide-fedora.ks ...
except that I have commented-out all the Languages.

In particular, in I have [at least one of] each of those packages:
# cd /var/cache/pungi/rawhide/packages
# ls -l authconfig*
-rw-r--r--. 1 root root 308128 2009-08-08 10:34 authconfig-5.4.10-2.fc12.i686.rpm
-rw-r--r--. 2 root root 307792 2009-08-13 14:07 authconfig-5.4.10-2.fc12.x86_64.rpm
-rw-r--r--. 2 root root 298340 2009-09-14 04:29 authconfig-5.4.11-1.fc12.i686.rpm
-rw-r--r--. 1 root root  47672 2009-08-08 12:32 authconfig-gtk-5.4.10-2.fc12.i686.rpm
-rw-r--r--. 2 root root  47636 2009-08-08 14:23 authconfig-gtk-5.4.10-2.fc12.x86_64.rpm
-rw-r--r--. 2 root root  46324 2009-09-14 04:29 authconfig-gtk-5.4.11-1.fc12.i686.rpm
# ls -l chkconfig*
-rw-r--r--. 1 root root 144996 2009-08-13 16:45 chkconfig-1.3.42-2.i686.rpm
-rw-r--r--. 2 root root 146056 2009-08-13 14:08 chkconfig-1.3.42-2.x86_64.rpm
-rw-r--r--. 2 root root 145356 2009-09-14 09:32 chkconfig-1.3.43-1.i686.rpm
# ls -l dracut*
-rw-r--r--. 1 root root 59188 2009-09-15 08:28 dracut-001-10.git4d924752.fc12.noarch.rpm
-rw-r--r--. 2 root root 58012 2009-09-09 12:23 dracut-001-9.git6f0e469d.fc12.noarch.rpm
-rw-r--r--. 2 root root  4816 2009-09-09 12:23 dracut-kernel-001-9.git6f0e469d.fc12.noarch.rpm
# ls -l rhpl*
-rw-r--r--. 1 root root 195584 2009-08-13 17:02 rhpl-0.220-2.i686.rpm
-rw-r--r--. 2 root root 196252 2009-08-08 14:40 rhpl-0.220-2.x86_64.rpm
# ls -l system-config-firewall-tui*
-rw-r--r--. 1 root root 330312 2009-08-08 14:05 system-config-firewall-tui-1.2.17-1.fc12.noarch.rpm
-rw-r--r--. 3 root root 346368 2009-09-11 08:05 system-config-firewall-tui-1.2.18-1.fc12.noarch.rpm
#

Comment 5 Jesse Keating 2009-09-15 21:26:31 UTC
Well that's odd then.  You sure there is repodata in that tree with all those packages in it?  I can't seem to reproduce here.

Comment 6 Jesse Keating 2009-09-15 21:54:47 UTC
In the mean time, I'm building a pungi that is tolerant of missing packages.  Would be good to check the pungi log to see what packages it thinks you are missing.

Comment 7 John Reiser 2009-09-15 22:18:11 UTC
Created attachment 361148 [details]
/var/cache/pungi/rawhide/repomd.xml

Here is the repomd.xml file.  However, there is no "repodata/" directory beneath /var/cache/pungi/rawhide, so none of the files named in the .xml (such as 
repodata/9bb6d3d8603138f4171ef9aca7cfa8d322b10af3fcf481ba9cb2c1a63feb9368-comps-rawhide.xml) exist below /var/cache/pungi/rawhide.

In the output directory:
   # find . -name repodata
   ./work/i386/os-unified/repodata
   ./12/i386/debug/repodata
   ./12/i386/os/repodata
Is that OK?

What am I looking for in the log file?  I see mention of
-----
Pungi.INFO: Running /usr/bin/repoview --quiet --state-dir /var/cache/pungi/repoviewcache --title "Fedora 12 - i386" /ext4/Fedora12/12/i386/os
-----
but /var/cache/pungi/repoviewcache/ contains just five .sqlite files.

I'll make another attachment of the full log file.

Comment 8 John Reiser 2009-09-15 22:21:24 UTC
Created attachment 361152 [details]
/ext4/Fedora12/logs/i386.log

Full log file from pungi run.  I don't see what the problem is.

Comment 9 John Reiser 2009-09-15 22:34:51 UTC
I my preamble before running pungi, I do
   rm -rf $DESTDIR/work/$ARCH
   rm -rf $DESTDIR/$VERSION/$ARCH
which should remove
          $DESTDIR/$VERSION/$ARCH/os/repodata

In $DESTDIR/$VERSION/$ARCH/os/repodata, I see these "leftovers":
-----
-rw-r--r--. 1 root root 1779400 2009-09-15 08:33 0ad45949476768a8ad2c426d9a9072f5deabe9ffe4d92dd9b1f82779d8acfd84-primary.sqlite.bz2
-rw-r--r--. 1 root root 1905781 2009-09-15 08:32 187be52f16200fac2968644d2db1a943001b9c6189ebf5c991db7cb53abd636d-filelists.xml.gz
-rw-r--r--. 1 root root 2406070 2009-09-15 08:33 3c5302da3eed1fc538f62af4a7e6b432fe2374e66edf2d664f2283f2b309b308-filelists.sqlite.bz2
-rw-r--r--. 1 root root  850712 2009-09-15 08:32 687d754e79fc8523a42dcd7a9b8e39a66a6924acac16f05ca86678d0a4426524-other.xml.gz
-rw-r--r--. 1 root root  839745 2009-09-15 08:32 8afc9b858ad93fda5d4dea5e174547f8d36734e91a84c680216adfe07597597e-other.sqlite.bz2
-rw-r--r--. 1 root root  907254 2009-09-15 08:32 c16ecb8bcda3b53ef12af398f0f85613d909e18f9e2ddf5b6bb75cf8f9f7dce8-primary.xml.gz
-rw-r--r--. 1 root root 1707914 2009-09-15 08:33 c2f84673882c2544feed7c7a7717b474caacf44ab0259e988fda30bc39eff500-Fedora-12-comps.xml
-rw-r--r--. 1 root root  394772 2009-09-15 08:33 f4ec6e87b366eccbead98679b640d698bc04d2bd41dea1b2302d7fcc86a49e45-Fedora-12-comps.xml.gz
-rw-r--r--. 1 root root    3818 2009-09-15 08:33 repomd.xml
-----
which have similar names on the right-hand side of the filename (the tail), but different hashes than were looked for in Comment #7 above.

Comment 10 Jesse Keating 2009-09-15 22:46:42 UTC
The repodata would be in the dest path, under the os directory, where the pkgorder call is pointing to, eg:

Pungi.INFO: Running /usr/bin/pkgorder /ext4/Fedora12/12/i386/os i386 Packages 

would look for repodata in /ext4/Fedora12/12/i386/os/

Please try with http://koji.fedoraproject.org/koji/buildinfo?buildID=132161

Comment 11 Jesse Keating 2009-09-15 23:59:40 UTC
Ok, I found what it was.  rhpl is no longer forced by Anaconda, but pkgorder was looking for it.  With .19 that was non-fatal, as of .20 it doesn't even look for rhpl anymore.