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