Transition procedure tips

From time to time the system changes major version and we should rebuild (or update) many components, placing them into a new repo. Let say current version is 2 (du2) and new one will be du3. First of all you should update /etc/apt/sources.list like this:

deb http://apt2.dilos.org/dilos dg3-unstable main contrib non-free deb http://apt2.dilos.org/dilos du3-unstable main contrib non-free deb http://apt2.dilos.org/dilos dg2-unstable main contrib non-free deb http://apt2.dilos.org/dilos du2-unstable main contrib non-free deb-src http://mirrors.kernel.org/debian/ buster-updates main contrib non-free deb-src http://mirrors.kernel.org/debian/ buster-proposed-updates main contrib non-free deb-src http://mirrors.kernel.org/debian/ buster-backports main contrib non-free deb-src http://mirrors.kernel.org/debian/ buster main contrib non-free

Here we placed new repo above old repo, when you rebuild a component it has a new version, that means a higher priority to install it. Due to transiotion rebuild you use old repo to install build dependecies and use buster source repository from the debian upstream.

To test a built package remove all references to du2 repository in the file /etc/apt/sources.list and try to install it. All dependencies should be built and placed into the du3 repository.

deb http://apt2.dilos.org/dilos dg3-unstable main contrib non-free deb http://apt2.dilos.org/dilos du3-unstable main contrib non-free #deb http://apt2.dilos.org/dilos dg2-unstable main contrib non-free #deb http://apt2.dilos.org/dilos du2-unstable main contrib non-free deb-src http://mirrors.kernel.org/debian/ buster-updates main contrib non-free deb-src http://mirrors.kernel.org/debian/ buster-proposed-updates main contrib non-free deb-src http://mirrors.kernel.org/debian/ buster-backports main contrib non-free deb-src http://mirrors.kernel.org/debian/ buster main contrib non-free

Don’t forget to do apt update every time you changed the file /etc/apt/sources.list.

If you want to test it locally use dpkg -i command to install a package. Also you can download some dependency packages required by your new package from du2 repository using apt download command in a zone with active du2 repository, then just install them into the test zone. For example, you could install some gcc-6 libraries, in some time they will be replaced by gcc-8.

You may want to create local repository, see HOWTO page https://dilos-dev.atlassian.net/wiki/spaces/DS/pages/2323775489/How+to+create+local+repository+in+the+zone