Differences between revisions 12 and 13
Revision 12 as of 2023-09-10 10:05:16
Size: 9925
Editor: AndrewLee
Comment:
Revision 13 as of 2023-09-12 05:48:06
Size: 9733
Editor: AndrewLee
Comment:
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
  https://udd.debian.org/dmd.cgi?email1=pkg-lxqt-devel%40lists.alioth.debian.org
Line 14: Line 13:
  https://bugs.debian.org/cgi-bin/pkgreport.cgi?dist=unstable;maint=pkg-lxqt-devel%40lists.alioth.debian.org

General Information

The Debian LxQT team maintains lxqt software and related packages in Debian. All packages are now hosted in the lxqt-team group on salsa.

Packages information

Packages overview:

Debian Maintainer Dashboard for the team:

Bugs reported on packages maitained by the team:

Git repositories for the team:

Joining the team

Debian Salsa

Salsa is the name of a collaborative development server for Debian based on the GitLab software. Salsa is supposed to provide the necessary tools for package maintainers, packaging teams and other Debian related individuals and groups for collaborative development.

All git repositories maintained by the lxqt-team are hosting on salsa. The repositories are all public. You should send merge requests for one-shot fixes. You can also request membership to the group lxqt-team and wait for an admin to add you to the group. To speed up the procedure, send an email to the mailing list pkg-lxqt-devel at lists.alioth.debian.org stating your request to join the lxqt-team group and preferably the package you intend to maintain under the team.

Once you submitted merge requests. Wait for other member to review your changes. We will have communication on the merges request. Once all issues solved and passed all salsa-ci tests, one of the Debian Developers in the team will do the merge and sponsor the upload.

Contributing to the Debian lxqt team

If you are a Debian enthusiast with basic Debian knowledge, you can help Debian lxqt team's activities. There are different ways to contribute to Debian lxqt team, which includes (and is not limited to)

Identifying and reporting bugs

If you are a user of the packages maintained by Debian lxqt team, you can help us by reporting the bugs you find in the packages using the Debian Bug Tracker http://bugs.debian.org/ or reportbug https://wiki.debian.org/reportbug tool. You can also add wishlist bugs about changes/features you would like to be added to the package so as to make it better to use.

Bug triaging

You can also help to triage bugs, by choosing bugs from https://bugs.debian.org/cgi-bin/pkgreport.cgi?dist=unstable;maint=team%2Blxqt%40tracker.debian.org or https://udd.debian.org/dmd.cgi?email1=team%2Blxqt%40tracker.debian.org , and try to

  • reproduce them on your local machine / clean chroot as needed
  • confirm bug's existence and validity
  • tag bugs appropriately
  • close invalid ones that already fixed

Fixing bugs

If you have knowledge in Debian, you can fix bugs that have been filed against the team maintained packages by providing patches and helpful information. Those like FTBFS bugs are often caused by test failures in packages and should be fixed to ensure reproducibility of the packages. Chances of bugs are more during transition of the lxqt version and any help in identifying, tagging and fixing them are much appreciated.

Maintaining

Maintenance of a package involves the tasks like updating a package to the latest version, keeping the package to be in accordance with the current Debian policies and standards etc.

Packaging workflow

We use git with git-buildpackage and pristine-tar together for each package on salsa. Before you continue, ensure you have installed the tools used by the team:

apt-get install git-buildpackage pristine-tar

Git workflow

The following workflow is used for (almost) all non-native packages maintained by the lxqt team:

  • git-buildpackage as a building tool, we also use this to import new version upstream tarball and unpacked upstream tarballs.

    Our git repo uses dep14 git branch layout https://dep-team.pages.debian.net/deps/dep14/ , these normally are:

    • debian/sid branch containing upstream + the debian/ repository (with patches unapplied).
    • pristine-tar branch to store upstream tarballs for the package.
    • upstream/latest branch tracking unpacked upstream tarballs
    possibly other branches for backports or stable/testing updates, with specific debian/gbp.conf configuration.

Development environment setup

