Hi, everyone.
This pungi's patch is able to create easily CD/DVD that inclde update RPM
packages (exclude old PRM packages automatically).
Apply a patch and add line below to yum.conf.f7.i386 .
#-------------------------
exclude=*debuginfo*
[fedorai-update]name=Fedora 7 - updatebaseurl=http://[mirror site
URL]/fedora/updates/7/i386/enabled=1gpgcheck=0
#-------------------------
Example of execution.
#pungi -c /etc/pungi/f7-fedora.i386
We can create a DVD that use a new kernel package and update packages.
And to rebuilt anaconda installer that use a new kernel.
Have a nice day!
Best regards.
--- /usr/lib/python2.5/site-packages/pypungi/gather.py 2007-05-26
07:15:48.000000000 +0900+++
/usr/lib/python2.5/site-packages/pypungi/gather.py.new 2007-06-16
07:14:07.000000000 +0900@@ -387,3 +387,54 @@ shutil.copy2(path,
local) os.link(local, os.path.join(pkgdir,
os.path.basename(remote)))+++ # Add removeOldPackages 20070616 Pochi_ken
<[EMAIL PROTECTED]>+ def removeOldPackages(self):+ """Cycle through
the check of rpms and+ update the package objects and delete the old
package objects."""++ pkgdir = os.path.join(self.config.get('default',
'destdir'),+ self.config.get('default',
'version'), + self.config.get('default',
'flavor'), + self.config.get('default', 'arch'), +
self.config.get('default', 'osdir'),+
self.config.get('default', 'product_path'))+ local = sel!
f.config.get('default','cachedir') + '/'+ localfiles =
os.listdir(local)+ trot =
yum.rpmUtils.transaction.initReadOnlyTransaction()+ rpmlst = []+
for filename in localfiles:+ rpmfile = local + filename+
try:+ hdr = yum.rpmUtils.miscutils.hdrFromPackage(trot,
rpmfile)+ rpmlst.append((rpmfile, hdr))+
self.logger.info("Reading header info from %s" % rpmfile)+ except:+
self.logger.info("Could not read header info in %s" % rpmfile)+
rpmlst.sort()+ c = 0+ oldrpmlst = []+ while (c <
(len(rpmlst)-1)):+ i = 1+ while (i < 5):+
cRPMpkg = yum.rpmUtils.miscutils.pkgTupleFromHeader(rpmlst[c][1])+
nRPMpkg = yum.rpmUtils.miscutils.pkgTupleFromHeader(rpmlst[c+i][1])+
if (cRPMpkg[0] == nRPMpkg[0]) and (cRPMpkg[1] == nRPMpkg[1]):+
cRPMEVR = cRPMpkg[2:]+ !
nRPMEVR = nRPMpkg[2:]+ if yum.rp!
mUtils.m
iscutils.compareEVR(nRPMEVR, cRPMEVR) == 1:+
oldrpmlst.append(rpmlst[c][0])+ else:+
oldrpmlst.append(rpmlst[c+i][0])+ rpmlst.pop(c+i)+
c = c-1+ i = i+1+ if ((c+i) >
(len(rpmlst)-1)):+ i = 5+ c = c+1+ for
filename in oldrpmlst:+ self.logger.info("Old package %s is
removed." % filename)+ os.remove(filename)+
os.remove(os.path.join(pkgdir, os.path.basename(filename)))+ # END
removeOldPackage--- /usr/bin/pungi 2007-05-31 01:30:29.000000000 +0900+++
/usr/bin/pungi.new 2007-06-13 22:21:15.000000000 +0900@@ -101,13 +101,17 @@
# Actually do work. if not config.get('default', 'arch') == 'source':+
mygather = pypungi.gather.Gather(config, pkglist) if opts.do_all or
opts.do_gather:- mygather = pypungi.gather.Gather(config, pkglist)
!
mygather.getPackageObjects() mygather.downloadPackages()-
if config.getboolean('default', 'getsource'):-
mygather.getSRPMList()- mygather.downloadSRPMs()++ if
opts.do_all or opts.do_remove:+ mygather.removeOldPackages()++
if config.getboolean('default', 'getsource'):+
mygather.getSRPMList()+ mygather.downloadSRPMs() mypungi =
pypungi.pungi.Pungi(config) @@ -153,6 +157,8 @@ help="Enable ALL
stages") parser.add_option("-G", action="store_true", default=False,
dest="do_gather", help="Flag to enable processing the Gather stage")+
parser.add_option("-R", action="store_true", default=False,
dest="do_remove",+ help="Flag to enable processing the Remove stage")
parser.add_option("-B", action="store_true", default=False,
dest="do_buildinstall", help="Flag to enable processing the
BuildInstall stage") par!
ser.add_option("-P", action="store_true", default=False, dest=!
"do_pack
ageorder",@@ -164,7 +170,7 @@ (opts, args) = parser.parse_args()-
if opts.do_gather or opts.do_buildinstall or opts.do_packageorder or
opts.do_splittree or opts.do_createiso:+ if opts.do_gather or
opts.do_remove or opts.do_buildinstall or opts.do_packageorder or
opts.do_splittree or opts.do_createiso: opts.do_all = False
if len(sys.argv) < 2: parser.print_help()
_________________________________________________________________
Windows Vista ついに発売!
http://search.msn.co.jp/results.aspx?q=windows+vista&FORM=MSNH&cp=65001--
Fedora-buildsys-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/fedora-buildsys-list