- add a helper script to generate opkg.conf, attempt to detect package architecture...
[openwrt/openwrt.git] / target / imagebuilder / files / opkg-generate-config.sh
1 #!/bin/sh
2
3 TOPDIR="$(pwd)"
4 TARGETDIR="${1}"
5
6 [ -f "$TOPDIR/scripts/${0##*/}" ] || {
7 echo "Please execute within the toplevel directory" >&2
8 exit 1
9 }
10
11 # Try to find package architecture from packages directory
12 PKGARCH=
13 for pkg in $TOPDIR/packages/*.ipk; do
14 if [ -f "$pkg" ]; then
15 PKGARCH="${pkg##*_}"
16 PKGARCH="${PKGARCH%.ipk}"
17 [ "$PKGARCH" = all ] || break
18 fi
19 done
20
21 # Try to find package architecture from the target directory
22 [ -n "$PKGARCH" ] || {
23 PKGARCH="${TARGETDIR##*/root-}"
24 [ "$PKGARCH" != "$TARGETDIR" ] || {
25 echo "Cannot determine package architecture" >&2
26 exit 1
27 }
28 }
29
30 rm -f $TOPDIR/tmp/opkg.conf
31
32 [ -f $TOPDIR/repositories.conf ] && \
33 $TOPDIR/staging_dir/host/bin/sed \
34 -n -e "s/\$A/$PKGARCH/g" -e "/^[[:space:]*]src/p" \
35 $TOPDIR/repositories.conf > $TOPDIR/tmp/opkg.conf
36
37 cat <<EOT >> $TOPDIR/tmp/opkg.conf
38 dest root /
39 arch all 100
40 arch $PKGARCH 200
41 option offline_root $TARGETDIR
42 src imagebuilder file:$TOPDIR/packages
43 EOT
44
45 exit 0