1,381
edits
Changes
→Pbuilder
if you're idea is build ubuntu packages then you need install other packages
<pre>sudo apt-get install build-essential devscripts dh-make quilt autogen autoconf dh-autoreconf dh-buildinfo dh-make pkg-configkernel-package debootstrap
</pre>
A [https://wiki.ubuntu.com/PbuilderHowto pbuilder] environment is a chrooted environment which can have a different distro series or architecture than your host system.
<pre>sudo apt-get install pbuilder pbuilder-scripts qemu-user-staticdebian-keyring debian-archive-keyring ubuntu-keyring emdebian-archive-keyring debian-ports-archive-keyring</pre>
Create ~/.pbuilderrc file with your own pbuilder setup like thisscript, upu can use below script:
<pre class="brush: bash, /shell; highlight: [5, 15]; html-script: true"> # !/bin/sh
set -e
if [ "$OS" == "debian" ]; then
MIRRORSITE="http://ftp.no.debian.org/debian/"
COMPONENTS="main contrib non-free"
DEBOOTSTRAPOPTS=("${DEBOOTSTRAPOPTS[@]}"
: ${DIST:="wheezy"}
: ${ARCH:="amd64"}
fi
elif [ "$OS" == "raspbian" ]; then
MIRRORSITE="http://ftp.acc.umu.se/mirror/raspbian/raspbian/"
COMPONENTS="main contrib non-free"
: ${ARCH:="armhf"}
elif [ "$OS" == "ubuntu" ]; then
MIRRORSITE="http://no.archive.ubuntu.com/ubuntu/"
COMPONENTS="main restricted universe multiverse"
"--keyring=/usr/share/keyrings/ubuntu-archive-keyring.gpg")
else
echo "Unknown OS: $OS"
exit 1
fi
if [ "$DIST" == "" ]; then
echo "DIST is not set"
exit 1
fi
if [ "$ARCH" == "" ]; then
echo "ARCH is not set"
exit 1
fi
NAME="$OS-$DIST-$ARCH"
if [ "$ARCH" == "armel" ] && [ "$(dpkg --print-architecture)" != "armel" ]; then
DEBOOTSTRAP="qemu-debootstrap"
fi
if [ "$ARCH" == "armhf" ] && [ "$(dpkg --print-architecture)" != "armhf" ]; then
DEBOOTSTRAP="qemu-debootstrap"
fi
DEBOOTSTRAPOPTS=("${DEBOOTSTRAPOPTS[@]}" "--arch=$ARCH")
BASETGZ="/var/cache/pbuilder/$NAME-base.tgz"
BUILDPLACE="/var/cache/pbuilder/build"
HOOKDIR="/var/cache/pbuilder/hook.d/"
</pre>
The .pbuilderrc file cares about three environment variables:
OS: Either debian, raspbian, or ubuntu
DIST: For example wheezy, jessie, trusty, stretch ...
ARCH: For example amd64, i386, armel, or armhf
Examples:
<pre>sudo OS=debian DIST=wheezy ARCH=amd64 pbuilder --create
sudo OS=debian DIST=wheezy ARCH=i386 pbuilder --create
sudo OS=debian DIST=wheezy ARCH=armel pbuilder --create
sudo OS=debian DIST=wheezy ARCH=armhf pbuilder --create
</pre>