Support for SHA-512 hashes on publishing/downloads.

This commit is contained in:
Andrey Smirnov
2016-02-18 11:48:17 +03:00
parent ffafed472c
commit 77be7b9e3b
48 changed files with 208 additions and 229 deletions

View File

@@ -30,6 +30,7 @@ var (
"MD5Sum",
"SHA1",
"SHA256",
"SHA512",
}
canonicalOrderBinary = []string{
@@ -59,6 +60,7 @@ var (
"MD5sum",
"SHA1",
"SHA256",
"SHA512",
"Description",
}
@@ -112,6 +114,8 @@ func isMultilineField(field string, isRelease bool) bool {
return isRelease
case "SHA256":
return isRelease
case "SHA512":
return isRelease
}
return false
}

View File

@@ -76,6 +76,7 @@ func NewPackageFromControlFile(input Stanza) *Package {
MD5: strings.TrimSpace(md5),
SHA1: strings.TrimSpace(input["SHA1"]),
SHA256: strings.TrimSpace(input["SHA256"]),
SHA512: strings.TrimSpace(input["SHA512"]),
},
}})
@@ -84,6 +85,7 @@ func NewPackageFromControlFile(input Stanza) *Package {
delete(input, "MD5Sum")
delete(input, "SHA1")
delete(input, "SHA256")
delete(input, "SHA512")
delete(input, "Size")
depends := &PackageDependencies{}
@@ -458,7 +460,7 @@ func (p *Package) Stanza() (result Stanza) {
}
if p.IsSource {
md5, sha1, sha256 := make([]string, 0), make([]string, 0), make([]string, 0)
md5, sha1, sha256, sha512 := []string{}, []string{}, []string{}, []string{}
for _, f := range p.Files() {
if f.Checksums.MD5 != "" {
@@ -470,11 +472,21 @@ func (p *Package) Stanza() (result Stanza) {
if f.Checksums.SHA256 != "" {
sha256 = append(sha256, fmt.Sprintf(" %s %d %s\n", f.Checksums.SHA256, f.Checksums.Size, f.Filename))
}
if f.Checksums.SHA512 != "" {
sha512 = append(sha512, fmt.Sprintf(" %s %d %s\n", f.Checksums.SHA512, f.Checksums.Size, f.Filename))
}
}
result["Files"] = strings.Join(md5, "")
result["Checksums-Sha1"] = strings.Join(sha1, "")
result["Checksums-Sha256"] = strings.Join(sha256, "")
if len(sha1) > 0 {
result["Checksums-Sha1"] = strings.Join(sha1, "")
}
if len(sha256) > 0 {
result["Checksums-Sha256"] = strings.Join(sha256, "")
}
if len(sha512) > 0 {
result["Checksums-Sha512"] = strings.Join(sha512, "")
}
} else {
f := p.Files()[0]
result["Filename"] = f.DownloadURL()
@@ -487,6 +499,9 @@ func (p *Package) Stanza() (result Stanza) {
if f.Checksums.SHA256 != "" {
result["SHA256"] = f.Checksums.SHA256
}
if f.Checksums.SHA512 != "" {
result["SHA512"] = f.Checksums.SHA512
}
result["Size"] = fmt.Sprintf("%d", f.Checksums.Size)
}

View File

@@ -134,10 +134,16 @@ func (files PackageFiles) ParseSumFields(stanza Stanza) (PackageFiles, error) {
if err != nil {
return nil, err
}
files, err = files.parseSumField(stanza["Checksums-Sha256"], func(sum *utils.ChecksumInfo, data string) { sum.SHA256 = data })
if err != nil {
return nil, err
}
files, err = files.parseSumField(stanza["Checksums-Sha512"], func(sum *utils.ChecksumInfo, data string) { sum.SHA512 = data })
if err != nil {
return nil, err
}
return files, nil
}

View File

@@ -670,6 +670,7 @@ func (p *PublishedRepo) Publish(packagePool aptly.PackagePool, publishedStorageP
release["MD5Sum"] = ""
release["SHA1"] = ""
release["SHA256"] = ""
release["SHA512"] = ""
release["Components"] = strings.Join(p.Components(), " ")
@@ -677,6 +678,7 @@ func (p *PublishedRepo) Publish(packagePool aptly.PackagePool, publishedStorageP
release["MD5Sum"] += fmt.Sprintf(" %s %8d %s\n", info.MD5, info.Size, path)
release["SHA1"] += fmt.Sprintf(" %s %8d %s\n", info.SHA1, info.Size, path)
release["SHA256"] += fmt.Sprintf(" %s %8d %s\n", info.SHA256, info.Size, path)
release["SHA512"] += fmt.Sprintf(" %s %8d %s\n", info.SHA512, info.Size, path)
}
releaseFile := indexes.ReleaseFile()

View File

@@ -209,6 +209,8 @@ func (downloader *downloaderImpl) handleTask(task *downloadTask) {
err = fmt.Errorf("%s: sha1 hash mismatch %#v != %#v", task.url, actual.SHA1, task.expected.SHA1)
} else if task.expected.SHA256 != "" && actual.SHA256 != task.expected.SHA256 {
err = fmt.Errorf("%s: sha256 hash mismatch %#v != %#v", task.url, actual.SHA256, task.expected.SHA256)
} else if task.expected.SHA512 != "" && actual.SHA512 != task.expected.SHA512 {
err = fmt.Errorf("%s: sha512 hash mismatch %#v != %#v", task.url, actual.SHA512, task.expected.SHA512)
}
if err != nil {

View File

@@ -22,7 +22,7 @@ class S3Test(BaseTest):
return super(S3Test, self).fixture_available() and s3_conn is not None
def prepare(self):
self.bucket_name = "aptly-sys-test-" + str(uuid.uuid4())
self.bucket_name = "aptly-sys-test-" + str(uuid.uuid1())
self.bucket = s3_conn.create_bucket(self.bucket_name)
self.configOverride = {"S3PublishEndpoints": {
"test1": {

View File

@@ -37,7 +37,7 @@ class SwiftTest(BaseTest):
return super(SwiftTest, self).fixture_available() and swift_conn is not None
def prepare(self):
self.container_name = "aptly-sys-test-" + str(uuid.uuid4())
self.container_name = "aptly-sys-test-" + str(uuid.uuid1())
swift_conn.put_container(self.container_name)
self.configOverride = {"SwiftPublishEndpoints": {

View File

@@ -8,3 +8,4 @@ Description: Generated by aptly
MD5Sum:
SHA1:
SHA256:
SHA512:

View File

@@ -8,3 +8,4 @@ Description: Generated by aptly
MD5Sum:
SHA1:
SHA256:
SHA512:

View File

@@ -8,3 +8,4 @@ Description: Generated by aptly
MD5Sum:
SHA1:
SHA256:
SHA512:

View File

@@ -20,6 +20,7 @@ Package: libboost-program-options-dev
Priority: optional
SHA1: 36895eb64cfe89c33c0a2f7ac2f0c6e0e889e04b
SHA256: c76b4bd12fd92e4dfe1b55b18a67a669d92f62985d6a96c8a21d96120982cf12
SHA512: d7302241373da972aa9b9e71d2fd769b31a38f71182aa71bc0d69d090d452c69bb74b8612c002ccf8a89c279ced84ac27177c8b92d20f00023b3d268e6cec69c
Section: libdevel
Size: 2738
Source: boost-defaults

View File

@@ -8,3 +8,4 @@ Description: Generated by aptly
MD5Sum:
SHA1:
SHA256:
SHA512:

View File

@@ -1,6 +1,8 @@
22ff26db69b73d3438fdde21ab5ba2f1 3456 pyspi_0.6.1-1.3.diff.gz
22ff26db69b73d3438fdde21ab5ba2f1 3456 pyspi_0.6.1-1.3.diff.gz
289d3aefa970876e9c43686ce2b02f478d7f3ed35a713928464a98d54ae4fca3 893 pyspi-0.6.1-1.3.stripped.dsc
@@ -29,6 +31,8 @@ Checksums-Sha1:
Checksums-Sha1:
Checksums-Sha256:
Checksums-Sha256:
Checksums-Sha512: 262cac59a2e81c7f110851ff9670c97ffc3d192d9937b880422a0907f26340d43e7de7e68b904a4fb10bedb02b65c3bd1f7bdd20ea8c4293e690e7a8e0e70ee5 893 pyspi-0.6.1-1.3.stripped.dsc
Checksums-Sha512: fde06b7dc5762a04986d0669420822f6a1e82b195322ae9cbd2dae40bda557c57ad77fe3546007ea645f801c4cd30ef4eb0e96efb2dee6b71c4c9a187d643683 1782 pyspi_0.6.1-1.3.dsc
Directory: pool/main/p/pyspi
Directory: pool/main/p/pyspi
Files:

View File

@@ -1,20 +1,22 @@
Package: dmraid-udeb
Version: 1.0.0.rc16-4.1
Installed-Size: 36
Priority: optional
Section: debian-installer
Maintainer: Giuseppe Iuculano <iuculano@debian.org>
Architecture: i386
Description: Device-Mapper Software RAID support tool (udeb)
dmraid discovers, activates, deactivates and displays properties
of software RAID sets (eg, ATARAID) and contained DOS partitions.
.
This is the minimal package (udeb) used by debian-installer
dmraid discovers, activates, deactivates and displays properties
of software RAID sets (eg, ATARAID) and contained DOS partitions.
Architecture: i386
Depends: libc6-udeb (>= 2.11), libdmraid1.0.0.rc16-udeb (>= 1.0.0.rc16), dmsetup-udeb
Description: Device-Mapper Software RAID support tool (udeb)
Filename: pool/main/d/dmraid/dmraid-udeb_1.0.0.rc16-4.1_i386.udeb
Installed-Size: 36
MD5sum: 4d8bb4dafb0ef9059dac75846e162784
Maintainer: Giuseppe Iuculano <iuculano@debian.org>
Package: dmraid-udeb
Priority: optional
SHA1: fd5c73e08d4c5381b1136c2ff170332d77526246
SHA256: fe4ff3351186f03039f8cd6f78e8e4f473a75b613f950caac06fa21dda2d59e8
Filename: pool/main/d/dmraid/dmraid-udeb_1.0.0.rc16-4.1_i386.udeb
SHA512: d215bfffe485964a9a3db39788be713a8e10cd39fa1b2849e9e474eb1de2b01f69d3fff0997cc577cac7804da41123af2b4826baafb19e5e6ebdf5070f17a6e8
Section: debian-installer
Size: 11022
Source: dmraid
Depends: libc6-udeb (>= 2.11), libdmraid1.0.0.rc16-udeb (>= 1.0.0.rc16), dmsetup-udeb
Version: 1.0.0.rc16-4.1

View File

@@ -8,3 +8,4 @@ Description: Generated by aptly
MD5Sum:
SHA1:
SHA256:
SHA512:

View File

@@ -8,3 +8,4 @@ Description: Generated by aptly
MD5Sum:
SHA1:
SHA256:
SHA512:

View File

@@ -8,3 +8,4 @@ Description: Generated by aptly
MD5Sum:
SHA1:
SHA256:
SHA512:

View File

@@ -20,6 +20,7 @@ Package: libboost-program-options-dev
Priority: optional
SHA1: 36895eb64cfe89c33c0a2f7ac2f0c6e0e889e04b
SHA256: c76b4bd12fd92e4dfe1b55b18a67a669d92f62985d6a96c8a21d96120982cf12
SHA512: d7302241373da972aa9b9e71d2fd769b31a38f71182aa71bc0d69d090d452c69bb74b8612c002ccf8a89c279ced84ac27177c8b92d20f00023b3d268e6cec69c
Section: libdevel
Size: 2738
Source: boost-defaults

View File

@@ -8,3 +8,4 @@ Description: Generated by aptly
MD5Sum:
SHA1:
SHA256:
SHA512:

View File

@@ -1,6 +1,8 @@
22ff26db69b73d3438fdde21ab5ba2f1 3456 pyspi_0.6.1-1.3.diff.gz
22ff26db69b73d3438fdde21ab5ba2f1 3456 pyspi_0.6.1-1.3.diff.gz
289d3aefa970876e9c43686ce2b02f478d7f3ed35a713928464a98d54ae4fca3 893 pyspi-0.6.1-1.3.stripped.dsc
@@ -29,6 +31,8 @@ Checksums-Sha1:
Checksums-Sha1:
Checksums-Sha256:
Checksums-Sha256:
Checksums-Sha512: 262cac59a2e81c7f110851ff9670c97ffc3d192d9937b880422a0907f26340d43e7de7e68b904a4fb10bedb02b65c3bd1f7bdd20ea8c4293e690e7a8e0e70ee5 893 pyspi-0.6.1-1.3.stripped.dsc
Checksums-Sha512: fde06b7dc5762a04986d0669420822f6a1e82b195322ae9cbd2dae40bda557c57ad77fe3546007ea645f801c4cd30ef4eb0e96efb2dee6b71c4c9a187d643683 1782 pyspi_0.6.1-1.3.dsc
Directory: pool/main/p/pyspi
Directory: pool/main/p/pyspi
Files:

View File

@@ -2,10 +2,10 @@ Origin: . maverick
Label: . maverick
Suite: maverick
Codename: maverick
Date: Fri, 31 Jan 2014 14:18:52 UTC
Architectures: amd64 i386
Components: main
Description: Generated by aptly
MD5Sum:
SHA1:
SHA256:
SHA512:

View File

@@ -8,3 +8,4 @@ Description: Generated by aptly
MD5Sum:
SHA1:
SHA256:
SHA512:

View File

@@ -8,3 +8,4 @@ Description: Generated by aptly
MD5Sum:
SHA1:
SHA256:
SHA512:

View File

@@ -8,3 +8,4 @@ Description: Generated by aptly
MD5Sum:
SHA1:
SHA256:
SHA512:

View File

@@ -2,58 +2,10 @@ Origin: . squeeze
Label: . squeeze
Suite: squeeze
Codename: squeeze
Date: Tue, 30 Sep 2014 15:35:22 UTC
Architectures: amd64 i386
Components: main
Description: Generated by aptly
MD5Sum:
a75ee7a5106ba4369de928e26b7afefd 803 main/debian-installer/binary-i386/Packages.bz2
d82f063b0a674ee60d070fc960c33c92 677 main/debian-installer/binary-amd64/Packages.gz
8b51fb682910e0d52caa31b61ef1192a 807 main/debian-installer/binary-amd64/Packages.bz2
a77ec46f63b69e32fdf3a5aa484c1190 1592 main/binary-i386/Packages.bz2
9efff4ebb46b70b71215a8df4f71069d 88 main/binary-amd64/Release
d9d38d0cff22f7364cbabb4e8b536316 87 main/debian-installer/binary-i386/Release
0eaacc9b677879735bcc958c2e24c699 1395 main/binary-i386/Packages.gz
e1c910470349056521dbc4d473a48637 677 main/debian-installer/binary-i386/Packages.gz
d9d38d0cff22f7364cbabb4e8b536316 87 main/binary-i386/Release
1093e4c5170235ac5cc872f985088815 3669 main/binary-amd64/Packages
c4b9d1069fcb04fdad832a657ff02ef3 3663 main/binary-i386/Packages
b58a784bc0764d523fd9134b53c8dda0 1585 main/binary-amd64/Packages.bz2
9ac58b6597a8e0344d69c2550aca9720 1601 main/debian-installer/binary-i386/Packages
f940214380907f004b1e175a6c20bf07 1603 main/debian-installer/binary-amd64/Packages
9efff4ebb46b70b71215a8df4f71069d 88 main/debian-installer/binary-amd64/Release
703b425641f4e847a1f0a8a0c28fb128 1394 main/binary-amd64/Packages.gz
SHA1:
a0c5944608dc219fad9d799b3fa6aae280d331c0 803 main/debian-installer/binary-i386/Packages.bz2
5faf018385934f65a6af0c4ab3af2fda62c63aff 677 main/debian-installer/binary-amd64/Packages.gz
61c9b82f75a642839e6e32e5a734f890417b1160 807 main/debian-installer/binary-amd64/Packages.bz2
e69414d40bb79bca8dc1b274ceb42fb04c3d02ee 1592 main/binary-i386/Packages.bz2
7c25a15429615225e3eb90540ba783561fc09448 88 main/binary-amd64/Release
f07fcb0797d81341b6284ed86e5903dc57341a90 87 main/debian-installer/binary-i386/Release
a8657c2409859da9f91280a5da48f3b5276e2829 1395 main/binary-i386/Packages.gz
b8e5b5b41a6ded99006a94c0550cd2291ac19d7f 677 main/debian-installer/binary-i386/Packages.gz
f07fcb0797d81341b6284ed86e5903dc57341a90 87 main/binary-i386/Release
0c86f7bd6ed2b52b0ab12ea08a76d14235b85d7c 3669 main/binary-amd64/Packages
4227cdcd3260e10eee066182f22ec8eec4fc7f0a 3663 main/binary-i386/Packages
8cec67723e4cee24f67ffa46a1f4ae7165fb31f0 1585 main/binary-amd64/Packages.bz2
ae94f4b0b3396951399de65e04784ef7b0f95119 1601 main/debian-installer/binary-i386/Packages
6f8e5137388e594b31bed56ca9e08f8e9f305ca4 1603 main/debian-installer/binary-amd64/Packages
7c25a15429615225e3eb90540ba783561fc09448 88 main/debian-installer/binary-amd64/Release
163a7a656c5e338d53bbc6cbe80263ca551dfa15 1394 main/binary-amd64/Packages.gz
SHA256:
4f8eeab36071b8791ce74099df89e01d46ab66f3c76dd9afe6c31fe48c30783d 803 main/debian-installer/binary-i386/Packages.bz2
bf7b96d1c66abb7dc6037299ab4fe0119d42b66c8c01cfa0520e27d813c99e50 677 main/debian-installer/binary-amd64/Packages.gz
3a30d9da1ed1108d3451c0c7fe60d99594a2cdf2459a8e505920ed69043bdc6c 807 main/debian-installer/binary-amd64/Packages.bz2
1d947dcc40ad2ace3b8226b68161948478a187eb9865d4b62c5068200e0ec058 1592 main/binary-i386/Packages.bz2
e8378aced6fec291729f656e1d884225ec9c28ba67fc434ef2531223bc37033e 88 main/binary-amd64/Release
62b9292134aefb30a75aff3e25c2c694d128d73a1d193f29a397789dd902a854 87 main/debian-installer/binary-i386/Release
e30a8b568654e69f1fe7744ace4ffb0d385a8e52502ffd9f84a8184130386a08 1395 main/binary-i386/Packages.gz
f6f2350eab308eb2f290b98f088e973e70ded5d1244688b71edfb201ac85e832 677 main/debian-installer/binary-i386/Packages.gz
62b9292134aefb30a75aff3e25c2c694d128d73a1d193f29a397789dd902a854 87 main/binary-i386/Release
e2d936cb65a504e6bf13bb09c5a0c6e8943cdd7845d715d571b1fb58262a624f 3669 main/binary-amd64/Packages
14ae70d15fa8263b55056ef36bac9208ee9e03847118788cc00b6d2a46b5fa10 3663 main/binary-i386/Packages
0128db3912e0e2f92b2e3a277c28239d6e072323b35bc007dbf32bc696df413c 1585 main/binary-amd64/Packages.bz2
c3f2708d36c503619f5b3f43b2c7da3f559b72f723c96d0ce9c664f92c6fcc14 1601 main/debian-installer/binary-i386/Packages
1f90f76bc0df9a588940d14f3ee0ad7d26a86809537f2e5ff4d340e4a8a21f3d 1603 main/debian-installer/binary-amd64/Packages
e8378aced6fec291729f656e1d884225ec9c28ba67fc434ef2531223bc37033e 88 main/debian-installer/binary-amd64/Release
e179f48a91a8dc614a37e2fb21d8d82ff3937fd44e077ec0e2507b8382d896ab 1394 main/binary-amd64/Packages.gz
SHA512:

View File

@@ -8,3 +8,4 @@ Description: Generated by aptly
MD5Sum:
SHA1:
SHA256:
SHA512:

View File

@@ -8,3 +8,4 @@ Description: Generated by aptly
MD5Sum:
SHA1:
SHA256:
SHA512:

View File

@@ -8,3 +8,4 @@ Description: Generated by aptly
MD5Sum:
SHA1:
SHA256:
SHA512:

View File

@@ -20,6 +20,7 @@ Package: libboost-program-options-dev
Priority: optional
SHA1: 36895eb64cfe89c33c0a2f7ac2f0c6e0e889e04b
SHA256: c76b4bd12fd92e4dfe1b55b18a67a669d92f62985d6a96c8a21d96120982cf12
SHA512: d7302241373da972aa9b9e71d2fd769b31a38f71182aa71bc0d69d090d452c69bb74b8612c002ccf8a89c279ced84ac27177c8b92d20f00023b3d268e6cec69c
Section: libdevel
Size: 2738
Source: boost-defaults

View File

@@ -8,3 +8,4 @@ Description: Generated by aptly
MD5Sum:
SHA1:
SHA256:
SHA512:

View File

@@ -20,6 +20,7 @@ Package: libboost-program-options-dev
Priority: optional
SHA1: 36895eb64cfe89c33c0a2f7ac2f0c6e0e889e04b
SHA256: c76b4bd12fd92e4dfe1b55b18a67a669d92f62985d6a96c8a21d96120982cf12
SHA512: d7302241373da972aa9b9e71d2fd769b31a38f71182aa71bc0d69d090d452c69bb74b8612c002ccf8a89c279ced84ac27177c8b92d20f00023b3d268e6cec69c
Section: libdevel
Size: 2738
Source: boost-defaults

View File

@@ -8,3 +8,4 @@ Description: Generated by aptly
MD5Sum:
SHA1:
SHA256:
SHA512:

View File

@@ -1,4 +1,5 @@
(name, value) pairs from the user, via conventional methods such as
.
.
@@ -19,7 +20,8 @@ Package: libboost-program-options-dev
Priority: optional
SHA1: 36895eb64cfe89c33c0a2f7ac2f0c6e0e889e04b
SHA256: c76b4bd12fd92e4dfe1b55b18a67a669d92f62985d6a96c8a21d96120982cf12
SHA512: d7302241373da972aa9b9e71d2fd769b31a38f71182aa71bc0d69d090d452c69bb74b8612c002ccf8a89c279ced84ac27177c8b92d20f00023b3d268e6cec69c
Section: libdevel
Size: 2738
Source: boost-defaults
Version: 1.49.0.1
Version: 1.49.0.1

View File

@@ -1,6 +1,8 @@
22ff26db69b73d3438fdde21ab5ba2f1 3456 pyspi_0.6.1-1.3.diff.gz
22ff26db69b73d3438fdde21ab5ba2f1 3456 pyspi_0.6.1-1.3.diff.gz
289d3aefa970876e9c43686ce2b02f478d7f3ed35a713928464a98d54ae4fca3 893 pyspi-0.6.1-1.3.stripped.dsc
@@ -29,6 +31,8 @@ Checksums-Sha1:
Checksums-Sha1:
Checksums-Sha256:
Checksums-Sha256:
Checksums-Sha512: 262cac59a2e81c7f110851ff9670c97ffc3d192d9937b880422a0907f26340d43e7de7e68b904a4fb10bedb02b65c3bd1f7bdd20ea8c4293e690e7a8e0e70ee5 893 pyspi-0.6.1-1.3.stripped.dsc
Checksums-Sha512: fde06b7dc5762a04986d0669420822f6a1e82b195322ae9cbd2dae40bda557c57ad77fe3546007ea645f801c4cd30ef4eb0e96efb2dee6b71c4c9a187d643683 1782 pyspi_0.6.1-1.3.dsc
Directory: pool/main/p/pyspi
Directory: pool/main/p/pyspi
Files:

View File

@@ -20,6 +20,7 @@ Package: libboost-program-options-dev
Priority: optional
SHA1: 36895eb64cfe89c33c0a2f7ac2f0c6e0e889e04b
SHA256: c76b4bd12fd92e4dfe1b55b18a67a669d92f62985d6a96c8a21d96120982cf12
SHA512: d7302241373da972aa9b9e71d2fd769b31a38f71182aa71bc0d69d090d452c69bb74b8612c002ccf8a89c279ced84ac27177c8b92d20f00023b3d268e6cec69c
Section: libdevel
Size: 2738
Source: boost-defaults

View File

@@ -1,6 +1,8 @@
22ff26db69b73d3438fdde21ab5ba2f1 3456 pyspi_0.6.1-1.3.diff.gz
22ff26db69b73d3438fdde21ab5ba2f1 3456 pyspi_0.6.1-1.3.diff.gz
289d3aefa970876e9c43686ce2b02f478d7f3ed35a713928464a98d54ae4fca3 893 pyspi-0.6.1-1.3.stripped.dsc
@@ -29,6 +31,8 @@ Checksums-Sha1:
Checksums-Sha1:
Checksums-Sha256:
Checksums-Sha256:
Checksums-Sha512: 262cac59a2e81c7f110851ff9670c97ffc3d192d9937b880422a0907f26340d43e7de7e68b904a4fb10bedb02b65c3bd1f7bdd20ea8c4293e690e7a8e0e70ee5 893 pyspi-0.6.1-1.3.stripped.dsc
Checksums-Sha512: fde06b7dc5762a04986d0669420822f6a1e82b195322ae9cbd2dae40bda557c57ad77fe3546007ea645f801c4cd30ef4eb0e96efb2dee6b71c4c9a187d643683 1782 pyspi_0.6.1-1.3.dsc
Directory: pool/main/p/pyspi
Directory: pool/main/p/pyspi
Files:

View File

@@ -1,25 +1,27 @@
Package: libboost-program-options-dev
Version: 1.49.0.1
Installed-Size: 26
Priority: optional
Section: libdevel
Maintainer: Debian Boost Team <pkg-boost-devel@lists.alioth.debian.org>
Architecture: i386
Description: program options library for C++ (default version)
This package forms part of the Boost C++ Libraries collection.
.
Library to let program developers obtain program options, that is
(name, value) pairs from the user, via conventional methods such as
command line and config file.
.
This package is a dependency package, which depends on Debian's default
.
Boost version (currently 1.49).
Library to let program developers obtain program options, that is
This package forms part of the Boost C++ Libraries collection.
This package is a dependency package, which depends on Debian's default
command line and config file.
Architecture: i386
Depends: libboost-program-options1.49-dev
Description: program options library for C++ (default version)
Filename: pool/main/b/boost-defaults/libboost-program-options-dev_1.49.0.1_i386.deb
Homepage: http://www.boost.org/libs/program_options/
Installed-Size: 26
MD5sum: 0035d7822b2f8f0ec4013f270fd650c2
Maintainer: Debian Boost Team <pkg-boost-devel@lists.alioth.debian.org>
Package: libboost-program-options-dev
Priority: optional
SHA1: 36895eb64cfe89c33c0a2f7ac2f0c6e0e889e04b
SHA256: c76b4bd12fd92e4dfe1b55b18a67a669d92f62985d6a96c8a21d96120982cf12
Filename: pool/main/b/boost-defaults/libboost-program-options-dev_1.49.0.1_i386.deb
SHA512: d7302241373da972aa9b9e71d2fd769b31a38f71182aa71bc0d69d090d452c69bb74b8612c002ccf8a89c279ced84ac27177c8b92d20f00023b3d268e6cec69c
Section: libdevel
Size: 2738
Homepage: http://www.boost.org/libs/program_options/
Source: boost-defaults
Depends: libboost-program-options1.49-dev
Version: 1.49.0.1

View File

@@ -2,34 +2,10 @@ Origin: . maverick
Label: . maverick
Suite: maverick
Codename: maverick
Date: Wed, 1 Oct 2014 08:48:48 UTC
Architectures: i386
Components: main
Description: Generated by aptly
MD5Sum:
b844530d1336e9a3c431f0d36cfc01b0 602 main/binary-i386/Packages.gz
1d7829dac8923aafe499f313abfaadd7 652 main/binary-i386/Packages.bz2
307b6495eab59c221e2ff8962896631b 2300 main/source/Sources
65dd7338cfac70762457b586629e87e4 839 main/source/Sources.gz
5cc219da21fdb8a96b265bca1c4c0808 1009 main/source/Sources.bz2
60b30b7b0c62ae04bb3bc457abadaced 90 main/binary-i386/Release
945211dc923a8d1b97835232648c0aa7 92 main/source/Release
d419bd11e2b7fe9669bccdf67a18ca17 984 main/binary-i386/Packages
SHA1:
1b314cedcf18a6d08d4aabbd8b9b5605ba293d04 602 main/binary-i386/Packages.gz
5406a984c100b20fbebacdbac24ae3378885f73b 652 main/binary-i386/Packages.bz2
e30d7bc51cd042ee987316967bf3043ab95c8ce9 2300 main/source/Sources
d60a7032080848eb48bcf68962698ba642dcc383 839 main/source/Sources.gz
fb194b90e0e0efd456a7346c4224294018b6677d 1009 main/source/Sources.bz2
2bfef2580deadf6863ee6f893e8b9a2c7522e1ed 90 main/binary-i386/Release
8b98a2148d157bf87cc1955ef00ba1ba31275f94 92 main/source/Release
be80e1c588c6052f30865e44e3f1429f730d5bc8 984 main/binary-i386/Packages
SHA256:
a079102fdc72e6228229aaa8e5e6ad59b582026419737e81e11a8af2addd125e 602 main/binary-i386/Packages.gz
25d101a333e85d952afc74f684cef3716d69e3c33d8a4b1544faec683c1b5d96 652 main/binary-i386/Packages.bz2
bcf1fcf1ca2d1bb5565da8b4c39052d906832ad4885c21682d605b830e55a506 2300 main/source/Sources
3e6cf6dc079333cdf01905957c611702f4ee10f654c84895ac7bf166bbbbd3bc 839 main/source/Sources.gz
47b9d37fa81d23d227dd26e85821dd4f74db8f17ddefbe6ca686f62ddfedd8ad 1009 main/source/Sources.bz2
1d91164164e6310a5e5fc93390995028956f657490a9ce7aa136dc94291828a8 90 main/binary-i386/Release
2d75333511325affcefe66c6cfbaa6ab21e6aa0e85a6b4fa39a4191146b81460 92 main/source/Release
59643cc2d105694d6876dc328290a1c949b4e91e62ee8db396abac83a7034f9f 984 main/binary-i386/Packages
SHA512:

View File

@@ -1,48 +1,53 @@
Package: pyspi
Version: 0.6.1-1.3
Maintainer: Jose Carlos Garcia Sogo <jsogo@debian.org>
Architecture: any
Binary: python-at-spi
Standards-Version: 3.7.3
Format: 1.0
Files:
22ff26db69b73d3438fdde21ab5ba2f1 3456 pyspi_0.6.1-1.3.diff.gz
b72cb94699298a117b7c82641c68b6fd 1782 pyspi_0.6.1-1.3.dsc
def336bd566ea688a06ec03db7ccf1f4 29063 pyspi_0.6.1.orig.tar.gz
Checksums-Sha1:
95a2468e4bbce730ba286f2211fa41861b9f1d90 3456 pyspi_0.6.1-1.3.diff.gz
56c8a9b1f4ab636052be8966690998cbe865cd6c 1782 pyspi_0.6.1-1.3.dsc
9694b80acc171c0a5bc99f707933864edfce555e 29063 pyspi_0.6.1.orig.tar.gz
Vcs-Svn: svn://svn.tribulaciones.org/srv/svn/pyspi/trunk
Homepage: http://people.redhat.com/zcerza/dogtail
Build-Depends: debhelper (>= 5), cdbs, libatspi-dev, python-pyrex, python-support (>= 0.4), python-all-dev, libx11-dev
Directory: pool/main/p/pyspi
Checksums-Sha256:
2e770b28df948f3197ed0b679bdea99f3f2bf745e9ddb440c677df9c3aeaee3c 3456 pyspi_0.6.1-1.3.diff.gz
d494aaf526f1ec6b02f14c2f81e060a5722d6532ddc760ec16972e45c2625989 1782 pyspi_0.6.1-1.3.dsc
64069ee828c50b1c597d10a3fefbba279f093a4723965388cdd0ac02f029bfb9 29063 pyspi_0.6.1.orig.tar.gz
Package: pyspi
Version: 0.6.1-1.4
Maintainer: Jose Carlos Garcia Sogo <jsogo@debian.org>
Architecture: any
Vcs-Svn: svn://svn.tribulaciones.org/srv/svn/pyspi/trunk
Standards-Version: 3.7.3
Homepage: http://people.redhat.com/zcerza/dogtail
Directory: pool/main/p/pyspi
Build-Depends: debhelper (>= 5), cdbs, libatspi-dev, python-pyrex, python-support (>= 0.4), python-all-dev, libx11-dev
Checksums-Sha256:
22ff26db69b73d3438fdde21ab5ba2f1 3456 pyspi_0.6.1-1.3.diff.gz
22ff26db69b73d3438fdde21ab5ba2f1 3456 pyspi_0.6.1-1.3.diff.gz
289d3aefa970876e9c43686ce2b02f478d7f3ed35a713928464a98d54ae4fca3 893 pyspi-0.6.1-1.3.stripped.dsc
2e770b28df948f3197ed0b679bdea99f3f2bf745e9ddb440c677df9c3aeaee3c 3456 pyspi_0.6.1-1.3.diff.gz
64069ee828c50b1c597d10a3fefbba279f093a4723965388cdd0ac02f029bfb9 29063 pyspi_0.6.1.orig.tar.gz
Format: 1.0
Checksums-Sha1:
2e770b28df948f3197ed0b679bdea99f3f2bf745e9ddb440c677df9c3aeaee3c 3456 pyspi_0.6.1-1.3.diff.gz
2f5bd47cf38852b6fc927a50f98c1448 893 pyspi-0.6.1-1.3.stripped.dsc
5005fbd1f30637edc1d380b30f45db9b79100d07 893 pyspi-0.6.1-1.3.stripped.dsc
56c8a9b1f4ab636052be8966690998cbe865cd6c 1782 pyspi_0.6.1-1.3.dsc
64069ee828c50b1c597d10a3fefbba279f093a4723965388cdd0ac02f029bfb9 29063 pyspi_0.6.1.orig.tar.gz
64069ee828c50b1c597d10a3fefbba279f093a4723965388cdd0ac02f029bfb9 29063 pyspi_0.6.1.orig.tar.gz
95a2468e4bbce730ba286f2211fa41861b9f1d90 3456 pyspi_0.6.1-1.3.diff.gz
95a2468e4bbce730ba286f2211fa41861b9f1d90 3456 pyspi_0.6.1-1.3.diff.gz
9694b80acc171c0a5bc99f707933864edfce555e 29063 pyspi_0.6.1.orig.tar.gz
Binary: python-at-spi
Files:
2f5bd47cf38852b6fc927a50f98c1448 893 pyspi-0.6.1-1.3.stripped.dsc
22ff26db69b73d3438fdde21ab5ba2f1 3456 pyspi_0.6.1-1.3.diff.gz
9694b80acc171c0a5bc99f707933864edfce555e 29063 pyspi_0.6.1.orig.tar.gz
b72cb94699298a117b7c82641c68b6fd 1782 pyspi_0.6.1-1.3.dsc
d494aaf526f1ec6b02f14c2f81e060a5722d6532ddc760ec16972e45c2625989 1782 pyspi_0.6.1-1.3.dsc
def336bd566ea688a06ec03db7ccf1f4 29063 pyspi_0.6.1.orig.tar.gz
def336bd566ea688a06ec03db7ccf1f4 29063 pyspi_0.6.1.orig.tar.gz
Architecture: any
Architecture: any
Binary: python-at-spi
Binary: python-at-spi
Build-Depends: debhelper (>= 5), cdbs, libatspi-dev, python-pyrex, python-support (>= 0.4), python-all-dev, libx11-dev
Build-Depends: debhelper (>= 5), cdbs, libatspi-dev, python-pyrex, python-support (>= 0.4), python-all-dev, libx11-dev
Checksums-Sha1:
Checksums-Sha1:
Checksums-Sha256:
Checksums-Sha256:
Checksums-Sha512: 262cac59a2e81c7f110851ff9670c97ffc3d192d9937b880422a0907f26340d43e7de7e68b904a4fb10bedb02b65c3bd1f7bdd20ea8c4293e690e7a8e0e70ee5 893 pyspi-0.6.1-1.3.stripped.dsc
Checksums-Sha512: fde06b7dc5762a04986d0669420822f6a1e82b195322ae9cbd2dae40bda557c57ad77fe3546007ea645f801c4cd30ef4eb0e96efb2dee6b71c4c9a187d643683 1782 pyspi_0.6.1-1.3.dsc
Directory: pool/main/p/pyspi
Directory: pool/main/p/pyspi
Files:
Files:
Format: 1.0
Format: 1.0
Homepage: http://people.redhat.com/zcerza/dogtail
Homepage: http://people.redhat.com/zcerza/dogtail
Maintainer: Jose Carlos Garcia Sogo <jsogo@debian.org>
Maintainer: Jose Carlos Garcia Sogo <jsogo@debian.org>
Package: pyspi
Package: pyspi
Standards-Version: 3.7.3
Standards-Version: 3.7.3
Vcs-Svn: svn://svn.tribulaciones.org/srv/svn/pyspi/trunk
Vcs-Svn: svn://svn.tribulaciones.org/srv/svn/pyspi/trunk
Version: 0.6.1-1.3
Version: 0.6.1-1.4

View File

@@ -1,25 +1,27 @@
Package: libboost-program-options-dev
Version: 1.49.0.1
Installed-Size: 26
Priority: optional
Section: libdevel
Maintainer: Debian Boost Team <pkg-boost-devel@lists.alioth.debian.org>
Architecture: i386
Description: program options library for C++ (default version)
This package forms part of the Boost C++ Libraries collection.
.
Library to let program developers obtain program options, that is
(name, value) pairs from the user, via conventional methods such as
command line and config file.
.
This package is a dependency package, which depends on Debian's default
.
Boost version (currently 1.49).
Library to let program developers obtain program options, that is
This package forms part of the Boost C++ Libraries collection.
This package is a dependency package, which depends on Debian's default
command line and config file.
Architecture: i386
Depends: libboost-program-options1.49-dev
Description: program options library for C++ (default version)
Filename: pool/main/b/boost-defaults/libboost-program-options-dev_1.49.0.1_i386.deb
Homepage: http://www.boost.org/libs/program_options/
Installed-Size: 26
MD5sum: 0035d7822b2f8f0ec4013f270fd650c2
Maintainer: Debian Boost Team <pkg-boost-devel@lists.alioth.debian.org>
Package: libboost-program-options-dev
Priority: optional
SHA1: 36895eb64cfe89c33c0a2f7ac2f0c6e0e889e04b
SHA256: c76b4bd12fd92e4dfe1b55b18a67a669d92f62985d6a96c8a21d96120982cf12
Source: boost-defaults
Filename: pool/main/b/boost-defaults/libboost-program-options-dev_1.49.0.1_i386.deb
Depends: libboost-program-options1.49-dev
Homepage: http://www.boost.org/libs/program_options/
SHA512: d7302241373da972aa9b9e71d2fd769b31a38f71182aa71bc0d69d090d452c69bb74b8612c002ccf8a89c279ced84ac27177c8b92d20f00023b3d268e6cec69c
Section: libdevel
Size: 2738
Source: boost-defaults
Version: 1.49.0.1

View File

@@ -2,34 +2,10 @@ Origin: . maverick
Label: . maverick
Suite: maverick
Codename: maverick
Date: Wed, 1 Oct 2014 09:13:14 UTC
Architectures: i386
Components: main
Description: Generated by aptly
MD5Sum:
d41d8cd98f00b204e9800998ecf8427e 0 main/source/Sources
f41c10a4b35cd3e1ec8abb9c2ab676ed 23 main/source/Sources.gz
4059d198768f9f8dc9372dc1c54bc3c3 14 main/source/Sources.bz2
60b30b7b0c62ae04bb3bc457abadaced 90 main/binary-i386/Release
945211dc923a8d1b97835232648c0aa7 92 main/source/Release
db76ccafa3c9e4c1dba620259df78f87 984 main/binary-i386/Packages
d666eb8b2fc8a0ef525d37aff33c7b2f 603 main/binary-i386/Packages.gz
ca2b3a9fc60f4a0a1091b9f0357b11eb 651 main/binary-i386/Packages.bz2
SHA1:
da39a3ee5e6b4b0d3255bfef95601890afd80709 0 main/source/Sources
92c6cff562771f64540523a54baaa0b2afe54b3f 23 main/source/Sources.gz
64a543afbb5f4bf728636bdcbbe7a2ed0804adc2 14 main/source/Sources.bz2
2bfef2580deadf6863ee6f893e8b9a2c7522e1ed 90 main/binary-i386/Release
8b98a2148d157bf87cc1955ef00ba1ba31275f94 92 main/source/Release
7dcfa6945771369da0a22c2f90f2300b5d238662 984 main/binary-i386/Packages
ba6efb87b17aa8d08476b3f181702e4d3199794e 603 main/binary-i386/Packages.gz
0b36a014d1a5ccbf3d73de0035970737659e3c0f 651 main/binary-i386/Packages.bz2
SHA256:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 main/source/Sources
1775fca35fb6a4d31c541746eaea63c5cb3c00280c8b5a351d4e944cdca7489d 23 main/source/Sources.gz
d3dda84eb03b9738d118eb2be78e246106900493c0ae07819ad60815134a8058 14 main/source/Sources.bz2
1d91164164e6310a5e5fc93390995028956f657490a9ce7aa136dc94291828a8 90 main/binary-i386/Release
2d75333511325affcefe66c6cfbaa6ab21e6aa0e85a6b4fa39a4191146b81460 92 main/source/Release
0e2e7586903004efb49dd419be8a98260dab502352c4b1bf6074f658220aef4e 984 main/binary-i386/Packages
e2bd1d551b4983253cc26004504ead7b6987e609db8cb7185ab3dde69d346acd 603 main/binary-i386/Packages.gz
81bcd3d47fc3e9dbe1e201d7ec1b356dd2ae3bc5c171f76247243a64755c25d6 651 main/binary-i386/Packages.bz2
SHA512:

View File

@@ -2,34 +2,10 @@ Origin: . maverick
Label: . maverick
Suite: maverick
Codename: maverick
Date: Wed, 1 Oct 2014 09:16:49 UTC
Architectures: amd64 i386
Components: main
Description: Generated by aptly
MD5Sum:
4717e26fc4a8703cd8886feb8ff9532d 91 main/binary-amd64/Release
60b30b7b0c62ae04bb3bc457abadaced 90 main/binary-i386/Release
2b810443a56c38746aba877b84fc74a1 1526 main/binary-amd64/Packages
28bced4c89869001d9fe6b7c553dd1df 862 main/binary-amd64/Packages.gz
aaa2ee36bda75a9c66e31881ae128016 931 main/binary-amd64/Packages.bz2
aac26f9e4705d03000094f76d475aea2 1524 main/binary-i386/Packages
158aec0342fc4ca52178b4512c5ee1b5 862 main/binary-i386/Packages.gz
34859d0bf49cb66045de43d01b1de311 939 main/binary-i386/Packages.bz2
SHA1:
93c9982ebbb6a74a118d07e500b596097c8c4780 91 main/binary-amd64/Release
2bfef2580deadf6863ee6f893e8b9a2c7522e1ed 90 main/binary-i386/Release
876cafdad8672c4b0b66baec5b12213d2bcb4cf3 1526 main/binary-amd64/Packages
b3e2e9ad945a190e2ce4aeb36d1946d9ad04a075 862 main/binary-amd64/Packages.gz
bc8a7022261b79f5aeacdca551c51aeb7530b969 931 main/binary-amd64/Packages.bz2
7eca65cdb4a4a6bcb51747f2c8d4829f4457f22b 1524 main/binary-i386/Packages
e1f5ab02bdd1fcaa0ab93c5680919f612692992c 862 main/binary-i386/Packages.gz
8a7f311f39316dcedc8a199421116ba92a941028 939 main/binary-i386/Packages.bz2
SHA256:
73aa8d6aaf47a1bf3c546869ceb09a882a8c2d840f81878e552fe2d1260ac4e2 91 main/binary-amd64/Release
1d91164164e6310a5e5fc93390995028956f657490a9ce7aa136dc94291828a8 90 main/binary-i386/Release
f47ca8ea0dc02b4423b1291b302e5594c0ac5c01da72c6f9de1ae17d3eddef2f 1526 main/binary-amd64/Packages
0a939f23e1ed98ec3cf2033eb5665d4c40e7494d6331f453ac2043be3e234897 862 main/binary-amd64/Packages.gz
abdb8e2537c11272fc9f70ccbcbd2ee867ae797666d3bf11a51972fa2f4d0325 931 main/binary-amd64/Packages.bz2
7b1e711ab4647a3e200af742690ffee76bcf7244f597fda699495e29177b1c71 1524 main/binary-i386/Packages
5723a156f299c657b2eebd1c17ff1a0ca3f50036fc9a1b6c7d9f985a1841c171 862 main/binary-i386/Packages.gz
41f396a3b5c7f78d743971a1011706c6782c8abac3168ff862fa301255baa040 939 main/binary-i386/Packages.bz2
SHA512:

View File

@@ -79,8 +79,10 @@ class PublishRepo1Test(BaseTest):
h = hashlib.md5()
elif len(fileHash) == 40:
h = hashlib.sha1()
else:
elif len(fileHash) == 64:
h = hashlib.sha256()
else:
h = hashlib.sha512()
h.update(self.read_file(os.path.join('public/dists/maverick', path)))
@@ -471,8 +473,10 @@ class PublishRepo17Test(BaseTest):
h = hashlib.md5()
elif len(fileHash) == 40:
h = hashlib.sha1()
else:
elif len(fileHash) == 64:
h = hashlib.sha256()
else:
h = hashlib.sha512()
h.update(self.read_file(os.path.join('public/dists/maverick', path)))

View File

@@ -91,8 +91,10 @@ class PublishSnapshot1Test(BaseTest):
h = hashlib.md5()
elif len(fileHash) == 40:
h = hashlib.sha1()
else:
elif len(fileHash) == 64:
h = hashlib.sha256()
else:
h = hashlib.sha512()
h.update(self.read_file(os.path.join('public/dists/maverick', path)))
@@ -731,8 +733,10 @@ class PublishSnapshot26Test(BaseTest):
h = hashlib.md5()
elif len(fileHash) == 40:
h = hashlib.sha1()
else:
elif len(fileHash) == 64:
h = hashlib.sha256()
else:
h = hashlib.sha512()
h.update(self.read_file(os.path.join('public/dists/maverick', path)))
@@ -949,8 +953,10 @@ class PublishSnapshot35Test(BaseTest):
h = hashlib.md5()
elif len(fileHash) == 40:
h = hashlib.sha1()
else:
elif len(fileHash) == 64:
h = hashlib.sha256()
else:
h = hashlib.sha512()
h.update(self.read_file(os.path.join('public/dists/squeeze', path)))

View File

@@ -73,8 +73,10 @@ class PublishSwitch1Test(BaseTest):
h = hashlib.md5()
elif len(fileHash) == 40:
h = hashlib.sha1()
else:
elif len(fileHash) == 64:
h = hashlib.sha256()
else:
h = hashlib.sha512()
h.update(self.read_file(os.path.join('public/dists/maverick', path)))
@@ -331,8 +333,10 @@ class PublishSwitch8Test(BaseTest):
h = hashlib.md5()
elif len(fileHash) == 40:
h = hashlib.sha1()
else:
elif len(fileHash) == 64:
h = hashlib.sha256()
else:
h = hashlib.sha512()
h.update(self.read_file(os.path.join('public/dists/maverick', path)))

View File

@@ -72,8 +72,10 @@ class PublishUpdate1Test(BaseTest):
h = hashlib.md5()
elif len(fileHash) == 40:
h = hashlib.sha1()
else:
elif len(fileHash) == 64:
h = hashlib.sha256()
else:
h = hashlib.sha512()
h.update(self.read_file(os.path.join('public/dists/maverick', path)))

View File

@@ -27,6 +27,7 @@ class PackagesAPITestShow(APITest):
'Build-Depends': 'debhelper (>= 5), cdbs, libatspi-dev, python-pyrex, python-support (>= 0.4), python-all-dev, libx11-dev',
'Checksums-Sha1': ' 95a2468e4bbce730ba286f2211fa41861b9f1d90 3456 pyspi_0.6.1-1.3.diff.gz\n 56c8a9b1f4ab636052be8966690998cbe865cd6c 1782 pyspi_0.6.1-1.3.dsc\n 9694b80acc171c0a5bc99f707933864edfce555e 29063 pyspi_0.6.1.orig.tar.gz\n',
'Checksums-Sha256': ' 2e770b28df948f3197ed0b679bdea99f3f2bf745e9ddb440c677df9c3aeaee3c 3456 pyspi_0.6.1-1.3.diff.gz\n d494aaf526f1ec6b02f14c2f81e060a5722d6532ddc760ec16972e45c2625989 1782 pyspi_0.6.1-1.3.dsc\n 64069ee828c50b1c597d10a3fefbba279f093a4723965388cdd0ac02f029bfb9 29063 pyspi_0.6.1.orig.tar.gz\n',
'Checksums-Sha512': ' fde06b7dc5762a04986d0669420822f6a1e82b195322ae9cbd2dae40bda557c57ad77fe3546007ea645f801c4cd30ef4eb0e96efb2dee6b71c4c9a187d643683 1782 pyspi_0.6.1-1.3.dsc\n',
'Files': ' 22ff26db69b73d3438fdde21ab5ba2f1 3456 pyspi_0.6.1-1.3.diff.gz\n b72cb94699298a117b7c82641c68b6fd 1782 pyspi_0.6.1-1.3.dsc\n def336bd566ea688a06ec03db7ccf1f4 29063 pyspi_0.6.1.orig.tar.gz\n',
'FilesHash': '3a8b37cbd9a3559e',
'Format': '1.0',

View File

@@ -4,6 +4,7 @@ import (
"crypto/md5"
"crypto/sha1"
"crypto/sha256"
"crypto/sha512"
"fmt"
"hash"
"io"
@@ -16,6 +17,7 @@ type ChecksumInfo struct {
MD5 string
SHA1 string
SHA256 string
SHA512 string
}
// ChecksumsForFile generates size, MD5, SHA1 & SHA256 checksums for given file
@@ -51,7 +53,7 @@ var (
// NewChecksumWriter creates checksum calculator for given writer w
func NewChecksumWriter() *ChecksumWriter {
return &ChecksumWriter{
hashes: []hash.Hash{md5.New(), sha1.New(), sha256.New()},
hashes: []hash.Hash{md5.New(), sha1.New(), sha256.New(), sha512.New()},
}
}
@@ -71,6 +73,7 @@ func (c *ChecksumWriter) Sum() ChecksumInfo {
c.sum.MD5 = fmt.Sprintf("%x", c.hashes[0].Sum(nil))
c.sum.SHA1 = fmt.Sprintf("%x", c.hashes[1].Sum(nil))
c.sum.SHA256 = fmt.Sprintf("%x", c.hashes[2].Sum(nil))
c.sum.SHA512 = fmt.Sprintf("%x", c.hashes[3].Sum(nil))
return c.sum
}