1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
#!/bin/sh
set -ex
# libmagick6.0.3 libstdc++2.10-glibc2.2 libstdc++2.9-glibc2.1 libstdc++3 libtiff3g
# DEBS="gdk-imlib1 gtk2-engines-pixbuf libbz2-1.0 libc6 libdps1 libfreetype6 libglib1.2 libgtk1.2-common libgtk1.2 libice6 libjpeg62 liblcms1 libncurses5 libsm6 libstdc++5 libtiff4 libwmf0.2-7 libx11-6 libxaw7 libxext6 libxft1 libxi6 libxml2 libxmu6 libxmuu1 libxp6 libxpm4 libxrandr2 libxt6 libxtrap6 libxtst6 xaw3dg xlibmesa-gl xlibmesa-glu zlib1g libc6-dev libncurses5-dev linux-kernel-headers"
# DEBS="libbz2-1.0 libbz2-dev libc6 libncurses5 zlib1g zlib1g-dev libc6-dev libc6-dbg libc6-prof libncurses5-dev libncurses5-dbg linux-kernel-headers"
# DEBS="libbz2-1.0 libbz2-dev zlib1g zlib1g-dev"
DEBS="libbz2-1.0 libbz2-dev"
export APTDIR=/tmp/$USER/apt
mkdir -p $APTDIR
rm -rf pkgs
mkdir pkgs
rm -rf srcs
mkdir srcs
rm -rf build
mkdir build
LIST=sources.list.deb
APT_GET="apt-get --assume-yes \
-o Dir::Etc::sourcelist=`pwd`/$LIST \
-o Dir::State=$APTDIR/state \
-o Debug::NoLocking=true \
-o Dir::Cache=$APTDIR/cache \
-o Acquire::Retries=3 \
-o Apt::Architecture=amd64"
# Prepare APTDIR
mkdir -p $APTDIR/state/lists/partial
mkdir -p $APTDIR/cache/archives/partial
echo -n > $APTDIR/state/status
APT_GET="$APT_GET -o Dir::State::Status=$APTDIR/state/status"
$APT_GET update
APT_CACHE="apt-cache \
-o Dir::Etc::sourcelist=`pwd`/$LIST \
-o Dir::State=$APTDIR/state \
-o Debug::NoLocking=true \
-o Dir::Cache=$APTDIR/cache \
-o Acquire::Retries=3 \
-o Apt::Architecture=amd64 \
-o Dir::State::Status=$APTDIR/state/status"
SRCS=""
for i in $DEBS; do
src=`$APT_CACHE showsrc $i | grep '^Package: ' | head -n 1 | awk '{print $2}'`
case " $SRCS " in
*" $src "*) ;;
*) SRCS="$SRCS $src" ;;
esac
done
cd srcs
apt-get -d source $SRCS
cd ..
cd build
for pkg in $SRCS; do
echo $pkg
dpkg-source -sn -x ../srcs/${pkg}_*.dsc
cd $pkg-*
dpkg-buildpackage -rfakeroot -uc -us -B
cd ..
rm -rf $pkg-*
done
cd ..
for pkg in $DEBS; do
mv build/${pkg}_*.deb pkgs/
done
exit 0
|