From c96491e8735259b82d1139eea25e9eb2f23e908a Mon Sep 17 00:00:00 2001 From: Andrey Smirnov Date: Mon, 17 Feb 2014 15:06:26 +0400 Subject: [PATCH] Follow build & source dependencies from package. --- debian/package.go | 9 +++++++++ debian/package_test.go | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/debian/package.go b/debian/package.go index 0cb3a7ca..299fe069 100644 --- a/debian/package.go +++ b/debian/package.go @@ -248,6 +248,15 @@ func (p *Package) GetDependencies(options int) (dependencies []string) { dependencies = append(dependencies, p.Suggests...) } + if options&DepFollowBuild == DepFollowBuild { + dependencies = append(dependencies, p.BuildDepends...) + dependencies = append(dependencies, p.BuildDependsInDep...) + } + + if options&DepFollowSource == DepFollowSource && p.Source != "" { + dependencies = append(dependencies, p.Source+" {source}") + } + return } diff --git a/debian/package_test.go b/debian/package_test.go index 470b7697..11587acb 100644 --- a/debian/package_test.go +++ b/debian/package_test.go @@ -189,6 +189,11 @@ 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 {source}"}) + + p, _ = NewSourcePackageFromControlFile(s.sourceStanza) + c.Check(p.GetDependencies(0), DeepEquals, []string{}) + c.Check(p.GetDependencies(DepFollowBuild), DeepEquals, []string{"cdbs", "debhelper (>= 7)", "default-jdk", "maven-debian-helper", "default-jdk-doc", "junit (>= 3.8.1)", "libannotation-indexer-java (>= 1.3)", "libannotation-indexer-java-doc", "libasm3-java", "libmaven-install-plugin-java", "libmaven-javadoc-plugin-java", "libmaven-scm-java", "libmaven2-core-java", "libmaven2-core-java-doc", "libmetainf-services-java", "libmetainf-services-java-doc", "libmaven-plugin-tools-java (>= 2.8)"}) } func (s *PackageSuite) TestPoolDirectory(c *C) {