1)Debian unstable environment You must have a Debian unstable environment (physical/dual boot, virtual machine, container or a chroot with schroot) to create packages suitable for uploading to Debian. See instructions given below to setup Debian Sid. You can use lxc, docker or a virtual machine for development.

2)Sbuild sbuild rebuilds Debian binary packages from the corresponding Debian source, installing any missing source dependencies. The build takes place in a dedicated clean build environment (chroot), rather than on the host system. https://wiki.debian.org/sbuild

Direct/Bare metal install

You can install Debian unstable in your machine under dual boot configuration or even replacing existing OS. For more info https://wiki.debian.org/DebianUnstable

sbuild Automatic setup using sbuild-debian-developer-setup

sbuild provides the package sbuild-debian-developer-setup which helps you setup an sbuild environment easily, if you're interested, make sure to take a look at the manpage at https://manpages.debian.org/unstable/sbuild/sbuild-debian-developer-setup.1

  sudo apt install sbuild-debian-developer-setup
  sudo sbuild-debian-developer-setup

Virtual Machines

Install an hyvervisor like virtual box or something similar and spin up an debian unstable https://wiki.debian.org/Packaging/Pre-Requisites/Virtual-Machine

sbuild Automatic setup using sbuild-debian-developer-setup

sbuild provides the package sbuild-debian-developer-setup which helps you setup an sbuild environment easily, if you're interested, make sure to take a look at the manpage at https://manpages.debian.org/unstable/sbuild/sbuild-debian-developer-setup.1

  sudo apt install sbuild-debian-developer-setup
  sudo sbuild-debian-developer-setup

Docker

setup docker debian unstable container https://wiki.debian.org/Packaging/Pre-Requisites/Docker

Tasks for team-maintained lxqt packages

Updating a package to a newer version

First make sure you got a local repository from salsa which has the pristine-tar branch:

gbp clone --pristine-tar git@salsa.debian.org:lxqt-team/<pkg-name>.git

If you have a working debian/watch file (check by running uscan --verbose --report), you can simply import a new version with

gbp import-orig --pristine-tar --uscan

You need to compare the newer version with the previous version for all the changes. And then update debian/copyright if any license changes and add yourself if not listed yet.

See if there are files with extra copyright notices not covered , Check in *LICENSE* README.* COPYING etc if there are other copyright holders mentioned and add them to debian/copyright.

licensecheck --deb-machine -r -l0 *

Update debian/copyright with any missing information.

Set new upstream version in debian/changelog by

dch -v <new-upstream-version>-1 -D UNRELEASED

Suggest to work on your own merge-request-queue branch:

git checkout -b yourname/merge-request-queue

Please keep each change as a git commit with useful commit message that we will use to generate as debian/changelog entries. You may build the package locally with pbuilder/cowbuilder or sbuild however you prefer. Please run lintian check after package builds locally. Fix each lintian error as a small commit with useful commit message. Generate changelog entries since a specific commit(this will also update the UNRELEASED to unstable, manually update it to experimental if needed):

gbp dch --git-author --release --since COMMIT_hash

All your previous small git commit changes will be auto generate as entries in debian/changelog. Push your commits into salsa in your own merge-request-queue branch.

git push origin yourname/merge-request-queue

Check salsa-ci tests result on salsa web interface. Fix all the tests and then create Merge Request on salsa web interface. Ensure the Merge Request that targeting to correct branch, usually debian/sid or debian/experimental for package needs.

Team peer review and team upload policy

Protected branches

The debian/* branch on salsa are protected branches where accepts changes only via Merge Request.

Merge Request

Please take a good practice that always submit your changes as a Merge Request on salsa. You should keep each change one commit with a commit message in the subject for dch to auto-generate debian/changelog.

Salsa CI pipeline

All Merge Request must have Salsa CI pipeline passed.

Peer Review

We use peer review policy for all the Merge Requests. Please be patience for other members to review your Merge Request. If any mistake happen in your merge request that found by other team member in the comment. You may amend it in your local branch and then do --force push to fix the mistakes in your own yourname/merge-request-queue branch before uploaded into Debian archive.

Merge and Upload

After all issues resolved in the Merge Request. Debian developers in the team who processed the merge should do the upload or sponsor upload as well.