|
|
@@ -5,6 +5,7 @@ package main
|
|
|
import (
|
|
|
"bytes"
|
|
|
"crypto/md5"
|
|
|
+ "crypto/sha1"
|
|
|
"encoding/json"
|
|
|
"flag"
|
|
|
"fmt"
|
|
|
@@ -85,17 +86,21 @@ func main() {
|
|
|
case "package":
|
|
|
grunt(gruntBuildArg("release")...)
|
|
|
createLinuxPackages()
|
|
|
+ sha1FilesInDist()
|
|
|
|
|
|
case "pkg-rpm":
|
|
|
grunt(gruntBuildArg("release")...)
|
|
|
createRpmPackages()
|
|
|
+ sha1FilesInDist()
|
|
|
|
|
|
case "pkg-deb":
|
|
|
grunt(gruntBuildArg("release")...)
|
|
|
createDebPackages()
|
|
|
+ sha1FilesInDist()
|
|
|
|
|
|
case "latest":
|
|
|
makeLatestDistCopies()
|
|
|
+ sha1FilesInDist()
|
|
|
|
|
|
case "clean":
|
|
|
clean()
|
|
|
@@ -501,3 +506,38 @@ func md5File(file string) error {
|
|
|
|
|
|
return out.Close()
|
|
|
}
|
|
|
+
|
|
|
+func sha1FilesInDist() {
|
|
|
+ filepath.Walk("./dist", func(path string, f os.FileInfo, err error) error {
|
|
|
+ if strings.Contains(path, ".sha1") == false {
|
|
|
+ sha1File(path)
|
|
|
+ }
|
|
|
+ return nil
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+func sha1File(file string) error {
|
|
|
+ fd, err := os.Open(file)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ defer fd.Close()
|
|
|
+
|
|
|
+ h := sha1.New()
|
|
|
+ _, err = io.Copy(h, fd)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+
|
|
|
+ out, err := os.Create(file + ".sha1")
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+
|
|
|
+ _, err = fmt.Fprintf(out, "%x\n", h.Sum(nil))
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+
|
|
|
+ return out.Close()
|
|
|
+}
|