File: README.source

package info (click to toggle)
tar 1.35%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 21,460 kB
  • sloc: ansic: 90,098; sh: 56,758; yacc: 1,853; makefile: 437; sed: 16
file content (74 lines) | stat: -rw-r--r-- 2,787 bytes parent folder | download | duplicates (4)
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
The tar upstream developers prefer to document using the 'info' format, but 
unfortunately the info docs are under a license Debian considers non-free.  As
a result, we deliver a DFSG-compliant tar package in main, and a tar-doc
package in non-free.  

Here is how the git repository for packaging is organized:

        upstream        "real" upstream sources
        pristine-tar    deltas for recreating tarballs from git repos
        dfsg-orig       branch for DFSG-compliant upstream
        dfsg-debian     branch for Debian packaging of DFSG-compliant parts
        doc-orig        branch for non-free upstream
        doc-debian      branch for Debian packaging of non-free parts

And here's a command log showing how upstream release 1.33 was incorporated,
which may be used as a pattern for processing future releases:

        git checkout upstream
        pristine-tar commit /tmp/tar-1.33.tar.xz
        rm -r *
        tar xv --strip-components=1 -f /tmp/tar-1.33.tar.xz
        git add *
        git commit -a -m "Import upstream version 1.33"

        git checkout dfsg-orig
        git merge upstream             # ignore warnings about doc/*
        ./cleanup-script.sh
        git commit -a -m "Elide non-DFSG compliant upstream components"
        git tag upstream/1.33+dfsg

        git checkout dfsg-debian
        git merge dfsg-orig
        dch -v 1.33+dfsg-1
        git commit -a

        # check patches
        quilt push -a
        rm -r .pc
        git checkout .
        # update patches that don't apply cleanly due to release-induced fuzz
        quilt push -f gcc-10-warnings.diff
        # manually apply gnu/selinux-at.h.rej changes to changed upstream file
        rm gnu/selinux-at.h.rej
        quilt refresh gcc-10-warnings.diff
        quilt pop -a
        rm -r .pc
        git commit -a

        gbp buildpackage --git-no-pristine-tar --changes-option=-S \
                --git-upstream-branch=dfsg-orig \
                --git-upstream-tag=upstream/1.33+dfsg
        pristine-tar commit ../build-area/tar_1.33+dfsg.orig.tar.xz dfsg-orig
        git tag debian/1.33+dfsg-1

        git checkout doc-orig
        git merge upstream             # ignore all the warnings
        ./cleanup-script.sh
        git commit -a -m "Prepare upstream tarball for tar-doc"
        tar cvJf /tmp/tar-doc_1.33.orig.tar.xz COPYING doc
        pristine-tar commit /tmp/tar-doc_1.33.orig.tar.xz

        git checkout doc-debian
        git merge doc-orig
        dch -v 1.33-1
        git commit -a
        gbp buildpackage
        git tag non-free/1.33-1
        cd ../build-area

        debsign tar_1.33+dfsg-1_amd64.changes
        debsign tar-doc_1.33-1_amd64.changes
        dput tar_1.33+dfsg-1_amd64.changes
        dput tar-doc_1.33-1_amd64.changes