blob: 2a8fb5261f097b7914eac34200746d74fc775a46 (
plain)
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
|
<!-- -*- mode: markdown; -*- -->
# Handling new upstream releases #
Upstream recently moved their third party assets to a separate git
repository. Their build scripts clone this git repository as part of
the build. The stated purpose is for easier repository access control
and bug triage: as far as Debian is concerned, the assets repository
does not belong in its own source package.
To work around this we maintain a pre-DFSG upstream branch which has
the third party assets present as a git-subtree(1). New upstream
versions are merged into this branch. We then perform DFSG-cleaning
on an emphemeral branch and tag the result, so that gbp can generate
orig tarballs. Finally the tag is merged into our master Debian
packaging branch. Step-by-step, supposing upstream releases version
1.2.3:
1. git remote add upstream https://github.com/gorhill/uBlock
2. git remote update
3. git checkout pre-dfsg
4. git merge 1.2.3
5. git subtree pull -P uAssets https://github.com/uBlockOrigin/uAssets master
6. git checkout -b upstream pre-dfsg
7. git show master:debian/clean-dfsg.sh | sh
8. git commit -m "new upstream version 1.2.3 DFSG-cleaned"
9. git tag 1.2.3+dfsg
10. git checkout master
11. git branch -D upstream
12. git merge 1.2.3+dfsg
13. Update debian/changelog for new version.
14. Ensure that debian/copyright is up-to-date with {u,}assets/ublock/
dir.
Find new non-free filters: `git diff --stat 1.2.2+dfsg..1.2.3+dfsg -- uAssets/thirdparties/`
15. Update the upstream changelog with `debian/rules get-orig-changelog`.
16. Cut the Debian release with gbp buildpackage.
17. git push --tags :
18. Upload to ftp-master with your favourite tool
## Possible improvements ##
TODO: fold steps 2--11 into clean-dfsg.sh e.g. `% clean-dfsg.sh 1.2.3`
TODO: instead, maintain a dfsg-clean branch with the deletions. Then
can just do: git merge new.version && git tag new.version-dfsg
## Original setup of the pre-dfsg branch ##
1. git checkout -b pre-dfsg 1.2.2
2. git subtree add -P uAssets https://github.com/uBlockOrigin/uAssets master
-- Sean Whitton <spwhitton@spwhitton.name>, Sun, 6 Nov 2016 14:01:10 -0700
|