Allow publishing of empty snapshots and local repos. #55

This commit is contained in:
Andrey Smirnov
2014-05-31 21:13:30 +04:00
parent bcdfb7d99a
commit e1dbab6988
8 changed files with 93 additions and 8 deletions
+2 -1
View File
@@ -1,2 +1,3 @@
Warning: publishing from empty source, architectures list should be complete, it can't be changed after publishing (use -architectures flag)
Loading packages...
ERROR: unable to publish: source is empty
ERROR: unable to publish: unable to figure out list of architectures, please supply explicit list
+14
View File
@@ -0,0 +1,14 @@
Warning: publishing from empty source, architectures list should be complete, it can't be changed after publishing (use -architectures flag)
Loading packages...
Generating metadata files and linking package files...
Signing file '${HOME}/.aptly/public/dists/maverick/Release' with gpg, please enter your passphrase when prompted:
Clearsigning file '${HOME}/.aptly/public/dists/maverick/Release' with gpg, please enter your passphrase when prompted:
Local repo local-repo has been successfully published.
Please setup your webserver to serve directory '/Users/smira/.aptly/public' with autoindexing.
Now you can add following line to apt sources:
deb http://your-server/ maverick main
deb-src http://your-server/ maverick main
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.
@@ -1,2 +1,3 @@
Warning: publishing from empty source, architectures list should be complete, it can't be changed after publishing (use -architectures flag)
Loading packages...
ERROR: unable to publish: source is empty
ERROR: unable to publish: unable to figure out list of architectures, please supply explicit list
@@ -0,0 +1,13 @@
Warning: publishing from empty source, architectures list should be complete, it can't be changed after publishing (use -architectures flag)
Loading packages...
Generating metadata files and linking package files...
Signing file '${HOME}/.aptly/public/dists/maverick/Release' with gpg, please enter your passphrase when prompted:
Clearsigning file '${HOME}/.aptly/public/dists/maverick/Release' with gpg, please enter your passphrase when prompted:
Snapshot snap25 has been successfully published.
Please setup your webserver to serve directory '/Users/smira/.aptly/public' with autoindexing.
Now you can add following line to apt sources:
deb http://your-server/ maverick main
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.
+27 -1
View File
@@ -298,7 +298,7 @@ class PublishRepo12Test(BaseTest):
class PublishRepo13Test(BaseTest):
"""
publish repo: empty repo is not publishable
publish repo: empty repo is not publishable w/o architectures list
"""
fixtureDB = True
fixtureCmds = [
@@ -356,3 +356,29 @@ class PublishRepo15Test(BaseTest):
# verify contents except of sums
self.check_file_contents('public/dists/maverick/Release', 'release', match_prepare=strip_processor)
class PublishRepo16Test(BaseTest):
"""
publish repo: empty repo is publishable with architectures list
"""
fixtureDB = True
fixtureCmds = [
"aptly repo create local-repo",
]
runCmd = "aptly publish repo -keyring=${files}/aptly.pub -secret-keyring=${files}/aptly.sec -architectures=source,i386 --distribution=maverick local-repo"
gold_processor = BaseTest.expand_environ
def check(self):
super(PublishRepo16Test, self).check()
self.check_exists('public/dists/maverick/InRelease')
self.check_exists('public/dists/maverick/Release')
self.check_exists('public/dists/maverick/Release.gpg')
self.check_exists('public/dists/maverick/main/binary-i386/Packages')
self.check_exists('public/dists/maverick/main/binary-i386/Packages.gz')
self.check_exists('public/dists/maverick/main/binary-i386/Packages.bz2')
self.check_exists('public/dists/maverick/main/source/Sources')
self.check_exists('public/dists/maverick/main/source/Sources.gz')
self.check_exists('public/dists/maverick/main/source/Sources.bz2')
+27 -1
View File
@@ -322,7 +322,7 @@ class PublishSnapshot13Test(BaseTest):
class PublishSnapshot14Test(BaseTest):
"""
publish snapshot: empty snapshot is not publishable
publish snapshot: empty snapshot is not publishable w/o architectures list
"""
fixtureDB = True
fixtureCmds = [
@@ -575,3 +575,29 @@ class PublishSnapshot24Test(BaseTest):
# verify contents except of sums
self.check_file_contents('public/dists/squeeze/Release', 'release', match_prepare=strip_processor)
class PublishSnapshot25Test(BaseTest):
"""
publish snapshot: empty snapshot is publishable with architectures list
"""
fixtureDB = True
fixtureCmds = [
"aptly snapshot create snap25 empty",
]
runCmd = "aptly publish snapshot -architectures=amd64 --distribution=maverick -keyring=${files}/aptly.pub -secret-keyring=${files}/aptly.sec snap25"
gold_processor = BaseTest.expand_environ
def check(self):
super(PublishSnapshot25Test, self).check()
self.check_exists('public/dists/maverick/InRelease')
self.check_exists('public/dists/maverick/Release')
self.check_exists('public/dists/maverick/Release.gpg')
self.check_not_exists('public/dists/maverick/main/binary-i386/Packages')
self.check_not_exists('public/dists/maverick/main/binary-i386/Packages.gz')
self.check_not_exists('public/dists/maverick/main/binary-i386/Packages.bz2')
self.check_exists('public/dists/maverick/main/binary-amd64/Packages')
self.check_exists('public/dists/maverick/main/binary-amd64/Packages.gz')
self.check_exists('public/dists/maverick/main/binary-amd64/Packages.bz2')