source: lliurex-maker/trunk/fuentes/new/usr/share/lliurex-maker/libs/addPPA @ 1199

Last change on this file since 1199 was 1199, checked in by kbut, 3 years ago

added support to extra mirrors

File size: 2.5 KB
Line 
1addPPA(){
2
3        mkdir -p config/archives/
4        rm -f config/archives/extra-ppas.list.chroot \
5              config/archives/extra-ppas.pref.chroot \
6              config/archives/extra-ppas.key.chroot || true
7        gpg_tmpdir="$(mktemp -d)"
8        run_gpg () {
9                gpg --no-default-keyring --no-options --homedir "$gpg_tmpdir" \
10                        --secret-keyring "$gpg_tmpdir/secring.gpg" \
11                        --keyserver hkp://keyserver.ubuntu.com:80/ \
12                        "$@"
13        }
14        for extra_ppa in $EXTRA_PPAS; do
15                extra_ppa_pin=''
16                extra_ppa_origin=''
17                case $extra_ppa in
18                    *:*)
19                        extra_ppa_pin=${extra_ppa#*:}
20                        extra_ppa=${extra_ppa%:*}
21                        ;;
22                esac
23                extra_ppa_fingerprint="$(/usr/share/livecd-rootfs/get-ppa-fingerprint "$extra_ppa")"
24
25                echo "deb http://ppa.launchpad.net/$extra_ppa/ubuntu @DISTRIBUTION@ main" >> config/archives/extra-ppas.list.chroot
26                echo "deb-src http://ppa.launchpad.net/$extra_ppa/ubuntu @DISTRIBUTION@ main" >> config/archives/extra-ppas.list.chroot
27
28                if [ -n "$extra_ppa_pin" ]; then
29                    extra_ppa_origin="LP-PPA-$(echo $extra_ppa | sed -e 's,/ppa$,,' -e 's,/,-,')"
30                    echo "Package: *" >> config/archives/extra-ppas.pref.chroot
31                    echo "Pin: release o=$extra_ppa_origin" >> config/archives/extra-ppas.pref.chroot
32                    echo "Pin-Priority: $extra_ppa_pin" >> config/archives/extra-ppas.pref.chroot
33                    echo "" >> config/archives/extra-ppas.pref.chroot
34                fi
35                run_gpg --keyring "$gpg_tmpdir/pubring.gpg" \
36                        --recv "$extra_ppa_fingerprint"
37                run_gpg --keyring "$gpg_tmpdir/pubring.gpg" \
38                        --output "$gpg_tmpdir/export.gpg" \
39                        --export "$extra_ppa_fingerprint"
40                got_fingerprint="$(
41                        run_gpg --keyring "$gpg_tmpdir/export.gpg" \
42                                --fingerprint --batch --with-colons |
43                        grep '^fpr:' | cut -d: -f10)"
44                if [ "$got_fingerprint" != "$extra_ppa_fingerprint" ]; then
45                        echo "Fingerprints do not match.  Got:" >&2
46                        echo "$got_fingerprint" | sed 's/^/  /' >&2
47                        echo "Expected:" >&2
48                        echo "  $extra_ppa_fingerprint" >&2
49                        exit 1
50                fi
51                cat "$gpg_tmpdir/export.gpg" >> config/archives/extra-ppas.key.chroot
52                rm -f "$gpg_tmpdir/export.gpg"
53        done
54        rm -rf "$gpg_tmpdir"
55        cp -a config/archives/extra-ppas.list.chroot \
56              config/archives/extra-ppas.list.binary
57        cp -a config/archives/extra-ppas.key.chroot \
58              config/archives/extra-ppas.key.binary
59        if [ -f config/archives/extra-ppas.pref.chroot ]; then
60                cp -a config/archives/extra-ppas.pref.chroot \
61                      config/archives/extra-ppas.pref.binary
62        fi
63}
64
65addExtraMirror(){
66        for extra_mirror in $EXTRA_MIRRORS; do
67                echo "deb $extra_mirror @DISTRIBUTION@ main restricted universe multiverse" >> config/archives/extra-ppas.list.chroot
68        done
69}
Note: See TracBrowser for help on using the repository browser.