Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/docs/release_howto.txt
blob: ef627b64ba7367b5921e546cd3c5338972b29a69 (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
53
54
55
56
57
58
59
60
61
62
63
''' This is the release process of the sugar packages sugar(shell), 
sugar-toolkit and sugar-base described in a pytish way
'''

for package in [sugar, sugar-toolkit, sugar-base, sugar-artwork]:
    # Release a new version in git
    Pull the latest sources.
    Increase the version number in configure.ac
    # this will create you a tarball and does a check if it builds fine
    # e.g. it will check if all the files containing translations are 
    # in po/POTFILES.in
    make distcheck 

    if that succeed:
        # commit the change, log it as "Release [version_number]" (e.g. 0.79.1)
        git commit -a
        # Tag the release:
        git tag v[version_number]
        # Then push both the tag and the change:
        git push --tags
        git push
    else:
        break

    # Upload the package
    Upload the tarball to dev.laptop.org:/var/www/sugar/sources/[package]

    # Verify the upload of the package
    Check that the package has been uploaded fine: \
            http://dev.laptop.org/pub/sugar/sources/[package]

    # Build and release a new rpm
    # more info on fedora packaging: 
    #     http://fedoraproject.org/wiki/PackageMaintainers/UpdatingPackageHowTo
    # request permissions to contribute to the fedora package: 
    #     https://admin.fedoraproject.org/pkgdb/packages/name/[package]

    if not cvs_package:
        # Get sugar from fedora cvs:
        CVSROOT=:ext:erikos@cvs.fedoraproject.org:/cvs/pkgs cvs co [package]
        cd cvs_package
    else:
        cd cvs_package
        cvs update

    cd OLPC-2
    make new-sources FILES="[tarball-created-with-make_distcheck]"

    # Change the version in the spec
    Bump the release number
    Edit the Changelog
    # verify your changes
    cvs diff -u
    make srpm

    make clog
    cvs commit
    # and put the output of 'make clog' as message

    make tag
    make build

# Do the same for the other branches e.g. devel