Size: 2174
Comment: Building packages from another distribution (e.g. testing)
|
Size: 2295
Comment: dpkg-buildpackage for another arch
|
Deletions are marked like this. | Additions are marked like this. |
Line 39: | Line 39: |
dpkg-buildpackage -b | dpkg-buildpackage -b -uc }}} To build for another architecture (cross compile), use {{{#!highlight sh dpkg-buildpackage -b -uc -ai386 |
1 # What packages use the most disk space?
2 dpkg-query -W -f='${Installed-Size;10}\t${Package}\n' | sort -n
3
4 # Reinstall conf files
5 sudo dpkg -i --force-confmiss /var/cache/apt/archives/whatever*deb
6 sudo aptitude install -o 'Dpkg::Options::=--force-confmiss' whatever # Doesn't work?
7
8 # Remove old kernels
9 # from: http://chr4.org/blog/2013/08/04/apt-get-cleanup-commands/
10 apt-get purge $(dpkg --list |egrep 'linux-image-[0-9]' |awk '{print $3,$2}' |sort -nr |tail -n +2 |grep -v $(uname -r) |awk '{ print $2}')
11
12
13 # List packages that are uninstalled, but configuration remains
14 dpkg --list |grep '^rc' |awk '{print $2}'
15 # Remove those packages
16 apt-get purge -y $(dpkg --list |grep '^rc' |awk '{print $2}')
17 apt-get autoremove -y # Remove dependencies no longer required
18
Building packages
If using dpkg-buildpackage to build a customized package (one for which you've not made a formal patch), you may get an error that looks like:
dpkg-source: info: using source format `3.0 (quilt)' dpkg-source: info: building cairo using existing ./cairo_1.13.0~20140204.orig.tar.xz dpkg-source: info: local changes detected, the modified files are: cairo-1.13.0~20140204/src/cairo-ft-font.c dpkg-source: info: you can integrate the local changes with dpkg-source --commit dpkg-source: error: aborting due to unexpected upstream changes, see /tmp/cairo_1.13.0~20140204-0ubuntu1.diff.Rho4ow dpkg-buildpackage: error: dpkg-source -b cairo-1.13.0~20140204 gave error exit status 2
This is because dpkg-buildpackage wants to create a source package, but with an unexpected change a source package may get built that does not match the binary. To fix this, pass the '-b' option to only build a binary:
1 dpkg-buildpackage -b -uc
To build for another architecture (cross compile), use
1 dpkg-buildpackage -b -uc -ai386
Building packages from another distribution (e.g. testing)
Add deb-src line for the repository (Q: how do you specify from where to fetch the package?). Then:
aptitude install build-essential fakeroot devscripts apt-get build-deb $PACKAGE apt-get -b source $PACKAGE # Install the created *.deb file