Differences between revisions 19 and 20
Revision 19 as of 2015-09-04 19:29:24
Size: 6457
Editor: ?AlfGaida
Comment:
Revision 20 as of 2015-09-04 19:37:45
Size: 6458
Editor: ?AlfGaida
Comment:
Deletions are marked like this. Additions are marked like this.
Line 93: Line 93:
 $ git-upstream-add '''version'''  $ git upstream-add '''version'''
Line 97: Line 97:
 $ git-upstream-tar ../program_version.orig.tar.gz  $ git upstream-tar ../program_version.orig.tar.gz
Line 103: Line 103:
 $ git-debian-add  $ git debian-add
Line 147: Line 147:
git-upstream-add '''version[+yyyymmdd]'''
git-upstream-tar ../program_version[+yyyymmdd].orig.tar.gz
git upstream-add '''version[+yyyymmdd]'''
git upstream-tar ../program_version[+yyyymmdd].orig.tar.gz
Line 156: Line 156:
git-push --all ; git push --tag git push --all ; git push --tag
Line 180: Line 180:
Check packages with lintian before upload. An alias may be handy. Nils Thykier wrote a blog entry about it Check packages with lintian before upload. An alias might be handy. Nils Thykier wrote a blog entry about it
Line 183: Line 183:
alias evil=' lintian -EvIL +pedantic *changes' alias evil='lintian -EvIL +pedantic *changes'
Line 192: Line 192:
git-debian-changelog [last uploaded hash]] git debian-changelog [last uploaded hash]]
Line 196: Line 196:
git-debian-release
git-push --all ; git push --tag
git debian-release
git push --all ; git push --tag

LXQt Packaging Team

About the LXQt packaging team

The Debian LXQt packaging team maintains LXQt software in Debian. This includes the LXQt components, libraries and some 3rd party qt applications.

These LXQt components, libraries and some 3rd party qt applications are maintained inside of pkg-lxqt project.

Get in touch

Team Package Overview

Get involved

How to contribute

We always welcome people to help us out. If you want to, please follow the following guidelines.

  • Contact us first.
  • Join our alioth pkg-lxqt project.

  • Wait until we approve your account so that you would have write access to our git repo.

Using git and git-stuff

We use git together with git-stuff to manage the git repositories for each package. You may install them:

 apt-get install git git-stuff

packaging workflow

Use debuild/pdebuild as building tool. Use git or git-staff as manage tool. See file:///usr/share/doc/git-stuff/ for more details.

This Git repository contains the following branches:

  • master
    • This branch contains this README file and is otherwise not used.
  • debian
    • This branch tracks the Debian unstable distribution and contains the current state of last released version of the component.
  • pristine-tar
  • upstream
    • This branch contains the upstream releases.

How to add new package into team git repo

If you have a new package wants to add to team git repo: Please ask one of project admins to create a empty repository for it on Alioth first. If you have sufficient rights, please create the repo first:

# on git.debian.org
 $ cd /git/pkg-lxqt
 $ /home/groups/pkg-lxqt/scripts/setup-repository package ['package description']
 $ cp /home/groups/pkg-lxqt/scripts/post-receive package.git/hooks
 $ cd package.git
 $ git remote add --mirror github git git@github.com:debian-lxqt/package.git

Create a corresponding repo on http://github.com/debian-lxqt too. After creation please add a Webhook for IRC notifications:

 Server: irc.oftc.net
 Port: 6667
 Room: #debian-lxqt
 Nick: github
 Message without join: marked
 Active: marked

You are now done with the preparation of the git hosting.

If you don't have a local repository for the package, clone the empty one:

 $ git clone user@git.debian.org:/git/pkg-lxqt/program.git
  • Unpack upstream sources into the git repository.
  • Import upstream into git

 $ git upstream-add '''version'''
  • Import pristine-tar delta

 $ git upstream-tar ../program_version.orig.tar.gz
  • Create and switch to debian branch. Add your debian/*.

 $ git checkout -b debian
 $ tar vfxJ ../program_version-revision.debian.tar.xz
 $ git debian-add
  • Push to server

 $ git push --all
 $ git push --tags

If you have a repository prepared, add the alioth repo and push branches and tags:

 $ git remote add origin user@git.debian.org:/git/pkg-lxqt/package.git
 $ git push --all
 $ git push --tags
 $ # setup the master pull and check it
 $ git branch --set-upstream-to=origin/master master
 $ git pull --all --tags --verbose

Done.

How to create a upstream (snapshot) tarball

Clone the upstream git repo and checkout the branch/tag you whish. Create a archive tarball:

git clone [-b $branch ] git://github.com/lxde/program.git program

Check git tag for latest release, check git log for yyyymmdd for the latest commit. Drop entire contents of the git branch and rename the folder to program-version+yyyymmdd.

mv program program-version+yyyymmdd
find program-version+yyyymmdd -name .git* | xargs rm -r
tar cfvJ program_version+yyyymmdd.orig.tar.xz program-version+yyyymmdd

How to update a package in our git to newer/snapshot upstream version

Replace upstream branch with new tarball:

cd program
git checkout upstream
find . | grep -v .git | xargs rm -r
tar xf ../program_version[+yyyymmdd].orig.tar.xz --strip-components 1

Better use ls command to make sure everything correct before use following command.

git upstream-add '''version[+yyyymmdd]'''
git upstream-tar ../program_version[+yyyymmdd].orig.tar.gz

Merge upstream changes into debian branch.

git checkout debian
git cherry-pick -n upstream
git commit -a -m "Merging upstream version '''version[+yyyymmdd]'''."
...
git push --all ; git push --tag

Note: As we use all git commit log to generate entries in debian/changelog. Please always use uppercase for first letter of commit message. And Please always use fullstop in the end of commit message.

Guideline for package

Add the following line to debian/rules to remove unnecessary dependencies.

export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed

Use override_dh_install to ensure package does not miss anything.

override_dh_install:
        dh_install --list-missing --fail-missing

Mangle symbols

find . -name symbols | xargs sed 's/ \(_.*\) \(.*\)/ (c++)"\1" \2/' | c++filt | uniq | tee debian/mangled

Check packages with lintian before upload. An alias might be handy. Nils Thykier wrote a blog entry about it some times ago: https://nthykier.wordpress.com/2012/02/23/some-sponsors-are-evil-and-pedantic/

alias evil='lintian -EvIL +pedantic *changes'

Request for sponsor upload

Once you have everything done. Ping DDs on #debian-lxqt for review. For release a new package:

pristine-tar checkout package_version.orig.tar.gz
git debian-changelog [last uploaded hash]]
pdebuild
...
dput
git debian-release
git push --all ; git push --tag


CategoryTeams