Skip to main content

Posts

Showing posts with the label packaging

Boiling frog, or when did we loose it with /etc ?

$ sudo find /etc -type f | wc -l 2794 Stateless When was the last time you looked at /etc and thought - "I honestly know what every single file in here is". Or for example had a thought "Each file in here is configuration changes that I made". Or for example do you have confidence that your system will continue to function correctly if any of those files and directories are removed? Traditionally most *NIX utilities are simple enough utilities, that do not require any configuration files what's so ever. However most have command line arguments, and environment variables to manipulate their behavior. Some of the more complex utilities have configuration files under /etc, sometimes with "layer" configuration from user's home directory (~/). Most of them are generally widely accepted. However, these do not segregate upstream / distribution / site administrator / local administrator / user configuration changes. Most update mechanisms cre...

abi-compliance-checker & dh / cdbs integration

dh-autoreconf is an amazing addon for running autoreconf, I just love it. abi-compliance-checker is an amazing tool for tracking API/ABI. Wouldn't it be great to glue abi-compliance-checker into dh / cdbs packaging?!  abi-compliance-checker (1.98.8-1~exp1) experimental; urgency=low  .    * New upstream release    * Add dh_acc to generate and compare library dumps at build time,      together with addons for dh(7) and cdbs.    * Bump standards version, bump debhelper to 9, use 3.0 (quilt) format,      update Vcs-Svn field to canonical form, remove obsolete      DM-Upload-Allowed.    * Apply a patch to allow suffixes on a-c-c abi dumps. Horay! So how does one use it? build-depend on dh-acc In your debian/rules call dh_acc somewhere appropriate dh $@ --with acc include /usr/share/cdbs/1/rules/acc.mk In your debian/libpackage-dev.acc Write a abi-compliance-checker descriptor (n...

FTBFS fixes and other patches available for your package!

Wheeze is planned to release very soon! There is still a fair amount of work to push the release out, but it does mean that a lot of fun can begin for jessie. Over the past cycle in Ubuntu, many packages where synced from experimental, many fixes were applied and many packages were upgraded ahead of debian version strings. If one goes to your package PTS page at: packages.qa.debian.org /$SCRPACKAGENAME One can find the following box titled "ubuntu" in it: Please click on "patches for VERSION STRING" to find: Useless irrelevant changes =) oh well, it happens FTBFS fixes due to GCC 4.8 (*) FTBFS fixes due to new GlibC FTBFS fixes due to multiarched Python2.7 and Python3.3 FTBFS fixes due to multiarched Tcl/Tk FTBFS fixes due to Python hash randomisation enabled FTBFS fixes due to Boost 1.53 (*) Fixes to minimise dependencies when bootstrapping packages Fixes to multiarch more and more libraries Fixes to enable package cross-building ...

avahi + apt-cacher-ng + sbuild ?!

Laptop enters the WiFi network and decides that it wants to build some packages using sbuild. At the same time, on this network there is apt-cacher-ng operating with most of packages cached. On the other hand, there is a project squid-deb-proxy which provides yet another apt proxy, but with the added bonus of avahi discovery. Can we throw all of this stuff together and make it work? Well let's try =) On ubuntu: $ sudo apt-get install apt-cacher-ng squid-deb-proxy-client On debian: Squid-deb-proxy-client is not packaged just fetch and install it. It's really just one python script & one conffile. Or I have published the python script and the config as part of this posts gist . Next all of the avahi magic, really is just publishing a service file & letting the python-script from the squid-deb-proxy-client package find it, and adding apt-conf.d snippet which calls the above mentioned script and generate correct proxy line. But we are running ap...

Thoughts on Debian package policies

configure, Makefile.in, config.guess & config.sub Are static, included copies of code that should always be rebuild during build. If they are not rebuild at build time, it should be documented/automated the relevant helpers that are needed to rebuild the package. If they are failing to rebuild it's RC since source code is provided that is effectively cannot be modified in the preferred form. They also should not be modified in patch form, as editing generated code is not preferred form of modification. Also it constantly hurts us when bringing up new kernels and architectures (recently kfreebsd, armhf, aarch64). dh_autoreconf is a great tool to achieve thiis s. no native packages Generally if software is useful in Debian Project it can be useful for other debian-like and unlike projects. In particular native packages do not offer the same patching flexibility as 3.0 (quilt), thus forcing downstream distributions to inline modify packages without DEP-3 headers. This hurts u...

Lintian no-symbols-control-file

This advice has been posted on the debian-mentors mailing list. A quick how to generate symbols file $ apt-get source libsword6 $ cd sword-1.5.9 $ debuild binary $ rm -f debian/*.symbols dpkg-gensymbols* $ dpkg-gensymbols -plibsword6 -Pdebian/libsword6 | patch -p0 $ mv dpkg-gensymbols* debian/libsword6.symbols $ perl -pi -e 's/-\d.*//' debian/libsword6.symbols

dpkg-shlibdeps: warning: dependency could be avoided

dpkg-shlibdeps: warning: dependency on $(lib) could be avoided if $(object) were not uselessly linked against it (they use none of its symbols). I didn't like this build time warning at all. In the library packaging guide a found a nifty trick, add this line to the debian/rules (this is cdbs, don't know how it is done with debhelper scripts) DEB_CONFIGURE_SCRIPT_ENV += LDFLAGS=" -Wl,--as-needed" This worked for the executable and I've saved 300 bytes!!!!! Yeah =D It didn't work for the library though =( Bummer.