Implement the -a option in the right place - in livecd.sh, not in

BuildLiveCD.
ubuntu/precise
Steve Langasek 15 years ago
parent 2b04a727f3
commit 8516513b28

@ -37,7 +37,7 @@ while getopts :s:d:f:pa: name; do case $name in
d) NEWSUITE="$OPTARG";; d) NEWSUITE="$OPTARG";;
f) IMAGEFORMAT="-f$OPTARG";; f) IMAGEFORMAT="-f$OPTARG";;
p) PROPOSED="-p";; p) PROPOSED="-p";;
a) APT_SOURCE="$OPTARG";; a) APT_SOURCE="-A $OPTARG";;
esac; done; esac; done;
shift $((OPTIND-1)) shift $((OPTIND-1))
@ -104,23 +104,6 @@ set -e
for STE in $SUITES; do for STE in $SUITES; do
if [ -d ~/build-${STE}-live/chroot-${STE} ]; then if [ -d ~/build-${STE}-live/chroot-${STE} ]; then
if [ -n "$APT_SOURCE" ]; then
sudo sed -i -e"\$a\
deb $APT_SOURCE $STE main" ~/build-${STE}-live/chroot-${STE}/etc/apt/sources.list
# allow unsigned sources, unfortunately
echo 'APT::Get::AllowUnauthenticated "yes";' | sudo tee ~/build-${STE}-live/chroot-${STE}/etc/apt/apt.conf.d/extra-source-allows-unauthenticated-sources > /dev/null
# and add the preferences rules :(
APT_PIN=$(echo $APT_SOURCE | sed -e's,http://,,; s,/.*,,')
cat | sudo tee ~/build-${STE}-live/chroot-${STE}/etc/apt/preferences.d/local-source-preferred-even-downgrade > /dev/null <<EOF
Package: *
Pin: release a=$STE
Pin-Priority: 500
Package: *
Pin: origin $APT_PIN
Pin-Priority: 1001
EOF
fi
sudo chroot ~/build-${STE}-live/chroot-${STE} apt-get -qq update || true sudo chroot ~/build-${STE}-live/chroot-${STE} apt-get -qq update || true
sudo chroot ~/build-${STE}-live/chroot-${STE} apt-get -y dist-upgrade || true sudo chroot ~/build-${STE}-live/chroot-${STE} apt-get -y dist-upgrade || true
fi fi
@ -148,7 +131,7 @@ for STE in $SUITES; do
rm -f ${PUBDIR}latest rm -f ${PUBDIR}latest
ln -sf ${PUBDIR}${NOW} ${PUBDIR}latest ln -sf ${PUBDIR}${NOW} ${PUBDIR}latest
mkdir -p ${PUBDIR}${NOW} mkdir -p ${PUBDIR}${NOW}
if $LINUX32 sudo chroot ${DIR%/./*} sh -c "cd /${DIR#*/./} && /usr/sbin/livecd.sh ${SUBARCHARG} ${PROPOSED} -d${STE} ${IMAGEFORMAT} ${ARCHARG} ${IMAGEARG} $arg" > ${LOG} 2>&1; then if $LINUX32 sudo chroot ${DIR%/./*} sh -c "cd /${DIR#*/./} && /usr/sbin/livecd.sh ${SUBARCHARG} ${APT_SOURCE} ${PROPOSED} -d${STE} ${IMAGEFORMAT} ${ARCHARG} ${IMAGEARG} $arg" > ${LOG} 2>&1; then
rm -f ${PUBDIR}current rm -f ${PUBDIR}current
ln -sf ${NOW} ${PUBDIR}current ln -sf ${NOW} ${PUBDIR}current
@ -182,10 +165,3 @@ for STE in $SUITES; do
fi fi
done done
done done
for STE in $SUITES; do
if [ -d ~/build-${STE}-live/chroot-${STE} ] && [ -n "$APT_SOURCE" ]; then
sudo sed -i -e"/$APT_SOURCE $STE/d" ~/build-${STE}-live/chroot-${STE}/etc/apt/sources.list
sudo rm -f ~/build-${STE}-live/chroot-${STE}/etc/apt/apt.conf.d/extra-source-allows-unauthenticated-sources
sudo rm -f ~/build-${STE}-live/chroot-${STE}/etc/apt/preferences.d/local-source-preferred-even-downgrade
fi
done

7
debian/changelog vendored

@ -1,3 +1,10 @@
livecd-rootfs (1.135) UNRELEASED; urgency=low
* Implement the -a option in the right place - in livecd.sh, not in
BuildLiveCD.
-- Steve Langasek <steve.langasek@ubuntu.com> Tue, 20 Jul 2010 22:31:09 +0200
livecd-rootfs (1.134) maverick; urgency=low livecd-rootfs (1.134) maverick; urgency=low
* Add -a option to BuildLiveCD to allow pulling from an additional apt * Add -a option to BuildLiveCD to allow pulling from an additional apt

@ -155,7 +155,7 @@ IMAGEFORMAT="squashfs"
# name is "ppa", don't omit it # name is "ppa", don't omit it
PPA="" PPA=""
while getopts :d:e:i:I:m:S:s:a:f:p name; do case $name in while getopts :d:e:i:I:m:S:s:a:A:f:p name; do case $name in
d) STE=$OPTARG;; d) STE=$OPTARG;;
e) EXCLUDE="$EXCLUDE $OPTARG";; e) EXCLUDE="$EXCLUDE $OPTARG";;
i) LIST="$LIST $OPTARG";; i) LIST="$LIST $OPTARG";;
@ -164,6 +164,7 @@ while getopts :d:e:i:I:m:S:s:a:f:p name; do case $name in
S) USZ="$OPTARG";; S) USZ="$OPTARG";;
s) SUBARCH="$OPTARG";; s) SUBARCH="$OPTARG";;
a) ARCH="$OPTARG";; a) ARCH="$OPTARG";;
A) APT_SOURCE="$OPTARG";;
f) IMAGEFORMAT="$OPTARG";; f) IMAGEFORMAT="$OPTARG";;
p) PROPOSED="yes";; p) PROPOSED="yes";;
\?) echo bad usage >&2; exit 2;; \?) echo bad usage >&2; exit 2;;
@ -441,6 +442,23 @@ Pin-Priority: 900
Package: * Package: *
Pin: release o=LP-PPA-$origin Pin: release o=LP-PPA-$origin
Pin-Priority: 550 Pin-Priority: 550
@@EOF
fi
if [ -n "$APT_SOURCE" ]; then
echo deb $APT_SOURCE $STE $COMP >> ${ROOT}etc/apt/sources.list
# allow unsigned sources, unfortunately
mkdir -p ${ROOT}etc/apt/apt.conf.d
echo 'APT::Get::AllowUnauthenticated "yes";' > ${ROOT}etc/apt/apt.conf.d/extra-source-allows-unauthenticated-sources
# and add the preferences rules :(
APT_PIN=$(echo $APT_SOURCE | sed -e's,http://,,; s,/.*,,')
cat >> ${ROOT}etc/apt/preferences << @@EOF
Package: *
Pin: release a=$STE
Pin-Priority: 500
Package: *
Pin: origin $APT_PIN
Pin-Priority: 1001
@@EOF @@EOF
fi fi

Loading…
Cancel
Save