It turns out that the patch archives that get created from running solaris2mpm on a patch cluster don't contain the entire patch. It only contained the files in the top-most directory. I've had to fix this issues to move forward with other bugs.
solaris2mpm on -4 bootstrap packages is busted: root@unknown /2.10-sparc % solaris2mpm *.zip Traceback (most recent call last): File "/opt/redhat/rhn/solaris/usr/bin/solaris2mpm", line 13, in ? mod = __import__("rhnpush." + mod_name) File "/opt/redhat/rhn/solaris/lib/python2.4/site-packages/rhnpush/solaris2mpm.py", line 22, in ? from archive import get_archive_parser File "/opt/redhat/rhn/solaris/lib/python2.4/site-packages/rhnpush/archive.py", line 30, in ? class ArchiveParser(object): File "/opt/redhat/rhn/solaris/lib/python2.4/site-packages/rhnpush/archive.py", line 103, in ArchiveParser def _find(self, file, dir=self._archive_dir): NameError: name 'self' is not defined
Created attachment 121401 [details] patch for /usr/share/rhn/rhnpush/archive.py to fix the problem grrrrr, that's what I get for working until 4am
rhnpush still busted: [root@test07 patches]# solaris2mpm 9_Recommended.zip Opening archive, this may take a while Error creating mpm for /tmp/patches/9_Recommended.zip: 'NoneType' object has no attribute 'splitlines'
The problems in comment #2 and comment #4 are fixed in the latest rhnpush (rhnpush-4.0.5-53.rhel3 and rhnpush-4.0.5-54.rhel4). The mpms created from patches within a patch cluster (8_Recommended.zip and 9_Recommended.zip) contain header and full data as expected. Following is an example of data from an mpm created using solaris2mpm on a patch cluster: solaris2mpm run on cluster 9_Recommended.zip; resulting cluster and individual mpms pushed to a 4.0.5 satellite custom channel (solaris-9) using rhnpush. On the satellite, I picked a random patch: /var/satellite/redhat/1/patch-solaris-112617/02-1/sparc-solaris-patch [root@test02-64 sparc-solaris-patch]# unzip 112617-02.zip Archive: 112617-02.zip creating: 112617-02/ creating: 112617-02/SUNWdtdmn/ creating: 112617-02/SUNWdtdmn/install/ inflating: 112617-02/SUNWdtdmn/install/checkinstall inflating: 112617-02/SUNWdtdmn/install/copyright inflating: 112617-02/SUNWdtdmn/install/depend inflating: 112617-02/SUNWdtdmn/install/i.none inflating: 112617-02/SUNWdtdmn/install/patch_checkinstall inflating: 112617-02/SUNWdtdmn/install/patch_postinstall inflating: 112617-02/SUNWdtdmn/install/postinstall inflating: 112617-02/SUNWdtdmn/install/preinstall creating: 112617-02/SUNWdtdmn/reloc/ creating: 112617-02/SUNWdtdmn/reloc/dt/ creating: 112617-02/SUNWdtdmn/reloc/dt/bin/ inflating: 112617-02/SUNWdtdmn/reloc/dt/bin/rpc.cmsd inflating: 112617-02/SUNWdtdmn/pkgmap inflating: 112617-02/SUNWdtdmn/pkginfo inflating: 112617-02/.diPatch inflating: 112617-02/patchinfo inflating: 112617-02/postbackout inflating: 112617-02/postpatch inflating: 112617-02/README.112617-02 Notice the patch contains full data.
Released.