mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-07-16 12:08:04 +00:00
Add support for Azure package pools
This adds support for storing packages directly on Azure, with no truly "local" (on-disk) repo used. The existing Azure PublishedStorage implementation was refactored to move the shared code to a separate context struct, which can then be re-used by the new PackagePool. In addition, the files package's mockChecksumStorage was made public so that it could be used in the Azure PackagePool tests as well. Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
This commit is contained in:
committed by
André Roth
parent
810df17009
commit
f9325fbc91
+16
-9
@@ -42,7 +42,21 @@ func (cksum *ChecksumInfo) Complete() bool {
|
||||
return cksum.MD5 != "" && cksum.SHA1 != "" && cksum.SHA256 != "" && cksum.SHA512 != ""
|
||||
}
|
||||
|
||||
// ChecksumsForFile generates size, MD5, SHA1 & SHA256 checksums for given file
|
||||
// ChecksumsForReader generates size, MD5, SHA1 & SHA256 checksums for the given
|
||||
// io.Reader
|
||||
func ChecksumsForReader(rd io.Reader) (ChecksumInfo, error) {
|
||||
w := NewChecksumWriter()
|
||||
|
||||
_, err := io.Copy(w, rd)
|
||||
if err != nil {
|
||||
return ChecksumInfo{}, err
|
||||
}
|
||||
|
||||
return w.Sum(), nil
|
||||
}
|
||||
|
||||
// ChecksumsForFile generates size, MD5, SHA1 & SHA256 checksums for the file at
|
||||
// the given path
|
||||
func ChecksumsForFile(path string) (ChecksumInfo, error) {
|
||||
file, err := os.Open(path)
|
||||
if err != nil {
|
||||
@@ -50,14 +64,7 @@ func ChecksumsForFile(path string) (ChecksumInfo, error) {
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
w := NewChecksumWriter()
|
||||
|
||||
_, err = io.Copy(w, file)
|
||||
if err != nil {
|
||||
return ChecksumInfo{}, err
|
||||
}
|
||||
|
||||
return w.Sum(), nil
|
||||
return ChecksumsForReader(file)
|
||||
}
|
||||
|
||||
// ChecksumWriter is a writer that does checksum calculation on the fly passing data
|
||||
|
||||
Reference in New Issue
Block a user