@@ -13,7 +13,8 @@ import (
13
13
14
14
// DAO abstracts away the database access
15
15
type DAO struct {
16
- stateDir string
16
+ stateDir string
17
+ metadataDir string
17
18
}
18
19
19
20
// Package is the package information stored in the DB
@@ -24,11 +25,11 @@ type Package struct {
24
25
25
26
// Open returns a new DAO at the given state directory
26
27
func Open (stateDir string ) (* DAO , error ) {
27
- stateDir = filepath .Join (stateDir , "metadata" )
28
- if err := os .Mkdir ( stateDir , 0700 ); err != nil && ! os .IsExist (err ) {
28
+ metadataDir : = filepath .Join (stateDir , "metadata" )
29
+ if err := os .MkdirAll ( metadataDir , 0700 ); err != nil && ! os .IsExist (err ) {
29
30
return nil , errors .WithStack (err )
30
31
}
31
- return & DAO {stateDir : stateDir }, nil
32
+ return & DAO {stateDir : stateDir , metadataDir : metadataDir }, nil
32
33
}
33
34
34
35
// Dump content of database to w.
@@ -74,7 +75,7 @@ func (d *DAO) DeletePackage(pkgRef string) error {
74
75
}
75
76
76
77
func (d * DAO ) metadataPath (pkgRef string ) string {
77
- return filepath .Join (d .stateDir , pkgRef + ".etag" )
78
+ return filepath .Join (d .metadataDir , pkgRef + ".etag" )
78
79
}
79
80
80
81
// TODO: Remove this BBolt code.
0 commit comments