[Android-tools-devel] IRC Questions

殷啟聰 | Kai-Chung Yan seamlik at debian.org
Sun Jun 9 13:50:57 BST 2019


Hello Katerina,

I was out yesterday so couldn't reply to you. As you are not online in the channel, I'm replying you via email. Remember that it is better to ask questions in public channels so other developers can also help while I am unavailable.

> is it also a prepared package?

It's another simple package that you can use to learn the basics.

> Do I need to use for this JavaHelper or any other programs?

`javahelper` is one of the Debhelper addons that you don't directly use by yourself. In fact it's less used these days as it is designed for building very simple Java projects. Usually we would use `maven-debian-helper` or `gradle-debian-helper`. `debian/rules` is the place you tell Debhelper to use an addon, and Debhelper reads other declarative files like `debian/*.install` to know how to build the package.

`debian/rules` is the main entry point of a build, which is also a Makefile. It runs Debhelper (`dh`) which then runs the build system of the package depending on what addons you use, and then it builds a `.deb` file by processing the built artifacts.

> Do I need to change/modificate this package or create the new one from scratch?

You are to update the existing package to a newer release.

> How I need to do this work on salsa?

You are to clone the repository, work on it, and then make a merge request to the original repository. After I review it and merge it, I will upload the work to Debian's archive.

# The usual workflow of updating a package

First download the new release. You can run `uscan --report` to know if the package has a newer upstream release. When you decide on what version you are going to update to, add a new entry in `debian/changelog` by running `dch -v <version>` and run `uscan --download-current-version`. This will download the upstream code tarball to the parent directory.

Then you import the release. Run `gbp import-orig --pristine-tar --sign-tags <tarball>` and it will import the code to the `upstream` branch, generates data in `pristine-tar` branch and merge `master` with `upstream`. We only modifies files under `debian/` in `master` branch. Any changes to the upstream files must be done to the upstream tarball and import again.

Then you refresh the patches in `debian/patches` using Quilt so they apply to the new code. These patches let you modify the upstream files only during build-time. You will need to do some other work so the build system still build the project perfectly.

You can build the package using `debuild`, but you will need to install all the build dependencies on your system. If you don't want to install all those packages, you can use `cowbuilder` or some other variants of `pbuilder` which creates a container when building the package. They are also a great tool to check dependency errors.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/android-tools-devel/attachments/20190609/e5e82b01/attachment.sig>


More information about the Android-tools-devel mailing list