mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-04-20 19:38:39 +00:00
Support different formats of supplying Source: field.
This commit is contained in:
12
debian/package.go
vendored
12
debian/package.go
vendored
@@ -253,11 +253,15 @@ func (p *Package) GetDependencies(options int) (dependencies []string) {
|
||||
dependencies = append(dependencies, p.BuildDependsInDep...)
|
||||
}
|
||||
|
||||
if options&DepFollowSource == DepFollowSource && p.Source != "" {
|
||||
if strings.Index(p.Source, ")") != -1 {
|
||||
dependencies = append(dependencies, fmt.Sprintf("%s {source}", p.Source))
|
||||
if options&DepFollowSource == DepFollowSource {
|
||||
source := p.Source
|
||||
if source == "" {
|
||||
source = p.Name
|
||||
}
|
||||
if strings.Index(source, ")") != -1 {
|
||||
dependencies = append(dependencies, fmt.Sprintf("%s {source}", source))
|
||||
} else {
|
||||
dependencies = append(dependencies, fmt.Sprintf("%s (= %s) {source}", p.Source, p.Version))
|
||||
dependencies = append(dependencies, fmt.Sprintf("%s (= %s) {source}", source, p.Version))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
5
debian/package_test.go
vendored
5
debian/package_test.go
vendored
@@ -189,7 +189,12 @@ func (s *PackageSuite) TestGetDependencies(c *C) {
|
||||
c.Check(p.GetDependencies(0), DeepEquals, []string{"libc6 (>= 2.7)", "alien-arena-data (>= 7.40)", "dpkg (>= 1.6)"})
|
||||
c.Check(p.GetDependencies(DepFollowSuggests), DeepEquals, []string{"libc6 (>= 2.7)", "alien-arena-data (>= 7.40)", "dpkg (>= 1.6)", "alien-arena-mars"})
|
||||
c.Check(p.GetDependencies(DepFollowSuggests|DepFollowRecommends), DeepEquals, []string{"libc6 (>= 2.7)", "alien-arena-data (>= 7.40)", "dpkg (>= 1.6)", "aliean-arena-luna", "alien-arena-mars"})
|
||||
|
||||
c.Check(p.GetDependencies(DepFollowSource), DeepEquals, []string{"libc6 (>= 2.7)", "alien-arena-data (>= 7.40)", "dpkg (>= 1.6)", "alien-arena (= 7.40-2) {source}"})
|
||||
p.Source = "alien-arena (7.40-3)"
|
||||
c.Check(p.GetDependencies(DepFollowSource), DeepEquals, []string{"libc6 (>= 2.7)", "alien-arena-data (>= 7.40)", "dpkg (>= 1.6)", "alien-arena (7.40-3) {source}"})
|
||||
p.Source = ""
|
||||
c.Check(p.GetDependencies(DepFollowSource), DeepEquals, []string{"libc6 (>= 2.7)", "alien-arena-data (>= 7.40)", "dpkg (>= 1.6)", "alien-arena-common (= 7.40-2) {source}"})
|
||||
|
||||
p, _ = NewSourcePackageFromControlFile(s.sourceStanza)
|
||||
c.Check(p.GetDependencies(0), DeepEquals, []string{})
|
||||
|
||||
Reference in New Issue
Block a user