diff --git a/deb/package.go b/deb/package.go index a50ce44f..f52042ec 100644 --- a/deb/package.go +++ b/deb/package.go @@ -411,6 +411,8 @@ func (p *Package) PoolDirectory() (string, error) { source := p.Source if source == "" { source = p.Name + } else if pos := strings.Index(source, "("); pos != -1 { + source = strings.TrimSpace(source[:pos]) } if len(source) < 2 { diff --git a/deb/package_test.go b/deb/package_test.go index 0105d4b7..4c47ac04 100644 --- a/deb/package_test.go +++ b/deb/package_test.go @@ -230,6 +230,12 @@ func (s *PackageSuite) TestPoolDirectory(c *C) { c.Check(err, IsNil) c.Check(dir, Equals, "liba/libarena") + p = NewPackageFromControlFile(packageStanza.Copy()) + p.Source = "gcc-defaults (1.77)" + dir, err = p.PoolDirectory() + c.Check(err, IsNil) + c.Check(dir, Equals, "g/gcc-defaults") + p = NewPackageFromControlFile(packageStanza.Copy()) p.Source = "l" _, err = p.PoolDirectory()