blob: bfc0adbe068bcfb0654aa35274931da89b2fa1c6 (
plain)
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
|
#!/bin/sh
# taken and slightly modified from the quickinst script.
# don't know why one should need a static pacman because we already have a working one on the livecd.
assure_pacman_static ()
{
PACMAN_STATIC=
[ -f /tmp/usr/bin/pacman.static ] && PACMAN_STATIC=/tmp/usr/bin/pacman.static
[ -f /usr/bin/pacman.static ] && PACMAN_STATIC=/usr/bin/pacman.static
if [ "$PACMAN_STATIC" = "" ]; then
cd /tmp
if [ "$var_PKG_SOURCE_TYPE" = "ftp" ]; then
echo "Downloading pacman..."
wget $PKGARG/pacman*.pkg.tar.gz
if [ $? -gt 0 ]; then
echo "error: Download failed"
exit 1
fi
tar -xzf pacman*.pkg.tar.gz
elif [ "$var_PKG_SOURCE_TYPE" = "cd" ]; then
echo "Unpacking pacman..."
tar -xzf $PKGARG/pacman*.pkg.tar.gz
fi
fi
[ -f /tmp/usr/bin/pacman.static ] && PACMAN_STATIC=/tmp/usr/bin/pacman.static
if [ "$PACMAN_STATIC" = "" ]; then
echo "error: Cannot find the pacman.static binary!"
exit 1
fi
}
# taken from the quickinst script. cd/ftp code merged together
target_write_pacman_conf ()
{
PKGFILE=/tmp/packages.txt
echo "[core]" >/tmp/pacman.conf
if [ "$var_PKG_SOURCE_TYPE" = "ftp" ]
then
wget $PKG_SOURCE/packages.txt -O /tmp/packages.txt || die_error " Could not fetch package list from server"
echo "Server = $PKGARG" >>/tmp/pacman.conf
fi
if [ "$var_PKG_SOURCE_TYPE" = "cd" ]
then
[ -f $PKG_SOURCE/packages.txt ] || die_error "error: Could not find package list: $PKGFILE"
cp $PKG_SOURCE/packages.txt /tmp/packages.txt
echo "Server = file://$PKGARG" >>/tmp/pacman.conf
fi
mkdir -p $TARGET_DIR/var/cache/pacman/pkg /var/cache/pacman &>/dev/null
rm -f /var/cache/pacman/pkg &>/dev/null
[ "$var_PKG_SOURCE_TYPE" = "ftp" ] && ln -sf $TARGET_DIR/var/cache/pacman/pkg /var/cache/pacman/pkg &>/dev/null
[ "$var_PKG_SOURCE_TYPE" = "cd" ] && ln -sf $PKGARG /var/cache/pacman/pkg &>/dev/null
}
# taken from quickinst. TODO: figure this one out
pacman_what_is_this_for ()
{
PKGLIST=
# fix pacman list!
sed -i -e 's/-i686//g' -e 's/-x86_64//g' $PKGFILE
for i in $(cat $PKGFILE | grep 'base/' | cut -d/ -f2); do
nm=${i%-*-*}
PKGLIST="$PKGLIST $nm"
done
! [ -d $TARGET_DIR/var/lib/pacman ] && mkdir -p $TARGET_DIR/var/lib/pacman
! [ -d /var/lib/pacman ] && mkdir -p /var/lib/pacman
}
|