diff options
Diffstat (limited to 'helpers/lh_chroot_sources')
-rwxr-xr-x | helpers/lh_chroot_sources | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/helpers/lh_chroot_sources b/helpers/lh_chroot_sources index cf086cf..0dc3d76 100755 --- a/helpers/lh_chroot_sources +++ b/helpers/lh_chroot_sources @@ -77,6 +77,38 @@ case "${1}" in done fi + # Configure local package repository + if ls config/chroot_local-packages/*.deb > /dev/null 2>&1 + then + rm -rf chroot/root/local-packages + mkdir -p chroot/root/local-packages + + # Copy packages + if ls config/chroot_local-packages/*_"${LH_ARCHITECTURE}".deb > /dev/null 2>&1 + then + cp config/chroot_local-packages/*_"${LH_ARCHITECTURE}".deb chroot/root/local-packages + fi + + if ls config/chroot_local-packages/*_all.deb > /dev/null 2>&1 + then + cp config/chroot_local-packages/*_all.deb chroot/root/local-packages + fi + + if ls chroot/root/local-packages/*.deb > /dev/null 2>&1 + then + # Generate Packages.gz + echo "cd /root/local-packages && apt-ftparchive packages . > Packages" | Chroot sh + gzip -9 chroot/root/local-packages/Packages + + # Add to sources.list + echo "" >> chroot/etc/apt/sources.list + echo "# Local packages" >> chroot/etc/apt/sources.list + echo "deb file:/root/local-packages ./" >> chroot/etc/apt/sources.list + else + Echo_warning "Local packages must be named with suffix '_all.deb' or '_\$architecture.deb'." + fi + fi + # Update indices from cache if [ "${LH_CACHE_INDICES}" = "enabled" ] && [ -d cache/indices_bootstrap ] then @@ -194,7 +226,8 @@ case "${1}" in then # Don't do anything if it's not required if [ "${LH_MIRROR_CHROOT}" = "${LH_MIRROR_BINARY}" ] && \ - [ "${LH_MIRROR_CHROOT_SECURITY}" = "${LH_MIRROR_BINARY_SECURITY}" ] + [ "${LH_MIRROR_CHROOT_SECURITY}" = "${LH_MIRROR_BINARY_SECURITY}" ] && \ + [ ! -d chroot/root/local-packages ] then # Removing stage file rm -f .stage/chroot_sources @@ -257,6 +290,9 @@ case "${1}" in rm -rf chroot/var/cache/apt mkdir -p chroot/var/cache/apt/archives/partial + # Remove local package repository + rm -rf chroot/root/local-packages + # Removing stage file rm -f .stage/chroot_sources ;; |