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. https://salsa.debian.org/lxqt-team Packages information -------------------- Packages overview: https://qa.debian.org/developer.php?email=pkg-lxqt-devel%40lists.alioth.debian.org Debian Maintainer Dashboard for the team: https://udd.debian.org/dmd.cgi?email1=pkg-lxqt-devel%40lists.alioth.debian.org Bugs reported on packages maitained by the team: https://bugs.debian.org/cgi-bin/pkgreport.cgi?dist=unstable;maint=pkg-lxqt-devel%40lists.alioth.debian.org Git repositories for the team: https://salsa.debian.org/lxqt-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 can 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=pkg-lxqt-devel%40lists.alioth.debian.org or https://udd.debian.org/dmd.cgi?email1=pkg-lxqt-devel%40lists.alioth.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 ----------- Maintainance 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 1.a)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 1.b)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 2.a)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 2.b)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 3)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/.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 -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. Wait for team members for peer review. May do --force push to fix mistakes in your own yourname/merge-request-queue branch. After all issue resolved in the Merge Request. One of the Debian developers in the team may click on the merge and sponsor the upload.