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

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

add new function to clean sources config

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