@@ -14,16 +14,41 @@ func writeTemplates(dir, gopkg, debsrc, debbin, debversion, pkgType string, depe
14
14
if err := os .Mkdir (filepath .Join (dir , "debian" ), 0755 ); err != nil {
15
15
return err
16
16
}
17
-
18
17
if err := os .Mkdir (filepath .Join (dir , "debian" , "source" ), 0755 ); err != nil {
19
18
return err
20
19
}
21
20
21
+ if err := writeDebianChangelog (dir , debsrc , debversion ); err != nil {
22
+ return err
23
+ }
24
+ if err := writeDebianControl (dir , gopkg , debsrc , debbin , pkgType , dependencies ); err != nil {
25
+ return err
26
+ }
27
+ if err := writeDebianCopyright (dir , gopkg , vendorDirs ); err != nil {
28
+ return err
29
+ }
30
+ if err := writeDebianRules (dir , pkgType ); err != nil {
31
+ return err
32
+ }
33
+ if err := writeDebianSourceFormat (dir ); err != nil {
34
+ return err
35
+ }
36
+ if err := writeDebianGbpConf (dir ); err != nil {
37
+ return err
38
+ }
39
+ if err := writeDebianWatch (dir , gopkg , debsrc ); err != nil {
40
+ return err
41
+ }
42
+ return nil
43
+ }
44
+
45
+ func writeDebianChangelog (dir , debsrc , debversion string ) error {
22
46
f , err := os .Create (filepath .Join (dir , "debian" , "changelog" ))
23
47
if err != nil {
24
48
return err
25
49
}
26
50
defer f .Close ()
51
+
27
52
fmt .Fprintf (f , "%s (%s) UNRELEASED; urgency=medium\n " , debsrc , debversion )
28
53
fmt .Fprintf (f , "\n " )
29
54
fmt .Fprintf (f , " * Initial release (Closes: TODO)\n " )
@@ -33,11 +58,16 @@ func writeTemplates(dir, gopkg, debsrc, debbin, debversion, pkgType string, depe
33
58
getDebianEmail (),
34
59
time .Now ().Format ("Mon, 02 Jan 2006 15:04:05 -0700" ))
35
60
36
- f , err = os .Create (filepath .Join (dir , "debian" , "control" ))
61
+ return nil
62
+ }
63
+
64
+ func writeDebianControl (dir , gopkg , debsrc , debbin , pkgType string , dependencies []string ) error {
65
+ f , err := os .Create (filepath .Join (dir , "debian" , "control" ))
37
66
if err != nil {
38
67
return err
39
68
}
40
69
defer f .Close ()
70
+
41
71
fmt .Fprintf (f , "Source: %s\n " , debsrc )
42
72
fmt .Fprintf (f , "Maintainer: Debian Go Packaging Team <team+pkg-go@tracker.debian.org>\n " )
43
73
fprintfControlField (f , "Uploaders" , []string {getDebianName () + " <" + getDebianEmail () + ">" })
@@ -88,22 +118,29 @@ func writeTemplates(dir, gopkg, debsrc, debbin, debversion, pkgType string, depe
88
118
}
89
119
fmt .Fprintf (f , " %s\n " , longdescription )
90
120
121
+ return nil
122
+ }
123
+
124
+ func writeDebianCopyright (dir , gopkg string , vendorDirs []string ) error {
91
125
license , fulltext , err := getLicenseForGopkg (gopkg )
92
126
if err != nil {
93
127
log .Printf ("Could not determine license for %q: %v\n " , gopkg , err )
94
128
license = "TODO"
95
129
fulltext = "TODO"
96
130
}
97
- f , err = os .Create (filepath .Join (dir , "debian" , "copyright" ))
131
+
132
+ f , err := os .Create (filepath .Join (dir , "debian" , "copyright" ))
98
133
if err != nil {
99
134
return err
100
135
}
101
136
defer f .Close ()
137
+
102
138
_ , copyright , err := getAuthorAndCopyrightForGopkg (gopkg )
103
139
if err != nil {
104
140
log .Printf ("Could not determine copyright for %q: %v\n " , gopkg , err )
105
141
copyright = "TODO"
106
142
}
143
+
107
144
fmt .Fprintf (f , "Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/\n " )
108
145
fmt .Fprintf (f , "Source: %s\n " , getHomepageForGopkg (gopkg ))
109
146
fmt .Fprintf (f , "Upstream-Name: %s\n " , filepath .Base (gopkg ))
@@ -125,11 +162,16 @@ func writeTemplates(dir, gopkg, debsrc, debbin, debversion, pkgType string, depe
125
162
fmt .Fprintf (f , "License: %s\n " , license )
126
163
fmt .Fprintf (f , fulltext )
127
164
128
- f , err = os .Create (filepath .Join (dir , "debian" , "rules" ))
165
+ return nil
166
+ }
167
+
168
+ func writeDebianRules (dir , pkgType string ) error {
169
+ f , err := os .Create (filepath .Join (dir , "debian" , "rules" ))
129
170
if err != nil {
130
171
return err
131
172
}
132
173
defer f .Close ()
174
+
133
175
fmt .Fprintf (f , "#!/usr/bin/make -f\n " )
134
176
fmt .Fprintf (f , "\n " )
135
177
fmt .Fprintf (f , "%%:\n " )
@@ -140,44 +182,54 @@ func writeTemplates(dir, gopkg, debsrc, debbin, debversion, pkgType string, depe
140
182
fmt .Fprintf (f , "\t dh_auto_install -- --no-source\n " )
141
183
}
142
184
143
- f , err = os .Create (filepath .Join (dir , "debian" , "source" , "format" ))
185
+ if err := os .Chmod (filepath .Join (dir , "debian" , "rules" ), 0755 ); err != nil {
186
+ return err
187
+ }
188
+
189
+ return nil
190
+ }
191
+
192
+ func writeDebianSourceFormat (dir string ) error {
193
+ f , err := os .Create (filepath .Join (dir , "debian" , "source" , "format" ))
144
194
if err != nil {
145
195
return err
146
196
}
147
197
defer f .Close ()
198
+
148
199
fmt .Fprintf (f , "3.0 (quilt)\n " )
200
+ return nil
201
+ }
149
202
150
- f , err = os .Create (filepath .Join (dir , "debian" , "gbp.conf" ))
203
+ func writeDebianGbpConf (dir string ) error {
204
+ f , err := os .Create (filepath .Join (dir , "debian" , "gbp.conf" ))
151
205
if err != nil {
152
206
return err
153
207
}
154
208
defer f .Close ()
155
- fmt .Fprintf (f , "[DEFAULT]\n " )
156
209
210
+ fmt .Fprintf (f , "[DEFAULT]\n " )
157
211
if dep14 {
158
212
fmt .Fprintf (f , "debian-branch = debian/sid\n " )
159
213
}
160
-
161
214
if pristineTar {
162
215
fmt .Fprintf (f , "pristine-tar = True\n " )
163
216
}
217
+ return nil
218
+ }
164
219
165
- if err := os .Chmod (filepath .Join (dir , "debian" , "rules" ), 0755 ); err != nil {
166
- return err
167
- }
168
-
220
+ func writeDebianWatch (dir , gopkg , debsrc string ) error {
169
221
if strings .HasPrefix (gopkg , "github.com/" ) {
170
- f , err = os .Create (filepath .Join (dir , "debian" , "watch" ))
222
+ f , err : = os .Create (filepath .Join (dir , "debian" , "watch" ))
171
223
if err != nil {
172
224
return err
173
225
}
174
226
defer f .Close ()
227
+
175
228
fmt .Fprintf (f , "version=4\n " )
176
229
fmt .Fprintf (f , `opts=filenamemangle=s/.+\/v?(\d\S*)\.tar\.gz/%s-\$1\.tar\.gz/,\` + "\n " , debsrc )
177
230
fmt .Fprintf (f , `uversionmangle=s/(\d)[_\.\-\+]?(RC|rc|pre|dev|beta|alpha)[.]?(\d*)$/\$1~\$2\$3/ \` + "\n " )
178
231
fmt .Fprintf (f , ` https://%s/tags .*/v?(\d\S*)\.tar\.gz` + "\n " , gopkg )
179
232
}
180
-
181
233
return nil
182
234
}
183
235
0 commit comments