@@ -22,9 +22,8 @@ func Build() console.CommandGetter {
2222 setter .Flag (func (fs console.FlagsSetter ) {
2323 fs .StringVar ("base-dir" , utils .GetEnv ("DEB_STORAGE_BASE_DIR" , "/tmp/deb-storage" ), "Deb package base storage" )
2424 fs .StringVar ("tmp-dir" , utils .GetEnv ("DEB_BUILD_DIR" , "/tmp/deb-build" ), "Deb package build dir" )
25- fs .StringVar ("subver" , "" , "Set date for calc subversion time. Format: 2022-01-01" )
2625 })
27- setter .ExecFunc (func (_ []string , baseDir , tmpDir string , subver string ) {
26+ setter .ExecFunc (func (_ []string , baseDir , tmpDir string ) {
2827 conf , err := config .Detect ()
2928 console .FatalIfErr (err , "deb config not found" )
3029
@@ -35,15 +34,27 @@ func Build() console.CommandGetter {
3534 storeDir := fmt .Sprintf ("%s/%s/%s" , baseDir , conf .Package [0 :1 ], conf .Package )
3635 console .FatalIfErr (os .MkdirAll (storeDir , 0755 ), "creating storage directory" )
3736
38- subVersion := ""
39- if len (subver ) > 0 {
40- pt , err := time .Parse ("2006-01-02" , subver )
41- console .FatalIfErr (err , "parse date for calc subversion" )
42- subVersion = fmt .Sprintf ("-%d" , time .Now ().Unix ()- pt .Unix ())
43- }
44-
4537 exec .Build (conf , func (arch string ) {
4638
39+ // check file version
40+
41+ subVersion := ""
42+ debFileNameBuild := func () string {
43+ return fmt .Sprintf ("%s/%s_%s%s_%s.deb" , storeDir , conf .Package , conf .Version , subVersion , arch )
44+ }
45+ debFile := debFileNameBuild ()
46+ for {
47+ utils .FileStat (debFile , func (fi os.FileInfo ) {
48+ subVersion = fmt .Sprintf ("-%d" , time .Now ().Unix ()- fi .ModTime ().Unix ())
49+ debFile = debFileNameBuild ()
50+ })
51+
52+ if ! utils .FileExist (debFile ) {
53+ break
54+ }
55+ <- time .After (time .Second )
56+ }
57+
4758 // package
4859
4960 cpkg := control .NewControlPkg (conf )
@@ -95,8 +106,6 @@ func Build() console.CommandGetter {
95106
96107 // build deb
97108
98- debFile := fmt .Sprintf ("%s/%s_%s%s_%s.deb" , storeDir , conf .Package , conf .Version , subVersion , arch )
99- console .FatalIfErr (os .RemoveAll (debFile ), "remove old deb file" )
100109 deb , err := ar .Open (debFile , 0644 )
101110 console .FatalIfErr (err , "create %s" , debFile )
102111 console .FatalIfErr (deb .Write ("debian-binary" , []byte ("2.0\n " ), 0644 ), "write debian-binary to %s" , debFile )
0 commit comments