@@ -138,8 +138,9 @@ def setUp(self):
138
138
# Helper functions for creating packages/repository
139
139
#
140
140
141
- def createPackage (self , name , version , release , install = False ,
142
- postinst = None , depends = "" , content = None , arch = None , provides = None , ** updateinfo ):
141
+ def createPackage (self , name : str , version : str , release : str , * , install : bool = False ,
142
+ postinst : str | None = None , depends : str = "" , content : dict [str , dict [str , str ] | str ] | None = None ,
143
+ arch : str | None = None , provides : str | None = None , ** updateinfo : str ) -> None :
143
144
"""Create a dummy package in repo_dir on self.machine
144
145
145
146
If install is True, install the package. Otherwise, update the package
@@ -151,15 +152,16 @@ def createPackage(self, name, version, release, install=False,
151
152
provides = ""
152
153
153
154
if self .backend == "apt" :
154
- self .createDeb (name , version + '-' + release , depends , postinst , install , content , arch , provides )
155
+ self .createDeb (name , version + '-' + release , depends , postinst , install = install , content = content , arch = arch , provides = provides )
155
156
elif self .backend == "alpm" :
156
- self .createPacmanPkg (name , version , release , depends , postinst , install , content , arch , provides )
157
+ self .createPacmanPkg (name , version , release , depends , postinst , install = install , content = content , arch = arch , provides = provides )
157
158
else :
158
- self .createRpm (name , version , release , depends , postinst , install , content , arch , provides )
159
+ self .createRpm (name , version , release , depends , postinst , install = install , content = content , arch = arch , provides = provides )
159
160
if updateinfo :
160
161
self .updateInfo [name , version , release ] = updateinfo
161
162
162
- def createDeb (self , name , version , depends , postinst , install , content , arch , provides ):
163
+ def createDeb (self , name : str , version : str , depends : str , postinst : str | None = None , * , install : bool ,
164
+ content : dict [str , dict [str , str ] | str ] | None = None , arch : str | None = None , provides : str | None = None ) -> None :
163
165
"""Create a dummy deb in repo_dir on self.machine
164
166
165
167
If install is True, install the package. Otherwise, update the package
@@ -206,7 +208,8 @@ def createDeb(self, name, version, depends, postinst, install, content, arch, pr
206
208
m .execute (cmd )
207
209
self .addCleanup (m .execute , f"dpkg -P --force-depends --force-remove-reinstreq { name } 2>/dev/null || true" )
208
210
209
- def createRpm (self , name , version , release , requires , post , install , content , arch , provides ):
211
+ def createRpm (self , name : str , version : str , release : str , requires : str , post : str | None = None , * , install : bool ,
212
+ content : dict [str , dict [str , str ] | str ] | None = None , arch : str | None = None , provides : str | None = None ) -> None :
210
213
"""Create a dummy rpm in repo_dir on self.machine
211
214
212
215
If install is True, install the package. Otherwise, update the package
@@ -267,7 +270,8 @@ def createRpm(self, name, version, release, requires, post, install, content, ar
267
270
self .machine .execute (cmd .format (self .repo_dir , name , version , release , arch ))
268
271
self .addCleanup (self .machine .execute , f"rpm -e --nodeps { name } 2>/dev/null || true" )
269
272
270
- def createPacmanPkg (self , name , version , release , requires , postinst , install , content , arch , provides ):
273
+ def createPacmanPkg (self , name : str , version : str , release : str , requires : str , postinst : str | None = None , * , install : bool ,
274
+ content : dict [str , dict [str , str ] | str ] | None = None , arch : str | None = None , provides : str | None = None ) -> None :
271
275
"""Create a dummy pacman package in repo_dir on self.machine
272
276
273
277
If install is True, install the package. Otherwise, update the package
@@ -348,7 +352,7 @@ def createPacmanPkg(self, name, version, release, requires, postinst, install, c
348
352
self .machine .execute (cmd )
349
353
self .addCleanup (self .machine .execute , f"pacman -Rdd --noconfirm { name } 2>/dev/null || true" )
350
354
351
- def createAptChangelogs (self ):
355
+ def createAptChangelogs (self ) -> None :
352
356
# apt metadata has no formal field for bugs/CVEs, they are parsed from the changelog
353
357
for ((pkg , ver , rel ), info ) in self .updateInfo .items ():
354
358
changes = info .get ("changes" , "some changes" )
@@ -366,7 +370,7 @@ def createAptChangelogs(self):
366
370
"""
367
371
self .machine .execute (f"mkdir -p $(dirname { path } ); echo '{ contents } ' > { path } " )
368
372
369
- def createYumUpdateInfo (self ):
373
+ def createYumUpdateInfo (self ) -> str :
370
374
xml = '<?xml version="1.0" encoding="UTF-8"?>\n <updates>\n '
371
375
for ((pkg , ver , rel ), info ) in self .updateInfo .items ():
372
376
refs = ""
@@ -402,10 +406,10 @@ def createYumUpdateInfo(self):
402
406
xml += '</updates>\n '
403
407
return xml
404
408
405
- def addPackageSet (self , name ) :
409
+ def addPackageSet (self , name : str ) -> None :
406
410
self .machine .execute (f"mkdir -p { self .repo_dir } ; cp /var/lib/package-sets/{ name } /* { self .repo_dir } " )
407
411
408
- def enableRepo (self ):
412
+ def enableRepo (self ) -> None :
409
413
if self .backend == "apt" :
410
414
self .createAptChangelogs ()
411
415
self .machine .execute (f"""echo 'deb [trusted=yes] file://{ self .repo_dir } /' > /etc/apt/sources.list.d/test.list
0 commit comments