-
Notifications
You must be signed in to change notification settings - Fork 0
/
fbrnch.spec
407 lines (346 loc) · 15.8 KB
/
fbrnch.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
# generated by cabal-rpm-2.0.6 --standalone
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/
%global ghc_without_dynamic 1
%global ghc_without_shared 1
%undefine with_ghc_prof
%undefine with_haddock
%global without_prof 1
%global without_haddock 1
%global debug_package %{nil}
Name: fbrnch
Version: 0.7.0.1
Release: 1%{?dist}
Summary: Fedora packager tool
License: GPLv2+
Url: https://github.com/juhp/fbrnch
# Begin cabal-rpm sources:
Source0: https://github.com/juhp/fbrnch/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
# End cabal-rpm sources
# made with `fbrnch --bash-completion-script fbrnch | sed s/filenames/default/`:
Source1: bash_completion
# Begin cabal-rpm deps:
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-aeson-devel
BuildRequires: ghc-base-devel
#BuildRequires: ghc-bodhi-devel
#BuildRequires: ghc-bugzilla-redhat-devel
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-config-ini-devel
BuildRequires: ghc-directory-devel
BuildRequires: ghc-email-validate-devel
BuildRequires: ghc-extra-devel
#BuildRequires: ghc-fedora-dists-devel
BuildRequires: ghc-filepath-devel
BuildRequires: ghc-http-conduit-devel
BuildRequires: ghc-http-directory-devel
#BuildRequires: ghc-koji-devel
BuildRequires: ghc-network-uri-devel
BuildRequires: ghc-optparse-applicative-devel
#BuildRequires: ghc-pagure-devel
BuildRequires: ghc-rpmbuild-order-devel
BuildRequires: ghc-simple-cmd-devel
BuildRequires: ghc-simple-cmd-args-devel
BuildRequires: ghc-text-devel
BuildRequires: ghc-time-devel
BuildRequires: ghc-xdg-basedir-devel
BuildRequires: cabal-install > 2
# End cabal-rpm deps
# for missing deps:
BuildRequires: ghc-base64-bytestring-devel
BuildRequires: ghc-fgl-devel
BuildRequires: ghc-io-streams-devel
BuildRequires: ghc-iso8601-time-devel
BuildRequires: ghc-lens-aeson-devel
BuildRequires: ghc-old-time-devel
BuildRequires: ghc-polyparse-devel
BuildRequires: ghc-utf8-string-devel
BuildRequires: ghc-zlib-bindings-devel
# for cabal.project repos
BuildRequires: git-core
%if 0%{?fedora} >= 32
BuildRequires: ghc-HsOpenSSL-devel
%else
BuildRequires: openssl-devel
%endif
%if 0%{?fedora} >= 33
BuildRequires: ghc-haxr-devel
%else
BuildRequires: ghc-HaXml-devel
%endif
# manpage
BuildRequires: help2man
Requires: bodhi-client
Requires: copr-cli
Requires: curl
Requires: fedpkg
Requires: git-core
Requires: koji
Requires: krb5-workstation
Requires: openssh-clients
Requires: rpm-build
Requires: rpmdevtools
%description
Fed Brnch is a convenient packaging tool for Fedora Packagers, with integration
for bugzilla, koji, and bodhi.
Features include:
- parallel package building
- merge between Fedora branches and build them
- create, update and list package reviews
- create repo and branch requests for new approved packages
- import srpms from package reviews
- progressive copr builds
%prep
%setup -q
%build
cabal v2-update
cabal v2-build
%install
%define binfile dist-newstyle/build/%{_arch}-linux/ghc-*/%{name}-%{version}/x/fbrnch/build/fbrnch/fbrnch
strip %{binfile}
install -D -t %{buildroot}%{_bindir} %{binfile}
install -pm 644 -D %{SOURCE1} %{buildroot}%{_datadir}/bash-completion/completions/%{name}
help2man --no-info %{buildroot}%{_bindir}/%{name} > %{name}.man
install -pm 644 -D %{name}.man %{buildroot}%{_mandir}/man1/%{name}.1
%files
# Begin cabal-rpm files:
%license LICENSE
%doc README.md TODO
%{_bindir}/%{name}
# End cabal-rpm files
%{_datadir}/bash-completion/completions/%{name}
%{_mandir}/man1/%{name}.1*
%changelog
* Fri Feb 5 2021 Jens Petersen <[email protected]> - 0.7.0.1-1
- Srpm generation: error if spectool fails to download tarball
* Fri Feb 5 2021 Jens Petersen <[email protected]> - 0.7.0-1
- reworked branch/pkg arg processing
- `branches --remote` now works outside a repo
- Master branches are now Rawhide
- new 'master-rename' command: renames package master branches to rawhide
- 'local'/'install': --with/--without bcond options
- Koji: exit if aborting incomplete build (prevents premature bugzilla comment)
- Bugzilla: updateBug result is Array not Object
- 'build': for a new package use rpm Summary & Url for Bodhi note
- 'build': offer to create a Bodhi update for an already built candidate nvr
- new 'update' command: highly experimental package version updating
- 'diff' now works for a different branch
- 'request-branches' now posts pagure urls to package review too
- 'import' prompts for branching after build
- 'build': --no-prompt replaces --merge
- Git: more readable shortlogs
- 'parallel': only use --background if >5 packages in layer (#17)
* Sun Jan 17 2021 Jens Petersen <[email protected]> - 0.6.9-1
- PkgReview: use fasid for ssh (#16)
- Bugzilla: separate commentBug from updateBug
* Sat Jan 16 2021 Jens Petersen <[email protected]> - 0.6.8-1
- build: check bodhi client new update success more carefully
- Bugzilla: correctly check that bug update succeeded
- new 'list' command to list packages from pagure
- branches: add --remote option
* Wed Dec 23 2020 Jens Petersen <[email protected]> - 0.6.7-1
- Bugzilla: don't conflate POST comment with PUT update
- build/install: allow no branch arg for current directory
- request-repos: prompt for reviewer thanks
- request-repos: added --all-states for Modified
- copr: only output buildargs when build fails
* Thu Dec 17 2020 Jens Petersen <[email protected]> - 0.6.6-1
- Bugzilla: use POST again for comments...
- copr: print chroots when building
* Thu Dec 3 2020 Jens Petersen <[email protected]> - 0.6.5-1
- support git worktrees (experimental)
- branches: fix --missing output for given branch and add --skip-dead
- git fetching now outputs new branches
- build: only wait-repo if overriding or autoupdate
- koji: improve uploading message
- mock and scratch: --dryrun
- add --all-fedora and --all-epel branch options (#15)
* Thu Nov 12 2020 Jens Petersen <[email protected]> - 0.6.4-1
- Bugzilla: fix updating of bugs and check for error
- import: offer to request-branches after build
- branches: can now take branch args and --missing option
- request-repo: thank reviewer by first name
* Wed Oct 21 2020 Jens Petersen <[email protected]> - 0.6.3-1
- new 'branches' command lists package's branches
- copr, mock: fix running in a package dir
- mock: --network option
- copr: revert restarting failed watch
- improve errors for commands that only take zero or one branches
* Tue Oct 20 2020 Jens Petersen <[email protected]>
- build: fix bodhi update options error
- merging to latest epel now works (from oldest active fedora branch)
- status: fixed error on new branch
- request-repo: thank reviewer by name
- copr: watch now restarts on a net failure
* Sat Oct 17 2020 Jens Petersen <[email protected]> - 0.6.1-1
- build, parallel: request testing state for bodhi updates
- bugs: --summary to filter by a phrase
- reviews: --user to list reviews from another user
- reviews: --assigned-to to list bugs by reviewer
- reviews: filter out "Rename Request" and "Re-Review Request" prefixes
- copr: remove trailing / from project name
* Fri Oct 9 2020 Jens Petersen <[email protected]> - 0.6-1 (34223fd)
- accept spec filepaths as package args (#12)
- native Koji wait-repo (#14)
- parallel: now requires --sidetag or --target unless development branch
- offers bodhi update from side-tag
- lists koji sidetags natively
- checks not in pkg dir when multiple packages
- mock: chain multiple package builds
- Add --no-clean and --no-clean-after
- new 'log' command for comparing branch logs
- new 'override' command
- new 'sidetags' command lists user's sidetags per branch
- Bugzilla: fix body comments not getting posted with PUT (#13)
- status: --no-fetch option
- bump: only if not latest in koji
- merge: assert still in branch after prompt input
- Git short log: use reference format
- copr: detect non-existent project
- Bodhi overrides now display url
* Sun Sep 20 2020 Jens Petersen <[email protected]> - 0.5-3 (e32fac9)
- new 'bump' command to bump package release
- 'parallel': new --side-tag option to use user's current branch side-tag
- 'build': print nvr and git push as late as possible only if nvr new
- 'bugs' command can now take multiple packages
- wait-repo first without nvr to avoid "nvr not latest" warning
- remove single "- " prefix from changelog for commit
- fix merge prompt text
* Fri Sep 11 2020 Jens Petersen <[email protected]> - 0.5-2 (1d44bd3)
- copr: error if no chroots
- build,parallel: improve review post/autoupdate and override logic
- reviews: add --branched filter, --short, and --all-status
- scratch: experimental --dry-run and output message before srpm upload
- scratch: add --exclude-arch
- commit: improve checking for changelog
- build: --no-update option
- fetching and switch output pkgdir name
- fix Bugzilla utf8 encoding corruption (when posting reviews, etc)
- new 'command' for running an arbitrary shell command across packages
- diff: --spec-only and --with-branch (use origin if branch not local)
- improve branch error message if package paths/dir wrong
- fix error when detecting autoupdate for master
* Tue Sep 1 2020 Jens Petersen <[email protected]> - 0.5-1 (41ed229)
- major change: branches are now args preceding package args
- new 'nvr' command
- 'build' doesn't override for Bodhi create_automatic_updates branches
- 'switch'ing to a new branch should work now without explicit pulling
- disallow Fedora branch newer than latest branched release
- 'commit' without -m will try to use rpm changelog
- 'commit' also works in a pkg dir now
- 'create-review' and 'request-branches' can now handle multiple packages
* Fri Aug 21 2020 Jens Petersen <[email protected]> - 0.4-3 (39edd49)
- check active branches after option parsing (#10)
- `reviews --approved` now limits to NEW, ASSIGNED and POST
- `status -B` now displays new branches
- latest fedora-dists lib uses ~/.fedora/product-versions-2.json
* Sun Aug 16 2020 Jens Petersen <[email protected]> - 0.4-2 (3d8a9e5)
- rebuild with correct updated cabal.project git deps
* Fri Aug 14 2020 Jens Petersen <[email protected]> - 0.4-1 (45a590b)
- local commands now work for non-release branches (eg module branches)
- scratch: build by default for branch target
- Koji: check taskstate even if koji watch-task appears to succeed (#9)
- parallel: parallel branch building in a package dir (#6)
- diff: don't git fetch every time
- Koji: abort waiting (do not loop) if task canceled
- fedora-dists: avoid caching PDC error instead of product list
- status: recognize epel testing tags
- Package: warn rather than error if spec filename differs from pkg/dir
- build: don't push Bodhi update for create_automatic_updates releases
- be more careful with creating and comparing NVRs
- fixing handling for bootstrap bcond (#5)
- parallel: also experimental --dryrun
* Sun Aug 9 2020 Jens Petersen <[email protected]> - 0.3-5 (98370b7)
- fix handling of failed bugzilla login
- uses http-query for fedora web api libs and bugzilla responses
* Fri Aug 7 2020 Jens Petersen <[email protected]> - 0.3-4
- strip executable
* Fri Aug 7 2020 Jens Petersen <[email protected]> - 0.3-3 (a07a33b)
- add 'install-deps' (builddep) command
- experimental --exclude-branch option
* Fri Aug 7 2020 Jens Petersen <[email protected]> - 0.3-2 (5a44f81)
- local/prep: revert back from using "." for rpmbuild macros dir options
* Thu Aug 6 2020 Jens Petersen <[email protected]> - 0.3-1 (acb05de)
- install: don't build if existing rpm files newer than spec
and add --rebuild and --short-circuit options
- use absolute paths for sudo and dnf everywhere
- add 'copr' build command (ported from juhp/cobrnch)
* Wed Aug 5 2020 Jens Petersen <[email protected]> - 0.2-9 (7499a63)
- improve mock results dir paths like fedpkg
* Wed Aug 5 2020 Jens Petersen <[email protected]> - 0.2-8 (9462af2)
- support .git file repos also for prepping and building
* Wed Aug 5 2020 Jens Petersen <[email protected]> - 0.2-7 (d65baee)
- fix srpm generation when _sourcedir is user undefined
* Tue Aug 4 2020 Jens Petersen <[email protected]> - 0.2-6 (70e945c)
- local: print uninstalled deps
- sort: --with/--without options (rpmbuild-order-0.4.2) (#5)
- support absorbed git submodules (#8)
- build: experimental --dry-run option
- build: Bodhi --update-type option (#7)
* Tue Aug 4 2020 Jens Petersen <[email protected]> - 0.2-5 (4784a63)
- build now does git fetch and merge of origin
- clone: output package names to show progress
- wait-repo's now show datestamp
- build: maybe override and waitrepo when build already complete
- sort/parallel: update to rpmbuild-order-0.4.1 which also shows any subcycles
* Wed Jul 29 2020 Jens Petersen <[email protected]> - 0.2-4 (f7a009d)
- parallel: only override when no target or not stable
- parallel: fixed to switch to branch
- update to rpmbuild-0.4.0 release with bugfixes:
(Provide Name and parse package name dirs with a dot)
* Wed Jul 29 2020 Jens Petersen <[email protected]> - 0.2-3 (570d531)
- parallel: do override for built package if not tagged (#3)
- reported by QuLogic
- fix pull command and check for clean working dir
- latest rpmbuild-order fixes a recent regression
- be more lenient when package is in a old branch
- generate a basic manpage with help2man
* Thu Jul 23 2020 Jens Petersen <[email protected]> - 0.2-2 (9b8982d)
- further simply the option/arg parsing for better error messages
* Wed Jul 22 2020 Jens Petersen <[email protected]> - 0.2-1 (d8c9a66)
- build/merge/status by default now only act on the current branch
and require a branch option when more than one package
- use -B or --all-branches to act on all branches like before
- read Koji for correct buildtag for wait-repo
- ignore sources file when not dist-git
* Wed Jul 22 2020 Jens Petersen <[email protected]> - 0.1-12
- bash completions
* Tue Jul 21 2020 Jens Petersen <[email protected]> - 0.1-11 (5d9e3af)
- mock: add --root option (takes a branch)
* Tue Jul 21 2020 Jens Petersen <[email protected]> - 0.1-10 (3a2c181)
- build/parallel: check no existing koji task which is not yet building
- parallel: rpmbuild-order now preserves dir paths to packages
- scratch: allow multiple --arch options
* Sun Jul 19 2020 Jens Petersen <[email protected]> - 0.1-9 (8492abd)
- 'build' now does wait-repo between packages
- 'build' always checks sources file up to date
- 'build' can now rejoin started builds
- new 'parallel' build command for building packages in dependency layers
- new 'diff' command for checking changes across many packages
- new 'commit' command for committing changes across many packages
- prep now prints nvr
- 'install' handles reinstalls correctly (when only some subpackages installed)
- ignore remote branches other than origin
* Wed Jul 15 2020 Jens Petersen <[email protected]> - 0.1-8 (e5dd3f3)
- local --short-circuit
- interleaved output for prep and local errors
* Fri Jul 10 2020 Jens Petersen <[email protected]> - 0.1-7 (981285c)
- build: allow pushing/building before current HEAD
- scratch: add --rebuild-srpm option (default is --no-rebuild-srpm)
- status: allow dirty working dir
* Sat Jul 4 2020 Jens Petersen <[email protected]> - 0.1-6 (254130a)
- scratch: --arch option and don't get sources too early
- build: drop --scratch
- srpm and mock commands
* Fri Jul 3 2020 Jens Petersen <[email protected]> - 0.1-5 (7d0e70d)
- 'scratch' build command
- 'build' options --override and --no-fail-fast
* Thu Jul 2 2020 Jens Petersen <[email protected]> - 0.1-4 (cdeaffb)
- create-review/updatereview: now run rpmlint and optionally mock
* Thu Jul 2 2020 Jens Petersen <[email protected]> - 0.1-3 (6fd8b0a)
- local, install: install deps
* Wed Jul 1 2020 Jens Petersen <[email protected]> - 0.1-2 (4612be2)
- prep, local, install: pull down sources now
- add Requires for client tools
* Wed Jul 1 2020 Jens Petersen <[email protected]> - 0.1-1 (4fe8239)
- initial package