mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-05-08 22:30:41 +00:00
Support version numbers like pkg (1.4)
This commit is contained in:
Vendored
+12
-7
@@ -255,12 +255,17 @@ func ParseDependency(dep string) (d Dependency, err error) {
|
|||||||
|
|
||||||
d.Pkg = strings.TrimSpace(dep[0:i])
|
d.Pkg = strings.TrimSpace(dep[0:i])
|
||||||
|
|
||||||
rel := dep[i+1 : i+2]
|
rel := ""
|
||||||
if dep[i+2] == '>' || dep[i+2] == '<' || dep[i+2] == '=' {
|
if dep[i+1] == '>' || dep[i+1] == '<' || dep[i+1] == '=' {
|
||||||
rel += dep[i+2 : i+3]
|
rel += dep[i+1 : i+2]
|
||||||
d.Version = strings.TrimSpace(dep[i+3 : len(dep)-1])
|
if dep[i+2] == '>' || dep[i+2] == '<' || dep[i+2] == '=' {
|
||||||
|
rel += dep[i+2 : i+3]
|
||||||
|
d.Version = strings.TrimSpace(dep[i+3 : len(dep)-1])
|
||||||
|
} else {
|
||||||
|
d.Version = strings.TrimSpace(dep[i+2 : len(dep)-1])
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
d.Version = strings.TrimSpace(dep[i+2 : len(dep)-1])
|
d.Version = strings.TrimSpace(dep[i+1 : len(dep)-1])
|
||||||
}
|
}
|
||||||
|
|
||||||
switch rel {
|
switch rel {
|
||||||
@@ -272,10 +277,10 @@ func ParseDependency(dep string) (d Dependency, err error) {
|
|||||||
d.Relation = VersionLess
|
d.Relation = VersionLess
|
||||||
case ">>":
|
case ">>":
|
||||||
d.Relation = VersionGreater
|
d.Relation = VersionGreater
|
||||||
case "=":
|
case "", "=":
|
||||||
d.Relation = VersionEqual
|
d.Relation = VersionEqual
|
||||||
default:
|
default:
|
||||||
err = fmt.Errorf("relation unknown: %s", rel)
|
err = fmt.Errorf("relation unknown %#v in dependency %s", rel, dep)
|
||||||
}
|
}
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|||||||
Vendored
+12
@@ -112,6 +112,18 @@ func (s *VersionSuite) TestParseDependency(c *C) {
|
|||||||
c.Check(d.Relation, Equals, VersionGreater)
|
c.Check(d.Relation, Equals, VersionGreater)
|
||||||
c.Check(d.Version, Equals, "1.6")
|
c.Check(d.Version, Equals, "1.6")
|
||||||
|
|
||||||
|
d, e = ParseDependency("dpkg(1.6)")
|
||||||
|
c.Check(e, IsNil)
|
||||||
|
c.Check(d.Pkg, Equals, "dpkg")
|
||||||
|
c.Check(d.Relation, Equals, VersionEqual)
|
||||||
|
c.Check(d.Version, Equals, "1.6")
|
||||||
|
|
||||||
|
d, e = ParseDependency("dpkg ( 1.6)")
|
||||||
|
c.Check(e, IsNil)
|
||||||
|
c.Check(d.Pkg, Equals, "dpkg")
|
||||||
|
c.Check(d.Relation, Equals, VersionEqual)
|
||||||
|
c.Check(d.Version, Equals, "1.6")
|
||||||
|
|
||||||
d, e = ParseDependency("dpkg (> 1.6)")
|
d, e = ParseDependency("dpkg (> 1.6)")
|
||||||
c.Check(e, IsNil)
|
c.Check(e, IsNil)
|
||||||
c.Check(d.Pkg, Equals, "dpkg")
|
c.Check(d.Pkg, Equals, "dpkg")
|
||||||
|
|||||||
Reference in New Issue
Block a user