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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
|
#!/bin/sh
set -ex
# To just download from the sources listed in sources.list.deb and use
# the binary packages, use BUILD=0 ./fetch-and-build . Else, it will
# build all the sources.
BUILD=${BUILD:-1}
DEBS="gdk-imlib1
gtk2-engines-pixbuf
libacl1
libattr1
libbz2-1.0
libc6
libc6-dev
libdps1
libfreetype6
libglib1.2
libgtk1.2
libgtk1.2-common
libice6
libjpeg62
liblcms1
libncurses5
libsm6
libstdc++2.10-glibc2.2
libstdc++2.9-glibc2.1
libstdc++3
libstdc++5
libtiff3g
libwmf0.2-7
libx11-6
libxaw7
libxext6
libxft1
libxi6
libxml2
libxmu6
libxmuu1
libxp6
libxpm4
libxrandr2
libxt6
libxtrap6
libxtst6
xaw3dg
xlibmesa-gl
xlibmesa-glu
xlibs-data
zlib1g
lesstif2
libxrender1
libexpat1
libfontconfig1
libgcc1
coreutils
"
export APTDIR=$(mktemp -d)
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=i386"
# Prepare APTDIR
mkdir -p $APTDIR/state/lists/partial
mkdir -p $APTDIR/cache/archives/partial
echo -n > $APTDIR/state/status
APT_GET="$APT_GET --allow-unauthenticated -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=i386 \
-o Dir::State::Status=$APTDIR/state/status"
SRCS=""
for i in $DEBS; do
if [ -e local/pkgs/${i}_*.deb ]; then
continue
fi
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 ..
if [ "$BUILD" = 1 ]; then
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 $pk
done
cd ..
else
for pkg in $DEBS; do
if [ -e local/pkgs/${pkg}_*.deb ]; then
cp local/pkgs/${pkg}_*.deb build/
else
$APT_GET --download-only install $pkg
cp $APTDIR/cache/archives/$pkg_*.deb build/
fi
done
fi
for pkg in $DEBS; do
mv build/${pkg}_*.deb pkgs/
done
rm -rf $APTDIR build
exit 0
|