[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Building my own packages



Victor Sudakov wrote:

>> Well, I use debuild to build and reprepro to maintain a local repository
>> of former KDE3 now called TDE.
> 
> I've already tried reprepro and it seems to do its job well in publishing
> the packages I feed to it. Now it's building time.
> 
>> I do not build automatically but from time to time I pull changes and
>> build the packages. Because there are dependencies it depends which
>> package changes this affects other packages. For that reason I created a
>> Makefile (actually few of them that complement each other).
>> You have to rebuild all dependencies if you rebuild one package. You
>> simply can not just build and replace a package in production environment
>> without testing it, making a backup or whatever.
> 
> There lies the point which I don't completely understand yet. If I want
> to build a php or exim4 package with my own build options, to what
> extent should I also build their dependencies? And how do I name those
> packages so that they coexist with the default Debian ones?
> 
You just put here questions that one can not answer. Answer of these
questions will help you define your use case and this will help you define
the steps to complete the requirements.
In general you should build so that there is compatibility and no a
coexistence but replace the original package (read the debian packaging
doc)
If you want coexistence of packages you should change for example the
install prefix. Now for exim you can not have two exim processes running
the same time on same port. You should also consider modifying ports etc.

> OTOH, sometimes I would want my package (e.g. tcpdump with my patch) to
> override Debian's one.
> 

yes - it depends on the use case

>> I guess the answer to your question is that there is no such out of the
>> box tool, but you need something specific to your setup.
> 
> Pity. I wonder what those people and companies use who publish their own
> repos/products for Debian (Hashicorp, PostgreSQL, Zabbix etc).
> 

It is not the tools, but the final product that matters. At the end you get
a package to install. The packagers take care of the details. There are
many ways to reach the goal.

>> Also consider the number of debian packages - You surely need a small
>> subset - again you have to configure this for yourself.
>> I guess all here would agree that with the release model of Debian you
>> have a lot of freedom (stable-testing-experimental) to save time on
>> rebuilding packages, otherwise it is called Gentoo.
> 
> Can I use some of the Gentoo ecosystem on Debian, for a few selected
> packages? Or maybe snap is for me?
> 

I do not think so. I don't know snap. I learn  recently flatpack appeared,
but never tried it.

>> On top of that don't forget that debian packages include patches and
>> fixes specific to debian.
> 
> I hoped to download Debian's source packages (already including all
> Debian-specific stuff) and just rebuild them with minimal
> changes/patches.

Then I would advice to start with https://wiki.debian.org/Packaging

but remember it depends which package you change. If it is library all the
packages depending on this library might need recompiling which is not
exactly easy task.

I hope you do it in a test environment like virtual machine first. I build
in chroot, publish the packages with reprepro and install to test first in
a VM. If it works well I have tftp boot setup where I install the packages
in chroot on the server, I boot the machine from tftp and test. If this
works I boot from disk and install the packages for production use.
This is industry quality process for testing and acceptance.

 


Reply to: