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 <pochi_ken(a)hotmail.com>+ 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...