diff --git a/AUTHORS b/AUTHORS index 67aa1eb22..2357873b9 100644 --- a/AUTHORS +++ b/AUTHORS @@ -80,3 +80,4 @@ List of contributors, in chronological order: * Roman Lebedev (https://github.com/LebedevRI) * Brian Witt (https://github.com/bwitt) * Ales Bregar (https://github.com/abregar) +* Zhang Xiao (https://github.com/xzhang1) diff --git a/api/publish.go b/api/publish.go index 54dafce54..334a27a26 100644 --- a/api/publish.go +++ b/api/publish.go @@ -186,6 +186,8 @@ type publishedRepoCreateParams struct { SignedBy *string ` json:"SignedBy" example:""` // Enable multiple packages with the same filename in different distributions MultiDist *bool ` json:"MultiDist" example:"false"` + // Version of the release + Version string ` json:"Version" example:""` } // @Summary Create Published Repository @@ -361,6 +363,10 @@ func apiPublishRepoOrSnapshot(c *gin.Context) { published.SignedBy = *b.SignedBy } + if b.Version != "" { + published.Version = b.Version + } + duplicate := collection.CheckDuplicate(published) if duplicate != nil { _ = collectionFactory.PublishedRepoCollection().LoadComplete(duplicate, collectionFactory) @@ -404,6 +410,8 @@ type publishedRepoUpdateSwitchParams struct { Label *string ` json:"Label" example:"Debian"` // Value of Origin: field in published repository stanza Origin *string ` json:"Origin" example:"Debian"` + // Version of the release: Optional + Version *string ` json:"Version" example:"13.3"` } // @Summary Update Published Repository @@ -503,6 +511,10 @@ func apiPublishUpdateSwitch(c *gin.Context) { published.Origin = *b.Origin } + if b.Version != nil { + published.Version = *b.Version + } + resources := []string{string(published.Key())} taskName := fmt.Sprintf("Update published %s repository %s/%s", published.SourceKind, published.StoragePrefix(), published.Distribution) maybeRunTaskInBackground(c, taskName, resources, func(out aptly.Progress, _ *task.Detail) (*task.ProcessReturnValue, error) { @@ -1000,6 +1012,8 @@ type publishedRepoUpdateParams struct { Label *string ` json:"Label" example:"Debian"` // Value of Origin: field in published repository stanza Origin *string ` json:"Origin" example:"Debian"` + // Version of the release: Optional + Version *string ` json:"Version" example:"13.3"` } // @Summary Update Published Repository @@ -1080,6 +1094,10 @@ func apiPublishUpdate(c *gin.Context) { published.Origin = *b.Origin } + if b.Version != nil { + published.Version = *b.Version + } + resources := []string{string(published.Key())} taskName := fmt.Sprintf("Update published %s repository %s/%s", published.SourceKind, published.StoragePrefix(), published.Distribution) maybeRunTaskInBackground(c, taskName, resources, func(out aptly.Progress, _ *task.Detail) (*task.ProcessReturnValue, error) { diff --git a/cmd/publish_repo.go b/cmd/publish_repo.go index a088b40ef..e398c4a47 100644 --- a/cmd/publish_repo.go +++ b/cmd/publish_repo.go @@ -53,6 +53,7 @@ Example: cmd.Flag.Bool("acquire-by-hash", false, "provide index files by hash") cmd.Flag.String("signed-by", "", "an optional field containing a comma separated list of OpenPGP key fingerprints to be used for validating the next Release file") cmd.Flag.Bool("multi-dist", false, "enable multiple packages with the same filename in different distributions") + cmd.Flag.String("version", "", "version of the release") return cmd } diff --git a/cmd/publish_snapshot.go b/cmd/publish_snapshot.go index 67f3c009a..90939f2dc 100644 --- a/cmd/publish_snapshot.go +++ b/cmd/publish_snapshot.go @@ -158,6 +158,10 @@ func aptlyPublishSnapshotOrRepo(cmd *commander.Command, args []string) error { published.MultiDist = context.Flags().Lookup("multi-dist").Value.Get().(bool) } + if context.Flags().IsSet("version") { + published.Version = context.Flags().Lookup("version").Value.String() + } + duplicate := collectionFactory.PublishedRepoCollection().CheckDuplicate(published) if duplicate != nil { _ = collectionFactory.PublishedRepoCollection().LoadComplete(duplicate, collectionFactory) @@ -252,6 +256,7 @@ Example: cmd.Flag.Bool("force-overwrite", false, "overwrite files in package pool in case of mismatch") cmd.Flag.Bool("acquire-by-hash", false, "provide index files by hash") cmd.Flag.String("signed-by", "", "an optional field containing a comma separated list of OpenPGP key fingerprints to be used for validating the next Release file") + cmd.Flag.String("version", "", "version of the release") cmd.Flag.Bool("multi-dist", false, "enable multiple packages with the same filename in different distributions") return cmd diff --git a/cmd/publish_switch.go b/cmd/publish_switch.go index 77e6a32e0..20bf5caae 100644 --- a/cmd/publish_switch.go +++ b/cmd/publish_switch.go @@ -103,6 +103,10 @@ func aptlyPublishSwitch(cmd *commander.Command, args []string) error { published.SignedBy = context.Flags().Lookup("signed-by").Value.String() } + if context.Flags().IsSet("version") { + published.Version = context.Flags().Lookup("version").Value.String() + } + if context.Flags().IsSet("multi-dist") { published.MultiDist = context.Flags().Lookup("multi-dist").Value.Get().(bool) } @@ -167,6 +171,7 @@ This command would switch published repository (with one component) named ppa/wh cmd.Flag.String("component", "", "component names to update (for multi-component publishing, separate components with commas)") cmd.Flag.Bool("force-overwrite", false, "overwrite files in package pool in case of mismatch") cmd.Flag.String("signed-by", "", "an optional field containing a comma separated list of OpenPGP key fingerprints to be used for validating the next Release file") + cmd.Flag.String("version", "", "version of the release") cmd.Flag.Bool("skip-cleanup", false, "don't remove unreferenced files in prefix/component") cmd.Flag.Bool("multi-dist", false, "enable multiple packages with the same filename in different distributions") diff --git a/cmd/publish_update.go b/cmd/publish_update.go index 384847c3a..ab38d6496 100644 --- a/cmd/publish_update.go +++ b/cmd/publish_update.go @@ -76,6 +76,10 @@ func aptlyPublishUpdate(cmd *commander.Command, args []string) error { published.MultiDist = context.Flags().Lookup("multi-dist").Value.Get().(bool) } + if context.Flags().IsSet("version") { + published.Version = context.Flags().Lookup("version").Value.String() + } + err = published.Publish(context.PackagePool(), context, collectionFactory, signer, context.Progress(), forceOverwrite, context.SkelPath()) if err != nil { return fmt.Errorf("unable to publish: %s", err) @@ -142,6 +146,7 @@ Example: cmd.Flag.Bool("multi-dist", false, "enable multiple packages with the same filename in different distributions") cmd.Flag.String("origin", "", "overwrite origin name to publish") cmd.Flag.String("label", "", "overwrite label to publish") + cmd.Flag.String("version", "", "version of the release") return cmd } diff --git a/deb/publish.go b/deb/publish.go index 136809fef..a45780d5f 100644 --- a/deb/publish.go +++ b/deb/publish.go @@ -54,6 +54,7 @@ type PublishedRepo struct { Label string Suite string Codename string + Version string // Architectures is a list of all architectures published Architectures []string // SourceKind is "local"/"repo" @@ -525,6 +526,7 @@ func (p *PublishedRepo) MarshalJSON() ([]byte, error) { "Origin": p.Origin, "Suite": p.Suite, "Codename": p.Codename, + "Version": p.Version, "NotAutomatic": p.NotAutomatic, "ButAutomaticUpgrades": p.ButAutomaticUpgrades, "Prefix": p.Prefix, @@ -1079,6 +1081,9 @@ func (p *PublishedRepo) Publish(packagePool aptly.PackagePool, publishedStorageP if p.SignedBy != "" { release["Signed-By"] = p.SignedBy } + if p.Version != "" { + release["Version"] = p.Version + } var bufWriter *bufio.Writer bufWriter, err = indexes.ReleaseIndex(component, arch, udeb).BufWriter() @@ -1151,6 +1156,9 @@ func (p *PublishedRepo) Publish(packagePool aptly.PackagePool, publishedStorageP // Let's use a century as a "forever" value. release["Valid-Until"] = date_now.AddDate(100, 0, 0).Format(datetime_format) } + if p.Version != "" { + release["Version"] = p.Version + } release["Description"] = " Generated by aptly\n" release["MD5Sum"] = "" release["SHA1"] = "" diff --git a/man/aptly.1 b/man/aptly.1 index 5bd1581eb..1c2ddc882 100644 --- a/man/aptly.1 +++ b/man/aptly.1 @@ -1569,6 +1569,10 @@ Options: set value for Signed-By field . .TP +\-\fBversion\fR +version of the release +. +.TP \-\fBacquire\-by\-hash\fR provide index files by hash . @@ -1714,6 +1718,10 @@ Options: set value for Signed-By field . .TP +\-\fBversion\fR +version of the release +. +.TP \-\fBacquire\-by\-hash\fR provide index files by hash . @@ -2187,6 +2195,10 @@ Options: set value for Signed-By field . .TP +\-\fBversion\fR +version of the release +. +.TP \-\fBbatch\fR run GPG with detached tty . diff --git a/system/t06_publish/PublishList5Test_gold b/system/t06_publish/PublishList5Test_gold index 2474d7ab0..16a424fe3 100644 --- a/system/t06_publish/PublishList5Test_gold +++ b/system/t06_publish/PublishList5Test_gold @@ -24,7 +24,8 @@ } ], "Storage": "", - "Suite": "" + "Suite": "", + "Version": "" }, { "AcquireByHash": false, @@ -50,7 +51,8 @@ } ], "Storage": "", - "Suite": "" + "Suite": "", + "Version": "" }, { "AcquireByHash": false, @@ -77,7 +79,8 @@ } ], "Storage": "", - "Suite": "" + "Suite": "", + "Version": "" }, { "AcquireByHash": false, @@ -104,6 +107,7 @@ } ], "Storage": "", - "Suite": "" + "Suite": "", + "Version": "" } ] diff --git a/system/t06_publish/PublishRepo36Test_gold b/system/t06_publish/PublishRepo36Test_gold new file mode 100644 index 000000000..c44a11e05 --- /dev/null +++ b/system/t06_publish/PublishRepo36Test_gold @@ -0,0 +1,14 @@ +Loading packages... +Generating metadata files and linking package files... +Finalizing metadata files... +Signing file 'Release' with gpg, please enter your passphrase when prompted: +Clearsigning file 'Release' with gpg, please enter your passphrase when prompted: + +Local repo local-repo has been successfully published. +Please setup your webserver to serve directory '${HOME}/.aptly/public' with autoindexing. +Now you can add following line to apt sources: + deb http://your-server/ maverick contrib + deb-src http://your-server/ maverick contrib +Don't forget to add your GPG key to apt with apt-key. + +You can also use `aptly serve` to publish your repositories over HTTP quickly. diff --git a/system/t06_publish/PublishRepo36Test_release b/system/t06_publish/PublishRepo36Test_release new file mode 100644 index 000000000..3a17a135c --- /dev/null +++ b/system/t06_publish/PublishRepo36Test_release @@ -0,0 +1,12 @@ +Origin: . maverick +Label: label36 +Suite: maverick +Version: 13.3 +Codename: maverick +Architectures: i386 +Components: contrib +Description: Generated by aptly +MD5Sum: +SHA1: +SHA256: +SHA512: diff --git a/system/t06_publish/PublishShow3Test_gold b/system/t06_publish/PublishShow3Test_gold index e4879a475..19b0ca615 100644 --- a/system/t06_publish/PublishShow3Test_gold +++ b/system/t06_publish/PublishShow3Test_gold @@ -23,5 +23,6 @@ } ], "Storage": "", - "Suite": "" + "Suite": "", + "Version": "" } diff --git a/system/t06_publish/PublishShow4Test_gold b/system/t06_publish/PublishShow4Test_gold index a71b98af9..d10af83a2 100644 --- a/system/t06_publish/PublishShow4Test_gold +++ b/system/t06_publish/PublishShow4Test_gold @@ -23,5 +23,6 @@ } ], "Storage": "", - "Suite": "" + "Suite": "", + "Version": "" } diff --git a/system/t06_publish/PublishSnapshot24Test_release b/system/t06_publish/PublishSnapshot24Test_release index 139bc67b6..aac2e82a8 100644 --- a/system/t06_publish/PublishSnapshot24Test_release +++ b/system/t06_publish/PublishSnapshot24Test_release @@ -1,6 +1,7 @@ Origin: aptly24 Label: . squeeze Suite: squeeze +Version: 13.3 Codename: squeeze NotAutomatic: yes ButAutomaticUpgrades: yes diff --git a/system/t06_publish/PublishSwitch17Test_release b/system/t06_publish/PublishSwitch17Test_release index 119dafce2..2a75b16c0 100644 --- a/system/t06_publish/PublishSwitch17Test_release +++ b/system/t06_publish/PublishSwitch17Test_release @@ -1,6 +1,7 @@ Origin: LP-PPA-gladky-anton-gnuplot Label: . maverick Suite: maverick +Version: 13.3 Codename: maverick Signed-By: a,string Architectures: amd64 i386 diff --git a/system/t06_publish/PublishUpdate20Test_release b/system/t06_publish/PublishUpdate20Test_release index 0ab5dd0ab..da731437c 100644 --- a/system/t06_publish/PublishUpdate20Test_release +++ b/system/t06_publish/PublishUpdate20Test_release @@ -1,6 +1,7 @@ Origin: earth Label: fun Suite: maverick +Version: 13.3 Codename: maverick Architectures: i386 Components: main diff --git a/system/t06_publish/PublishUpdate21Test_gold b/system/t06_publish/PublishUpdate21Test_gold new file mode 100644 index 000000000..3be101c49 --- /dev/null +++ b/system/t06_publish/PublishUpdate21Test_gold @@ -0,0 +1,9 @@ +Loading packages... +Generating metadata files and linking package files... +Finalizing metadata files... +Signing file 'Release' with gpg, please enter your passphrase when prompted: +Clearsigning file 'Release' with gpg, please enter your passphrase when prompted: +Cleaning up published repository ./maverick... +Cleaning up component 'main'... + +Published local repository ./maverick [i386, source] publishes {main: [local-repo]} has been updated successfully. diff --git a/system/t06_publish/PublishUpdate21Test_release b/system/t06_publish/PublishUpdate21Test_release new file mode 100644 index 000000000..78154c5ba --- /dev/null +++ b/system/t06_publish/PublishUpdate21Test_release @@ -0,0 +1,11 @@ +Origin: . maverick +Label: . maverick +Suite: maverick +Codename: maverick +Architectures: i386 +Components: main +Description: Generated by aptly +MD5Sum: +SHA1: +SHA256: +SHA512: diff --git a/system/t06_publish/repo.py b/system/t06_publish/repo.py index 115b28495..5edc10396 100644 --- a/system/t06_publish/repo.py +++ b/system/t06_publish/repo.py @@ -970,3 +970,22 @@ def check(self): # verify contents except of sums self.check_file_contents( 'public/dists/maverick/Release', 'release', match_prepare=strip_processor) + + +class PublishRepo36Test(BaseTest): + """ + publish repo: custom version + """ + fixtureCmds = [ + "aptly repo create local-repo", + "aptly repo add local-repo ${files}", + ] + runCmd = "aptly publish repo -keyring=${files}/aptly.pub -secret-keyring=${files}/aptly.sec -distribution=maverick -component=contrib -label=label36 -version=13.3 local-repo" + gold_processor = BaseTest.expand_environ + + def check(self): + super(PublishRepo36Test, self).check() + + # verify contents except of sums + self.check_file_contents( + 'public/dists/maverick/Release', 'release', match_prepare=strip_processor) diff --git a/system/t06_publish/snapshot.py b/system/t06_publish/snapshot.py index b35d6f344..3dcdf6fe8 100644 --- a/system/t06_publish/snapshot.py +++ b/system/t06_publish/snapshot.py @@ -690,7 +690,7 @@ class PublishSnapshot23Test(BaseTest): class PublishSnapshot24Test(BaseTest): """ - publish snapshot: custom origin, notautomatic and butautomaticupgrades + publish snapshot: custom origin, version, notautomatic and butautomaticupgrades """ fixtureDB = True fixturePool = True @@ -698,7 +698,7 @@ class PublishSnapshot24Test(BaseTest): "aptly snapshot create snap24 from mirror gnuplot-maverick", ] sortOutput = True - runCmd = "aptly publish snapshot -keyring=${files}/aptly.pub -secret-keyring=${files}/aptly.sec -distribution=squeeze -origin=aptly24 -notautomatic=yes -butautomaticupgrades=yes snap24" + runCmd = "aptly publish snapshot -keyring=${files}/aptly.pub -secret-keyring=${files}/aptly.sec -distribution=squeeze -origin=aptly24 -version=13.3 -notautomatic=yes -butautomaticupgrades=yes snap24" gold_processor = BaseTest.expand_environ def check(self): diff --git a/system/t06_publish/switch.py b/system/t06_publish/switch.py index 77b950e58..4dae4ace9 100644 --- a/system/t06_publish/switch.py +++ b/system/t06_publish/switch.py @@ -607,7 +607,7 @@ def check(self): class PublishSwitch17Test(BaseTest): """ - publish switch: signed-by + publish switch: signed-by, version """ fixtureDB = True fixturePool = True @@ -616,7 +616,7 @@ class PublishSwitch17Test(BaseTest): "aptly snapshot create snap2 from mirror gnuplot-maverick", "aptly publish snapshot -keyring=${files}/aptly.pub -secret-keyring=${files}/aptly.sec -distribution=maverick snap1", ] - runCmd = "aptly publish switch -keyring=${files}/aptly.pub -secret-keyring=${files}/aptly.sec -signed-by=a,string maverick snap2" + runCmd = "aptly publish switch -keyring=${files}/aptly.pub -secret-keyring=${files}/aptly.sec -signed-by=a,string -version=13.3 maverick snap2" gold_processor = BaseTest.expand_environ def check(self): diff --git a/system/t06_publish/update.py b/system/t06_publish/update.py index 47663d22a..b7cbf1139 100644 --- a/system/t06_publish/update.py +++ b/system/t06_publish/update.py @@ -629,7 +629,7 @@ def check(self): class PublishUpdate20Test(BaseTest): """ - publish update: update label and origin + publish update: update label, origin, version """ fixtureCmds = [ "aptly repo create local-repo", @@ -637,7 +637,7 @@ class PublishUpdate20Test(BaseTest): "aptly publish repo -keyring=${files}/aptly.pub -secret-keyring=${files}/aptly.sec -distribution=maverick -skip-bz2 local-repo", "aptly repo remove local-repo pyspi" ] - runCmd = "aptly publish update -keyring=${files}/aptly.pub -secret-keyring=${files}/aptly.sec -label=fun -origin=earth maverick" + runCmd = "aptly publish update -keyring=${files}/aptly.pub -secret-keyring=${files}/aptly.sec -label=fun -origin=earth -version=13.3 maverick" gold_processor = BaseTest.expand_environ def check(self): @@ -647,3 +647,25 @@ def check(self): # verify contents except of sums self.check_file_contents('public/dists/maverick/Release', 'release', match_prepare=strip_processor) + + +class PublishUpdate21Test(BaseTest): + """ + publish update: update version with empty value + """ + fixtureCmds = [ + "aptly repo create local-repo", + "aptly repo add local-repo ${files}/", + "aptly publish repo -keyring=${files}/aptly.pub -secret-keyring=${files}/aptly.sec -distribution=maverick -skip-bz2 -version=13.3 local-repo", + "aptly repo remove local-repo pyspi" + ] + runCmd = "aptly publish update -keyring=${files}/aptly.pub -secret-keyring=${files}/aptly.sec -version='' maverick" + gold_processor = BaseTest.expand_environ + + def check(self): + super(PublishUpdate21Test, self).check() + + self.check_exists('public/dists/maverick/InRelease') + + # verify contents except of sums + self.check_file_contents('public/dists/maverick/Release', 'release', match_prepare=strip_processor) diff --git a/system/t12_api/publish.py b/system/t12_api/publish.py index fe74003f1..964a71a9f 100644 --- a/system/t12_api/publish.py +++ b/system/t12_api/publish.py @@ -48,6 +48,7 @@ def check(self): 'Distribution': 'wheezy', 'Label': '', 'Origin': '', + 'Version': '', 'NotAutomatic': '', 'ButAutomaticUpgrades': '', 'Path': prefix + '/' + 'wheezy', @@ -94,6 +95,7 @@ def check(self): 'Distribution': distribution, 'Label': '', 'Origin': '', + 'Version': '', 'NotAutomatic': '', 'ButAutomaticUpgrades': '', 'Path': './' + distribution, @@ -166,6 +168,7 @@ def check(self): 'Distribution': 'bookworm', 'Label': '', 'Origin': '', + 'Version': '', 'NotAutomatic': '', 'ButAutomaticUpgrades': '', 'Path': prefix + '/' + 'bookworm', @@ -232,6 +235,7 @@ def check(self): 'Distribution': 'wheezy', 'Label': '', 'Origin': '', + 'Version': '', 'NotAutomatic': '', 'ButAutomaticUpgrades': '', 'Path': prefix + '/' + 'wheezy', @@ -283,6 +287,7 @@ def check(self): "ButAutomaticUpgrades": "yes", "Origin": "earth", "Label": "fun", + "Version": "13.3", } ) self.check_task(task) @@ -299,6 +304,7 @@ def check(self): 'Distribution': 'squeeze', 'Label': 'fun', 'Origin': 'earth', + "Version": "13.3", 'MultiDist': False, 'NotAutomatic': 'yes', 'ButAutomaticUpgrades': 'yes', @@ -377,6 +383,7 @@ def check(self): 'Distribution': 'squeeze', 'Label': 'fun', 'Origin': 'earth', + 'Version': '', 'MultiDist': False, 'NotAutomatic': 'yes', 'ButAutomaticUpgrades': 'yes', @@ -441,12 +448,13 @@ def check(self): json={"PackageRefs": ['Psource pyspi 0.6.1-1.4 f8f1daa806004e89']}) self.check_task(task) - # Update and switch AcquireByHash on. + # Update and switch AcquireByHash on, Version. task = self.put_task( "/api/publish/" + prefix + "/wheezy", json={ "AcquireByHash": True, "Signing": DefaultSigningOptions, + "Version": "13.3" } ) self.check_task(task) @@ -457,6 +465,7 @@ def check(self): 'Distribution': 'wheezy', 'Label': '', 'Origin': '', + 'Version': '13.3', 'NotAutomatic': '', 'ButAutomaticUpgrades': '', 'Path': prefix + '/' + 'wheezy', @@ -549,6 +558,7 @@ def check(self): 'Distribution': 'wheezy', 'Label': '', 'Origin': '', + 'Version': '', 'NotAutomatic': '', 'ButAutomaticUpgrades': '', 'Path': prefix + '/' + 'wheezy', @@ -629,6 +639,7 @@ def check(self): 'Distribution': 'bookworm', 'Label': '', 'Origin': '', + 'Version': '', 'NotAutomatic': '', 'ButAutomaticUpgrades': '', 'Path': prefix + '/' + 'bookworm', @@ -731,6 +742,7 @@ def _do_update(result, index): 'Distribution': 'wheezy', 'Label': '', 'Origin': '', + 'Version': '', 'NotAutomatic': '', 'ButAutomaticUpgrades': '', 'Path': prefix + '/' + 'wheezy', @@ -830,6 +842,7 @@ def check(self): 'Distribution': 'wheezy', 'Label': '', 'Origin': '', + 'Version': '', 'NotAutomatic': '', 'ButAutomaticUpgrades': '', 'Path': prefix + '/' + 'wheezy', @@ -901,6 +914,7 @@ def check(self): 'NotAutomatic': '', 'ButAutomaticUpgrades': '', 'Origin': '', + 'Version': '', 'Path': prefix + '/' + 'wheezy', 'Prefix': prefix, 'SignedBy': '', @@ -941,6 +955,7 @@ def check(self): "SkipContents": True, "Label": "fun", "Origin": "earth", + "Version": "13.3", }) self.check_task(task) repo_expected = { @@ -950,6 +965,7 @@ def check(self): 'Distribution': 'wheezy', 'Label': 'fun', 'Origin': 'earth', + 'Version': '13.3', 'NotAutomatic': '', 'ButAutomaticUpgrades': '', 'Path': prefix + '/' + 'wheezy', @@ -1017,6 +1033,7 @@ def check(self): 'Codename': '', 'Distribution': 'wheezy', 'Label': '', + 'Version': '', 'NotAutomatic': '', 'ButAutomaticUpgrades': '', 'Origin': '', @@ -1053,6 +1070,7 @@ def check(self): 'Distribution': 'wheezy', 'Label': '', 'Origin': '', + 'Version': '', 'NotAutomatic': '', 'ButAutomaticUpgrades': '', 'Path': prefix + '/' + 'wheezy', @@ -1113,6 +1131,7 @@ def check(self): 'NotAutomatic': '', 'ButAutomaticUpgrades': '', 'Origin': '', + 'Version': '', 'Path': prefix + '/' + 'wheezy', 'Prefix': prefix, 'SignedBy': '', @@ -1152,6 +1171,7 @@ def check(self): 'NotAutomatic': '', 'ButAutomaticUpgrades': '', 'Origin': '', + 'Version': '', 'Path': prefix + '/' + 'otherdist', 'Prefix': prefix, 'SignedBy': '', @@ -1194,6 +1214,7 @@ def check(self): 'Distribution': 'wheezy', 'Label': '', 'Origin': '', + 'Version': '', 'NotAutomatic': '', 'ButAutomaticUpgrades': '', 'Path': prefix + '/' + 'wheezy', @@ -1258,6 +1279,7 @@ def check(self): 'NotAutomatic': '', 'ButAutomaticUpgrades': '', 'Origin': '', + 'Version': '', 'Path': prefix + '/' + 'wheezy', 'Prefix': prefix, 'SignedBy': '', @@ -1850,6 +1872,7 @@ def check(self): "SkipContents": True, "Label": "fun", "Origin": "earth", + "Version": "13.3", } ).status_code, 200) @@ -1860,6 +1883,7 @@ def check(self): 'Distribution': 'wheezy', 'Label': 'fun', 'Origin': 'earth', + 'Version': '13.3', 'NotAutomatic': '', 'ButAutomaticUpgrades': '', 'Path': prefix + '/' + 'wheezy', @@ -1915,6 +1939,7 @@ def check(self): 'Distribution': 'wheezy', 'Label': '', 'Origin': '', + 'Version': '', 'NotAutomatic': '', 'ButAutomaticUpgrades': '', 'Path': prefix + '/' + 'wheezy',