Harmonizing apt configuration handling in chroot_archives.

This commit is contained in:
Daniel Baumann 2012-12-04 12:04:47 +01:00
parent 8465c9650f
commit 9117fd0ba4
1 changed files with 112 additions and 147 deletions

View File

@ -217,52 +217,43 @@ EOF
continue
fi
# Adding sources.list entries (chroot)
if [ -e "${_BASE}/archives/${REPOSITORY}.chroot" ]
# Adding apt sources (chroot)
for _FILE in "${_BASE}/archives/${REPOSITORY}" "${_BASE}/archives/${REPOSITORY}.chroot"
do
if [ -e "${_FILE}" ]
then
sed -e "s|@DISTRIBUTION@|${_DISTRIBUTION}|g" \
-e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION}|g" \
-e "s|@ARCHIVE_AREAS@|${LB_PARENT_ARCHIVE_AREAS}|g" \
"${_BASE}/archives/${REPOSITORY}.chroot" > \
"chroot/etc/apt/sources.list.d/${REPOSITORY}.list"
elif [ -e "${_BASE}/archives/${REPOSITORY}" ]
then
sed -e "s|@DISTRIBUTION@|${_DISTRIBUTION}|g" \
-e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION}|g" \
-e "s|@ARCHIVE_AREAS@|${LB_PARENT_ARCHIVE_AREAS}|g" \
"${_BASE}/archives/${REPOSITORY}" > \
"chroot/etc/apt/sources.list.d/${REPOSITORY}.list"
"${_FILE}" > "chroot/etc/apt/sources.list.d/${REPOSITORY}.list"
fi
done
# Adding pinning preferences (chroot)
if [ -e "${_BASE}/archives/${REPOSITORY}.pref" ]
# Adding apt preferences (chroot)
for _FILE in "${_BASE}/archives/${REPOSITORY}.pref" "${_BASE}/archives/${REPOSITORY}.pref.chroot"
do
if [ -e "${_FILE}" ]
then
cp "${_BASE}/archives/${REPOSITORY}.pref" chroot/etc/apt/sources.list.d
elif [ -e "${_BASE}/archives/${REPOSITORY}.pref.chroot" ]
then
cp "${_BASE}/archives/${REPOSITORY}.pref.chroot" "chroot/etc/apt/sources.list.d/${REPOSITORY}.pref"
cp "${_FILE}" "chroot/etc/apt/preferences.d/${REPOSITORY}.pref"
fi
done
# Adding apt keys (chroot)
if [ "${LB_APT_SECURE}" != false ]
then
# Adding archive signing keys (chroot)
if [ -e "${_BASE}/archives/${REPOSITORY}.key.chroot" ]
for _FILE in "${_BASE}/archives/${REPOSITORY}.key" "${_BASE}/archives/${REPOSITORY}.key.chroot"
do
if [ -e "${_FILE}" ]
then
cat "${_BASE}/archives/${REPOSITORY}.key.chroot" | Chroot chroot "apt-key add -"
elif [ -e "${_BASE}/archives/${REPOSITORY}.key" ]
then
cat "${_BASE}/archives/${REPOSITORY}.key" | Chroot chroot "apt-key add -"
cat "${_FILE}" | Chroot chroot "apt-key add -"
fi
done
fi
done
fi
# Check local sources.list
if Find_files config/archives/*.list || \
Find_files config/archives/*.list.chroot
then
for FILE in config/archives/*.list \
config/archives/*.list.chroot
# Adding local apt sources (chroot)
for FILE in config/archives/*.list config/archives/*.list.chroot
do
if [ -e "${FILE}" ]
then
@ -279,21 +270,15 @@ EOF
fi
fi
done
fi
# Check local pinning preferences
if Find_files config/archives/*.pref || \
Find_files config/archives/*.pref.chroot
then
for FILE in config/archives/*.pref \
config/archives/*.pref.chroot
# Adding local apt preferences (chroot)
for FILE in config/archives/*.pref config/archives/*.pref.chroot
do
if [ -e "${FILE}" ]
then
cp ${FILE} chroot/etc/apt/preferences.d/$(basename ${FILE} .chroot)
fi
done
fi
# Configure local package repository
if Find_files config/packages.chroot/*.deb || Find_files config/packages/*.deb
@ -774,52 +759,43 @@ EOF
continue
fi
# Adding sources.list entries (binary)
if [ -e "${_BASE}/archives/${REPOSITORY}.binary" ]
# Adding apt sources (binary)
for _FILE in "${_BASE}/archives/${REPOSITORY}" "${_BASE}/archives/${REPOSITORY}.binary"
do
if [ -e "${_FILE}" ]
then
sed -e "s|@DISTRIBUTION@|${LB_PARENT_DISTRIBUTION}|g" \
-e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION}|g" \
-e "s|@ARCHIVE_AREAS@|${LB_PARENT_ARCHIVE_AREAS}|g" \
"${_BASE}/archives/${REPOSITORY}.binary" > \
"chroot/etc/apt/sources.list.d/${REPOSITORY}.list"
elif [ -e "${_BASE}/archives/${REPOSITORY}" ]
then
sed -e "s|@DISTRIBUTION@|${LB_PARENT_DISTRIBUTION}|g" \
-e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION}|g" \
-e "s|@ARCHIVE_AREAS@|${LB_PARENT_ARCHIVE_AREAS}|g" \
"${_BASE}/archives/${REPOSITORY}" > \
"chroot/etc/apt/sources.list.d/${REPOSITORY}.list"
"${_FILE}" > "chroot/etc/apt/sources.list.d/${REPOSITORY}.list"
fi
done
# Adding pinning preferences (binary)
if [ -e "${_BASE}/archives/${REPOSITORY}.pref" ]
# Adding apt preferences (binary)
for _FILE in "${_BASE}/archives/${REPOSITORY}.pref" "${_BASE}/archives/${REPOSITORY}.pref.binary"
do
if [ -e "${_FILE}" ]
then
cp "${_BASE}/archives/${REPOSITORY}.pref" chroot/etc/apt/sources.list.d
elif [ -e "${_BASE}/archives/${REPOSITORY}.pref.binary" ]
then
cp "${_BASE}/archives/${REPOSITORY}.pref.binary" "chroot/etc/apt/sources.list.d/${REPOSITORY}.pref"
cp "${_FILE}" "chroot/etc/apt/preferences.d/${REPOSITORY}.pref"
fi
done
# Adding apt keys (binary)
if [ "${LB_APT_SECURE}" != false ]
then
# Adding archive signing keys (binary)
if [ -e "${_BASE}/archives/${REPOSITORY}.key.binary" ]
for _FILE in "${_BASE}/archives/${REPOSITORY}.key" "${_BASE}/archives/${REPOSITORY}.key.binary"
do
if [ -e "${_FILE}" ]
then
cat "${_BASE}/archives/${REPOSITORY}.key.binary" | Chroot chroot "apt-key add -"
elif [ -e "${_BASE}/archives/${REPOSITORY}.key" ]
then
cat "${_BASE}/archives/${REPOSITORY}.key" | Chroot chroot "apt-key add -"
cat "${_FILE}" | Chroot chroot "apt-key add -"
fi
done
fi
done
fi
# Check local sources.list
if Find_files config/archives/*.list || \
Find_files config/archives/*.list.binary
then
for FILE in config/archives/*.list \
config/archives/*.list.binary
# Adding local apt sources (binary)
for FILE in config/archives/*.list config/archives/*.list.binary
do
if [ -e "${FILE}" ]
then
@ -836,28 +812,18 @@ EOF
fi
fi
done
fi
# Check local pinning preferences
if Find_files config/archives/*.pref || \
Find_files config/archives/*.pref.binary
then
for FILE in config/archives/*.pref \
config/archives/*.pref.binary
# Adding local apt preferences (binary)
for FILE in config/archives/*.pref config/archives/*.pref.binary
do
if [ -e "${FILE}" ]
then
cp ${FILE} chroot/etc/apt/preferences.d/$(basename ${FILE} .binary)
fi
done
fi
# Check local archive keys
if Find_files config/archives/*.key || \
Find_files config/archives/*.key.binary
then
for FILE in config/archives/*.key \
config/archives/*.key.binary
# Adding local apt keys (binary)
for FILE in config/archives/*.key config/archives/*.key.binary
do
if [ -e "${FILE}" ]
then
@ -866,7 +832,6 @@ EOF
rm -f chroot/root/$(basename ${FILE})
fi
done
fi
# Updating indices
Apt chroot update