diff --git a/cmd/dkl-dir2config/render-context_test.go b/cmd/dkl-dir2config/render-context_test.go index a84548f..59e0ce5 100644 --- a/cmd/dkl-dir2config/render-context_test.go +++ b/cmd/dkl-dir2config/render-context_test.go @@ -11,7 +11,7 @@ func TestMerge(t *testing.T) { t.Errorf("got %q", v) } - if v := unparse(genericMerge(parse(` + if v := unparse(genericMerge(parse(` a: t b: t m: @@ -32,8 +32,8 @@ m: b1: t c1: s ` { - t.Errorf("got\n%s", v) -} + t.Errorf("got\n%s", v) + } } func parse(s string) (r interface{}) { diff --git a/cmd/dkl-local-server/cache.go b/cmd/dkl-local-server/cache.go index 112bdb8..e288a68 100644 --- a/cmd/dkl-local-server/cache.go +++ b/cmd/dkl-local-server/cache.go @@ -86,7 +86,12 @@ func updateCache() { existing := []string{} - for _, dir := range []string{distDir, cacheDir} { + cleanDirs := []string{cacheDir} + if !*keepDist { + cleanDirs = append(cleanDirs, distDir) + } + + for _, dir := range cleanDirs { fs.WalkDir(os.DirFS(dir), ".", func(path string, d fs.DirEntry, err error) error { if err != nil { log.Printf("update cache: walking %s failed: %v", dir, err) diff --git a/cmd/dkl-local-server/data.go b/cmd/dkl-local-server/data.go index 3bbd612..60f9dca 100644 --- a/cmd/dkl-local-server/data.go +++ b/cmd/dkl-local-server/data.go @@ -8,7 +8,8 @@ import ( ) var ( - dataDir = flag.String("data", "/var/lib/direktil", "Data dir") + dataDir = flag.String("data", "/var/lib/direktil", "Data dir") + keepDist = flag.Bool("keep-dist", false, "Keep dist files during cache cleanup (still removes assembled erofs)") ) func configFilePath() string { diff --git a/pkg/utf16/utf16.go b/pkg/utf16/utf16.go index c8061cc..6e9b15a 100644 --- a/pkg/utf16/utf16.go +++ b/pkg/utf16/utf16.go @@ -2,23 +2,23 @@ package utf16 import ( "encoding/binary" - "fmt" + "fmt" "unicode/utf8" ) func FromUTF8(data []byte) (res []byte) { - endian := binary.LittleEndian + endian := binary.LittleEndian res = make([]byte, (len(data)+1)*2) - res = res[:2] - endian.PutUint16(res, 0xfeff) + res = res[:2] + endian.PutUint16(res, 0xfeff) for len(data) > 0 { r, size := utf8.DecodeRune(data) if r > 65535 { - panic(fmt.Errorf("r=0x%x > 0xffff", r)) - } + panic(fmt.Errorf("r=0x%x > 0xffff", r)) + } slen := len(res) res = res[:slen+2]