Ñò TONc @sKdZddkZddkZddkZddkZddklZddklZdgZ dZ dZ de fd „ƒYZ d efd „ƒYZde fd „ƒYZed joeeidƒZx1eeiƒD] ZedeeieƒGHqÝWHx$eiD]ZeideiGHq WHxeiD] ZeGHq4WndS(sLSystemV / Solaris packages. This module allows the new Solaris packaging system to interface with System V style packages, both in directory format and in datastream format. When a package is in datastream format, it may be compressed with gzip. XXX Some caveats about rewinding a datastream or multiple packages per datastream. iÿÿÿÿN(tCpioFile(t DependencytSolarisPackages# PaCkAgE DaTaStReAms# end of headert PkgMapLinecBseZdZdd„ZRS(s²A class that represents a single line of a SysV package's pkgmap. XXX This class should probably disappear once pkg.manifest? is a bit more fleshed out. tc Cs|iƒ}yt|dƒ|_Wn)tj od|_d|dd+nX|d|_d|_|idjo'|d\|_|_|_ |_ dS|d|_|idjp |idjp|idjo8|d \|_|_ |_ |_ |_|_ |_ n|id jp|id jo2|d \|_|_|_|_ |_ |_ nÅ|id jp |id jp|idjo&|d \|_|_ |_ |_ no|idjp|idjo;|d idƒ\|_|_|iid|ƒ|_ntd|iƒ‚d|ijo9|iid|ƒ|_|i|jo d|_q‹ntii||iƒ|_dS(Niit1tiitftetvitbtctdtxtptltst=s$BASEDIRsInvalid file type: (tsplittinttpartt ValueErrorttypetNonetklasstpathnametsizetchksumtmodtimetmodetownertgrouptmajortminorttargettreplacetostpathtjoin(tselftlinetbasedirtarray((s1/usr/lib/python2.6/vendor-packages/pkg/sysvpkg.pyt__init__;s6    " 08 20& (t__name__t __module__t__doc__R+(((s1/usr/lib/python2.6/vendor-packages/pkg/sysvpkg.pyR4stMultiPackageDatastreamExceptioncBseZRS((R,R-(((s1/usr/lib/python2.6/vendor-packages/pkg/sysvpkg.pyR/lscBs2eZdZd„Zd„Zd„Zd„ZRS(sDA SolarisPackage represents a System V package for Solaris. c CsÎtii|ƒot|ƒ}|iƒiƒtjo |}nš|idƒyBti d|ƒ}|iƒi ƒtjo |}n t d‚WnGt j o;}|i ddjo‚qÛ|i ƒtd|‚nXg}xGto?|iƒi ƒ}|tjoPn||iƒdg7}qäWt|ƒdjo td|t|ƒfƒ‚n|i|iƒd|iƒdƒtid d d|ƒ|_xu|iD]j}|iid ƒo|ii|ƒiƒ|_q¨|iid ƒo|ii|ƒiƒ|_q¨q¨W|iiƒ|_nd|_||_|i ƒ|_!y@|i!d ddjpt"‚|i!d di dƒ|_#Wnt$j od|_#nX|i%ƒ|_&|i'ƒ|_(dS(s*The constructor for the SolarisPackage class. The "path" argument may be a directory -- in which case it is assumed to be a directory-format package -- or a file -- in which case it's tested whether or not it's a datastream package. itfileobjs not a packagesNot a gzipped files%s is not a packageis%s contains %s packagesiRsr|s/pkginfos/pkgmaptBASEDIRt/RN(sNot a gzipped files not a package()R$R%tisfiletopentreadlinetstript PKG_MAGICtseektgziptGzipFiletrstriptIOErrortargstcloseRtTruet PKG_HDR_ENDRtlenR/ttellRt datastreamtnametendswitht extractfilet readlinest_pkginfot_pkgmaptget_next_archiveRtpkgpathtreadPkginfoFiletpkginfotAssertionErrorR)tKeyErrortreadDependFiletdepstreadPkgmapFiletmanifest( R'R%RtfotgRtpkgsR(tci((s1/usr/lib/python2.6/vendor-packages/pkg/sysvpkg.pyR+ys^         % #  !c Cs*|iogSyt|idƒ}Wn3tj o'\}}|tijogS‚nXg}xÁ|D]¹}|idƒ}t|ƒdjp|ddjoqin|ddjohy|iddƒ\}}}Wn%t j o|iƒ\}}nX|t |i d|ƒg7}qiqiW|S(Ns/install/depends it#tPitPKG( RCtfileRKR<terrnotENOENTR;RARRRRRM( R'tfpterrtmsgRQR(Rtpkgtdesc((s1/usr/lib/python2.6/vendor-packages/pkg/sysvpkg.pyRPÃs* $%cCs!h}|io |i}nt|idƒ}x­|D]¥}|iƒidƒ}t|ƒdjoq7n|ddjo4|idƒo|idƒiƒ|d%s2     8 ¥