Skip to content

Commit 554ef20

Browse files
committed
template: Add "dversionmangle=s/\+ds\d*$//,repacksuffix=+ds1"
to debian/watch if Files-Excluded is added to debian/copyright
1 parent f103d81 commit 554ef20

File tree

1 file changed

+26
-7
lines changed

1 file changed

+26
-7
lines changed

template.go

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ func writeTemplates(dir, gopkg, debsrc, debLib, debProg, debversion string,
3535
return err
3636
}
3737

38-
if err := writeDebianWatch(dir, gopkg, debsrc, u.hasRelease); err != nil {
38+
var repack bool = len(u.vendorDirs) > 0 || u.hasGodeps
39+
if err := writeDebianWatch(dir, gopkg, debsrc, u.hasRelease, repack); err != nil {
3940
return err
4041
}
4142

@@ -295,7 +296,7 @@ func writeDebianGbpConf(dir string, dep14, pristineTar bool) error {
295296
return nil
296297
}
297298

298-
func writeDebianWatch(dir, gopkg, debsrc string, hasRelease bool) error {
299+
func writeDebianWatch(dir, gopkg, debsrc string, hasRelease bool, repack bool) error {
299300
// TODO: Support other hosters too
300301
host := "github.com"
301302

@@ -314,16 +315,29 @@ func writeDebianWatch(dir, gopkg, debsrc string, hasRelease bool) error {
314315
}
315316
defer f.Close()
316317

318+
filenamemanglePattern := `s%%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%%%s-$1.tar.gz%%`
319+
uversionmanglePattern := `s/(\d)[_\.\-\+]?(RC|rc|pre|dev|beta|alpha)[.]?(\d*)$/\$1~\$2\$3/`
320+
317321
if hasRelease {
318322
log.Printf("Setting debian/watch to track release tarball")
319323
fmt.Fprintf(f, "version=4\n")
320-
fmt.Fprintf(f, `opts="filenamemangle=s/.+\/v?(\d\S*)\.tar\.gz/%s-\$1\.tar\.gz/, \`+"\n", debsrc)
321-
fmt.Fprintf(f, ` uversionmangle=s/(\d)[_\.\-\+]?(RC|rc|pre|dev|beta|alpha)[.]?(\d*)$/\$1~\$2\$3/" \`+"\n")
324+
fmt.Fprintf(f, `opts="filenamemangle=`+filenamemanglePattern+`,\`+"\n", debsrc)
325+
fmt.Fprintf(f, ` uversionmangle=`+uversionmanglePattern)
326+
if repack {
327+
fmt.Fprintf(f, `,\`+"\n")
328+
fmt.Fprintf(f, ` dversionmangle=s/\+ds\d*$//,repacksuffix=+ds1`)
329+
}
330+
fmt.Fprintf(f, `" \`+"\n")
322331
fmt.Fprintf(f, ` https://%s/%s/%s/tags .*/v?(\d\S*)\.tar\.gz debian`+"\n", host, owner, repo)
323332
} else {
324333
log.Printf("Setting debian/watch to track git HEAD")
325334
fmt.Fprintf(f, "version=4\n")
326-
fmt.Fprintf(f, `opts="mode=git, pgpmode=none" \`+"\n")
335+
fmt.Fprintf(f, `opts="mode=git, pgpmode=none`)
336+
if repack {
337+
fmt.Fprintf(f, `,\`+"\n")
338+
fmt.Fprintf(f, ` dversionmangle=s/\+ds\d*$//,repacksuffix=+ds1`)
339+
}
340+
fmt.Fprintf(f, `" \`+"\n")
327341
fmt.Fprintf(f, ` https://%s/%s/%s.git \`+"\n", host, owner, repo)
328342
fmt.Fprintf(f, " HEAD debian\n")
329343

@@ -332,8 +346,13 @@ func writeDebianWatch(dir, gopkg, debsrc string, hasRelease bool) error {
332346
fmt.Fprintf(f, "# Use the following when upstream starts to tag releases:\n")
333347
fmt.Fprintf(f, "#\n")
334348
fmt.Fprintf(f, "#version=4\n")
335-
fmt.Fprintf(f, `#opts="filenamemangle=s/.+\/v?(\d\S*)\.tar\.gz/%s-\$1\.tar\.gz/, \`+"\n", debsrc)
336-
fmt.Fprintf(f, `# uversionmangle=s/(\d)[_\.\-\+]?(RC|rc|pre|dev|beta|alpha)[.]?(\d*)$/\$1~\$2\$3/" \`+"\n")
349+
fmt.Fprintf(f, `#opts="filenamemangle=`+filenamemanglePattern+`,\`+"\n", debsrc)
350+
fmt.Fprintf(f, `# uversionmangle=`+uversionmanglePattern)
351+
if repack {
352+
fmt.Fprintf(f, `,\`+"\n")
353+
fmt.Fprintf(f, `# dversionmangle=s/\+ds\d*$//,repacksuffix=+ds1`)
354+
}
355+
fmt.Fprintf(f, `" \`+"\n")
337356
fmt.Fprintf(f, `# https://%s/%s/%s/tags .*/v?(\d\S*)\.tar\.gz debian`+"\n", host, owner, repo)
338357
}
339358

0 commit comments

Comments
 (0)