aboutsummaryrefslogtreecommitdiffstats
path: root/modules/packages/debian/metadata.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/packages/debian/metadata.go')
-rw-r--r--modules/packages/debian/metadata.go21
1 files changed, 11 insertions, 10 deletions
diff --git a/modules/packages/debian/metadata.go b/modules/packages/debian/metadata.go
index bb77f7524b..32460a84ae 100644
--- a/modules/packages/debian/metadata.go
+++ b/modules/packages/debian/metadata.go
@@ -172,19 +172,10 @@ func ParseControlFile(r io.Reader) (*Package, error) {
value := strings.TrimSpace(parts[1])
switch key {
case "Package":
- if !namePattern.MatchString(value) {
- return nil, ErrInvalidName
- }
p.Name = value
case "Version":
- if !versionPattern.MatchString(value) {
- return nil, ErrInvalidVersion
- }
p.Version = value
case "Architecture":
- if value == "" {
- return nil, ErrInvalidArchitecture
- }
p.Architecture = value
case "Maintainer":
a, err := mail.ParseAddress(value)
@@ -208,13 +199,23 @@ func ParseControlFile(r io.Reader) (*Package, error) {
return nil, err
}
+ if !namePattern.MatchString(p.Name) {
+ return nil, ErrInvalidName
+ }
+ if !versionPattern.MatchString(p.Version) {
+ return nil, ErrInvalidVersion
+ }
+ if p.Architecture == "" {
+ return nil, ErrInvalidArchitecture
+ }
+
dependencies := strings.Split(depends.String(), ",")
for i := range dependencies {
dependencies[i] = strings.TrimSpace(dependencies[i])
}
p.Metadata.Dependencies = dependencies
- p.Control = control.String()
+ p.Control = strings.TrimSpace(control.String())
return p, nil
}