Skip to main content

Posts

Showing posts with the label debian

Ubuntu Archive and CD/USB images complete migration to 4096 RSA signing keys

Enigma machine photo by Alessandro Nassiri [ CC BY-SA 4.0 ], via Wikimedia Commons Ubuntu Archive and CD/USB image use OpenPGP cryptography for verification and integrity protection. In 2012, a new archive signing key was created and we have started to dual-sign everything with both old and new keys. In April 2017, Ubuntu 12.04 LTS (Precise Pangolin) will go end of life. Precise was the last release that was signed with just the old signing key. Thus when Zesty Zapus is released as Ubuntu 17.04, there will no longer be any supported Ubuntu release that require the 2004 signing keys for validation. The Zesty Zapus release is now signed with just the 2012 signing key, which is 4096 RSA based key. The old 2004 signing keys, where were 1024 DSA based, have been removed from the default keyring and are no longer trusted by default in Zesty and up. The old keys are available in the removed keys keyring in the ubuntu-keyring package, for example in case one wants to verify things ...

Swapfiles by default in Ubuntu

4MB RAM card By default, in Ubuntu, we usually create a swap partition. Back in the day of 4MB RAM cards this made total sense, as the ration of RAM to disk space, was still very low. Things have changed since. Server, desktop, embedded systems have migrated to newer generations of both RAM and persistent storage. On the high performance side of things we see machines with faster storage in the form of NVMe and SSD drives. Reserving space for swap on such storage, can be seen as expensive and wasteful. This is also true for recent enough laptops and desktops too. Mobile phones have substantial amounts of RAM these days, and at times, coupled with eMMC storage - it is flash storage of lower performance, which have limited number of write cycles, hence should not be overused for volatile swap data. And there are also unicorns in a form of high performance computing of high memory (shared memory) systems with little or no disk space. Today, carving a partition and reserving twice...

/boot less LVM rootfs in Zesty

On Ubuntu many of the default boot loaders support booting kernels located on LVM volumes. This includes following platforms i686, x86_64 bios grub2 arm64, armhf, i686, x86_64 UEFI grub2 PReP partitions on IBM PowerPC zipl on IBM zSystems For all of the above the d-i has been modified in Zesty to create LVM based installations without a dedicated /boot partition. We shall celebrate this achievement. Hopefully this means one doesn't need to remove kernels as much, or care about sizing /boot volume appropriately any more. If there are more bootloaders in Ubuntu that support booting off LVM, please do get in touch with me. I'm interested if I can safely enable following platforms as well: armhf with u-boot arm64 with u-boot ppc64el with PReP volume ps. boots pic is from here

cross-compile go code, including cgo

By all means cross-compiling a new language/stack is not going to be pretty, but it didn't turn out that bad. A few weeks back, I was told that go code which uses cgo (that is utilising C api calls to shared libraries exporting C interface) cannot be cross-compiled. Well, if it's just calling out a C compiler it should totally be easy to cross compile, since so much of our platform is. So there we go, first I've picked a moderately small project which only does a couple cgo calls, and check that it compiles correctly: $ sudo apt-get build-dep ubuntu-push-client $ go get launchpad.net/ubuntu-push/... $ cd $GOPATH/src/launchpad.net/ubuntu-push/ $ go build ubuntu-push-client.go Well, when your gcc is all is easy. I didn't want to polute my system, so I quickly created a chroot with go, build-dependencies in armhf architectures and cross-compiler: # Get a chroot with build-dependencies installed, I am basing on top of a click-chroot # one should be able to use...

libnih (upstart dependency) ported to kFreeBSD/eglibc

Back in September at the Linux Plumbers Conference in New Orleans, James Hunt and I presented Upstart roadmap , which included porting Upstart to kFreeBSD/glibc. The first milestone is now complete. Libnih is ported to kFreeBSD/eglibc. During the course to get there the following has happened: Petr Salinger (ps-guest) adds waitid() support  to eglibc-2.18 packaging branch using  wait6 syscall Later libnih test-suite gets a test case failure, which is then reported to FreeBSD.org . Turns out some syscalls on FreeBSD returned bogus siginfo_t.si_status information in some cases. Luckily there is now a full test-case and kernel patch posted by Jilles Tjoelker. Once that's committed upstream, I'll push for uploads to the affected kernels in Debian. A few small patches applied to libnih, mostly adding POSIX compliant header includes and the like.  So with a patched libc and patched kernel one can compile libnih & run its test-suite. There are however some...

My Debian Activities: Multiarch & upstart on kFreeBSD hacking

Looks like there is a recent trend to publicize one's debian activities, so I thought I should join in =) Not so sure if MDA acronym would work for these types of posts... Multiarch I have been working on multi-arching additional libraries. In particular I am working on multiarching boost libraries. At the moment boost1.53 multiarched libraries are uploaded in the experimental, and I am still working out the quirks with those. At the same time I have submitted a patch to multiarch libicu-dev, which has been accepted by the maintainer and is currently waiting in new queue.  This brings us closer to multiarching all of boost libraries. But as it has been pointed out at the Multiarch BOF at Debconf'13, one doesn't have to wait for dependencies (be it libs or lib-devs) to be Multiarched before multi-arching your own library. If you do it right (put all or arch-specifi headers in multiarch location, and place libraries in multiarch location, split utilities into a separate p...

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...

#takethestage

#stagetaken I have now permanently settled in the UK.

Hello Debian, Planet and Debconf12

I'm going to Debconf12 Hello Debian Planet! I have recently became a Debian Developer. One of the first things I did, was fix some RC bugs in my packages due to an ABI break from upstream in a point release. Then I fixed some bugs in  offlineimap... Little did I know, that I broke it for many Debian developers including  my ex boss and the Debian Project Leader  all at the same time. Speaking of which, any help will be appreciated in hunting down a memory leak in offlineimap. I am going to Debconf12, thanks to my employer . I am interested in Python/dh_python[2-3], dh, 3.0 (quilt) with a DVCS, lvm2, mdadm, btrfs-tools, autofs, e2fsprogs, dm-crypt, debian-installer, init-systems & friends, OpenERP, offlineimap... if you are as well, find me and talk to me =))) Regards, xnox

Merge planet feeds & remove duplicates

Problem: I like Debian Planet. I like Ubuntu Planet. I do not like reading the same posts twice though. And there are blogs that are syndicated on both. Yahoo! created Pipes , which is like normal shell pipe but for online / web data. One of templates/examples of Yahoo! Pipes is:  Merge RSS and remove duplicates After putting in Debian and Ubuntu planets into the template we get an RSS subscription Link for both planets we get this awesome feed: Ubuntu & Debian Planet Feed Still need to experiment with it though, not sure how real time it is and whether it will fail to de-duplicate some blogs. Hope you like this =)

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.