From 90bba977d7b5341eff7b393c8e54ffb6e170d777 Mon Sep 17 00:00:00 2001 From: Andrey Smirnov Date: Thu, 29 May 2014 18:00:14 +0400 Subject: [PATCH] Introduce Package.ShortKey(): packages should have no conflict on that key in one list. #60 --- deb/package.go | 5 +++++ deb/package_test.go | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/deb/package.go b/deb/package.go index 41ac11ef..8569ad43 100644 --- a/deb/package.go +++ b/deb/package.go @@ -175,6 +175,11 @@ func (p *Package) Key(prefix string) []byte { return []byte(fmt.Sprintf("%sP%s %s %s %08x", prefix, p.Architecture, p.Name, p.Version, p.FilesHash)) } + return p.ShortKey(prefix) +} + +// ShortKey returns key for the package that should be unique in one list +func (p *Package) ShortKey(prefix string) []byte { return []byte(fmt.Sprintf("%sP%s %s %s", prefix, p.Architecture, p.Name, p.Version)) } diff --git a/deb/package_test.go b/deb/package_test.go index 4e0730ad..815da84d 100644 --- a/deb/package_test.go +++ b/deb/package_test.go @@ -95,6 +95,13 @@ func (s *PackageSuite) TestKey(c *C) { c.Check(p.Key("xD"), DeepEquals, []byte("xDPi386 alien-arena-common 7.40-2")) } +func (s *PackageSuite) TestShortKey(c *C) { + p := NewPackageFromControlFile(s.stanza) + + c.Check(p.ShortKey(""), DeepEquals, []byte("Pi386 alien-arena-common 7.40-2")) + c.Check(p.ShortKey("xD"), DeepEquals, []byte("xDPi386 alien-arena-common 7.40-2")) +} + func (s *PackageSuite) TestStanza(c *C) { p := NewPackageFromControlFile(s.stanza.Copy()) stanza := p.Stanza()