Joachim Breitner's Homepage
customdeb − easy modifications to binary Debian packages
I’m currently working at the Linux migration of the city of Böblingen which is currently pushed forward by Itomig. For our modifications to the client there I thought it would be nice to distribute them as easily as the regular Debian packages. We did not want to write a bunch of scripts that modify the files after installation, or try to create packages that modify other packages file.
So I wrote customdeb, which currently allows you to change the contents and permissions of files inside a debian package, generating a new package (with a local version number) that you can easily distribute to your clients. The changes are specified in a simple, debian/control-like file, which therefore also serve as a documentation of your changes. It either modifies a package that you pass it on the command line or tries to fetch it with dget. More ways to change a package (e.g. adjust dependencies) will be added as soon as I need them (or someone else needs them and sends me a patch).
I think this might be useful for others as well, so I am packaging it for Debian. If you want to try it before it went through the NEW queue, you can find the packages here. Contributions are welcome, but be aware that the perl code is currently written in a not very modular, quick-to-work style. I plan to change that if there is more interest in the program. I have the code in a darcs repository (browse it).
Comments
I wonder if it were sufficient to include the cdeb file used to create the package inside the package, that, together with the unmodified debian source package, would enable anyone to modify the package again.
In any case, the package copyright file should be amended with a notice about the changes.
Could you tell more about the Debian GNU / Linux migration?
I would like to publish a story at http://times.debian.net
Please, send to debian-publicity at lists.debian.org .
What is the current maturity level of customdeb? Is it a more handy tool than the CDD tools?
Also, you could be interested in reading
http://www.techforce.com.br/index.php/news/linux_blog/massive_installation_management_tools_p_1
http://www.techforce.com.br/index.php/news/linux_blog/massive_installation_management_tools_p_2
http://www.techforce.com.br/index.php/news/linux_blog/massive_installation_management_tools_p_3
Regards.
Andre Felipe Machado
About CDD: They differ in the aim in that they want to create policy-compliant packages for public, while customdeb is just an easy way to modify packages for local use.
I’ll tell the main that runs the conversion about times.debian.net.
Installing the package and then going back to modify the config on every single machine is a huge pain in the neck. Especially since were human and that means that you cant get it right every time. Would "customdeb" do this?
Thanx!
Richard
You write a short file describing your changes (Package name, What files to replace with what data), run customdeb over the original package and get a custom package that has your configuration right out of the box.
BTW, customdeb went through NEW.
A few days ago, I asked how to fork a debian package privately. I got some repsonses by comments, e-Mail and other blog posts, and I want to summarize the tools that were suggested. I have not really tried them, just looked at the webpages, the document
I guess this can be considered a bug in customdeb. Probably, in this case the changelog handling should be skipped entirely – patches are welcome. In any case, you should file a bug at bugs.debian.org.
1) automatically build packages with local patches on upgrade
2) show what packages have been modified locally and exactly how
This would be useful for local kernel modifications but also modifications to simpler utilities. Currently I usually just build them in my home directory and install but the problem is that then nobody knows what patches were applied and upgrade to newer version will silently get rid of these patches.
Have something to say? You can post a comment by sending an e-Mail to me at <mail@joachim-breitner.de>, and I will include it here.