Git commit b6493ebe7db45c9a7e9ab510177bc75084ac8a01 by Patrick Spendrin. Committed on 15/10/2015 at 11:14. Pushed by sengels into branch 'master'. commit my changes M +3 -6 portage/package/test-package/main.wxs.template M +53 -15 portage/package/test-package/test-package.py http://commits.kde.org/emerge/b6493ebe7db45c9a7e9ab510177bc75084ac8a01 diff --git a/portage/package/test-package/main.wxs.template b/portage/packa= ge/test-package/main.wxs.template index 9529a8d..b31ffff 100644 --- a/portage/package/test-package/main.wxs.template +++ b/portage/package/test-package/main.wxs.template @@ -17,12 +17,9 @@ = - -${dependenciesCode} - -${qtFrameworksCode} - -${kfFrameworksCode} +${dependenciesCode} +${qtFrameworksCode} +${kfFrameworksCode} = diff --git a/portage/package/test-package/test-package.py b/portage/package= /test-package/test-package.py index a5ebf35..bee8500 100644 --- a/portage/package/test-package/test-package.py +++ b/portage/package/test-package/test-package.py @@ -57,7 +57,9 @@ class Package( VirtualPackageBase, CollectionPackagerBase= ): = = def getFeatureXML( self, wxs, package, description, hidden=3DFalse ): - componentRoot =3D wxs.createElement( "Feature" ) + if not wxs.ownerDocument: doc =3D wxs + else: doc =3D wxs.ownerDocument + componentRoot =3D doc.createElement( "Feature" ) = componentRoot.setAttribute( "Id", "%sFeature" % package.replace( '= -', '_' ) ) componentRoot.setAttribute( "Title", "%s" % package ) @@ -67,16 +69,11 @@ class Package( VirtualPackageBase, CollectionPackagerBa= se ): else: display =3D "collapse" componentRoot.setAttribute( "Display", display ) = - componentGroupRef =3D wxs.createElement( "ComponentGroupRef" ) + componentGroupRef =3D doc.createElement( "ComponentGroupRef" ) componentGroupRef.setAttribute( "Id", "%sComponentGroup" % package= .replace( '-', '_' ) ) componentRoot.appendChild( componentGroupRef ) = - componentlistString =3D StringIO() - componentRoot.writexml( componentlistString, " " * , " ", "\n" ) - s =3D componentlistString.getvalue() - componentlistString.close() - - return s + wxs.appendChild(componentRoot) = def generateDirectoryFragments( self ): wxs =3D Document() @@ -127,19 +124,50 @@ class Package( VirtualPackageBase, CollectionPackager= Base ): # run heat on all image directories _packages =3D self.__getPackages() = - binwxs =3D Document() - qt5wxs =3D Document() - kf5wxs =3D Document() + def generateFeature(base, id, title, description): + if not base.ownerDocument: base.ownerDocument =3D base + t =3D base.ownerDocument.createElement( "Feature" ) + t.setAttribute( "Id", id ) + t.setAttribute( "Title", title ) + t.setAttribute( "Description", description ) + t.setAttribute( "Level", "1" ) + return t + + binwxsdoc =3D Document() + qt5wxsdoc =3D Document() + kf5wxsdoc =3D Document() + + kf5wxs =3D generateFeature(kf5wxsdoc, 'KF5Frameworks', 'KF5 Framew= orks', 'The KDE Frameworks') + binwxs =3D generateFeature(binwxsdoc, 'Dependencies', 'the 3rdpart= y dependencies', 'the 3rdparty dependencies') + binwxs.setAttribute("Display", "hidden") + qt5wxs =3D generateFeature(qt5wxsdoc, 'Qt5Frameworks', 'Qt5 Framew= orks', 'The KDE build of Qt5KF5Frameworks') + tiers =3D dict() + _descriptions =3D { 'tier1': 'Tier 1 - only Qt dependencies', + 'tier2': 'Tier 2 - Qt and Tier 1 dependencies', + 'tier3': 'Tier 3 - Qt, Tier 1 and Tier 2 depende= ncies', + 'tier4': 'Tier 4 - Qt, Tier 1, Tier 2 and Tier 3= dependencies' } + for i in range( 4 ): + tiername =3D 'tier' + str( i + 1 ) + print( tiername ) + t =3D generateFeature( kf5wxs, tiername, "Tier " + str( i + 1 = ), _descriptions[ tiername ] ) + print( t ) + kf5wxs.appendChild( t ) + tiers[ tiername ] =3D t + for package in _packages: - if not package.package in frameworks and package.category !=3D= "libs": + tiername, _ =3D portage.getSubPackage( package.category, packa= ge.package ) + if not (tiername and tiername.startswith("tier")) and package.= category !=3D "libs": basePackages.append( package.package ) - dependenciesCode +=3D self.getFeatureXML( binwxs, package.= package, package.subinfo.shortDescription, True ) + self.getFeatureXML( binwxs, package.package, package.subin= fo.shortDescription, True ) elif package.category =3D=3D "libs": qtFrameworks.append( package.package ) - qtFrameworksCode +=3D self.getFeatureXML( qt5wxs, package.= package, package.subinfo.shortDescription ) + self.getFeatureXML( qt5wxs, package.package, package.subin= fo.shortDescription ) else: # assume this is a kf5 framework - kfFrameworksCode +=3D self.getFeatureXML( kf5wxs, package.= package, package.subinfo.shortDescription ) + if tiername in tiers: + self.getFeatureXML( tiers[ tiername ], package.package= , package.subinfo.shortDescription ) + else: + self.getFeatureXML( kf5wxs, package.package, package.s= ubinfo.shortDescription ) = package.changePackager( "MSIFragmentPackager" ) package.outDestination =3D self.imageDir() @@ -171,6 +199,16 @@ class Package( VirtualPackageBase, CollectionPackagerB= ase ): = iconCode =3D """""" iconCode =3D "" + = + s =3D StringIO() + qt5wxs.writexml(s, " " * 8, " " * 4, "\n") + qtFrameworksCode =3D s.getvalue() + s =3D StringIO() + kf5wxs.writexml(s, " " * 8, " " * 4, "\n") + kfFrameworksCode =3D s.getvalue() + s =3D StringIO() + binwxs.writexml(s, " " * 8, " " * 4, "\n") + dependenciesCode =3D s.getvalue() = substitutedScript =3D scriptTemplate.safe_substitute( { 'dependenc= iesCode': dependenciesCode, 'qtFrameworksCode': qtFrameworksCode, 'kfFramew= orksCode': kfFrameworksCode, 'iconCode': iconCode } ) =20