create cache repo outside of the chroot
This commit is contained in:
parent
9989685971
commit
5152c1fafa
|
|
@ -22,6 +22,7 @@ LIBPATH=${LIBPATH:-$(dirname $0)}
|
||||||
|
|
||||||
source $LIBPATH/config
|
source $LIBPATH/config
|
||||||
source $LIBPATH/zlibs/bootstrap
|
source $LIBPATH/zlibs/bootstrap
|
||||||
|
source $LIBPATH/zlibs/cache
|
||||||
source $LIBPATH/zlibs/helpers
|
source $LIBPATH/zlibs/helpers
|
||||||
source $LIBPATH/zlibs/imaging
|
source $LIBPATH/zlibs/imaging
|
||||||
source $LIBPATH/zlibs/iso
|
source $LIBPATH/zlibs/iso
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
#!/usr/bin/env zsh
|
||||||
|
# Copyright (c) 2017 Dyne.org Foundation
|
||||||
|
# libdevuansdk is maintained by Ivan J. <parazyd@dyne.org>
|
||||||
|
#
|
||||||
|
# This file is part of libdevuansdk
|
||||||
|
#
|
||||||
|
# This source code is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This software is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this source code. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
aptcache() {
|
||||||
|
fn aptcache "$*"
|
||||||
|
req=(aptcachedir watdo werdo APT_CACHE)
|
||||||
|
local watdo="$1"
|
||||||
|
local werdo="$2"
|
||||||
|
ckreq || return 1
|
||||||
|
|
||||||
|
[[ $APT_CACHE = 1 ]] || return 0
|
||||||
|
|
||||||
|
case "$watdo" in
|
||||||
|
on)
|
||||||
|
act "mounting local apt cache"
|
||||||
|
sudo mount -o bind "$aptcachedir" "$werdo" || zerr
|
||||||
|
;;
|
||||||
|
off)
|
||||||
|
act "umounting local apt cache"
|
||||||
|
sudo umount "$werdo" || zerr
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
fill_apt_cache() {
|
||||||
|
fn fill_apt_cache
|
||||||
|
req=(strapdir APT_CACHE aptcachedir)
|
||||||
|
ckreq || return 1
|
||||||
|
|
||||||
|
[[ $APT_CACHE = 1 ]] || return 0
|
||||||
|
|
||||||
|
notice "filling local apt cache"
|
||||||
|
|
||||||
|
cp -fv "$strapdir/var/cache/archives/*.deb" "$aptcachedir"
|
||||||
|
|
||||||
|
pushd "$aptcachedir"
|
||||||
|
dpkg-scanpackages . /dev/null > Packages
|
||||||
|
gzip -c Packages > Packages.gz
|
||||||
|
cat <<EOF > Release
|
||||||
|
Origin: ${os}
|
||||||
|
Suite: ${release}
|
||||||
|
Version: ${version}
|
||||||
|
Architectures: alpha amd64 arm64 armel armhf hppa i386 ia64 mips mipsel powerpc ppc64el s390x sparc
|
||||||
|
MD5sum:
|
||||||
|
$(md5sum Packages | cut -d' ' -f1) $(du -b Packages)
|
||||||
|
$(md5sum Packages.gz | cut -d' ' -f1) $(du -b Packages.gz)
|
||||||
|
SHA1:
|
||||||
|
$(sha1sum Packages | cut -d' ' -f1) $(du -b Packages)
|
||||||
|
$(sha1sum Packages.gz | cut -d' ' -f1) $(du -b Packages.gz)
|
||||||
|
SHA256:
|
||||||
|
$(sha256sum Packages | cut -d' ' -f1) $(du -b Packages)
|
||||||
|
$(sha256sum Packages.gz | cut -d' ' -f1) $(du -b Packages.gz)
|
||||||
|
EOF
|
||||||
|
rm -f Packages
|
||||||
|
## TODO: XXX: gpg sign Release
|
||||||
|
popd
|
||||||
|
|
||||||
|
|
||||||
|
sudo sed -i -e '@deb file:/mnt@d' "$strapdir/etc/apt/sources.list"
|
||||||
|
}
|
||||||
|
|
@ -357,57 +357,6 @@ blend_postinst() {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
aptcache() {
|
|
||||||
fn aptcache "$*"
|
|
||||||
req=(aptcachedir watdo werdo APT_CACHE)
|
|
||||||
local watdo="$1"
|
|
||||||
local werdo="$2"
|
|
||||||
ckreq || return 1
|
|
||||||
|
|
||||||
[[ $APT_CACHE = 1 ]] || return 0
|
|
||||||
|
|
||||||
case "$watdo" in
|
|
||||||
on)
|
|
||||||
act "mounting local apt cache"
|
|
||||||
sudo mount -o bind "$aptcachedir" "$werdo" || zerr
|
|
||||||
;;
|
|
||||||
off)
|
|
||||||
act "umounting local apt cache"
|
|
||||||
sudo umount "$werdo" || zerr
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
fill_apt_cache() {
|
|
||||||
fn fill_apt_cache
|
|
||||||
req=(strapdir APT_CACHE)
|
|
||||||
ckreq || return 1
|
|
||||||
|
|
||||||
[[ $APT_CACHE = 1 ]] || return 0
|
|
||||||
|
|
||||||
notice "filling local apt cache"
|
|
||||||
|
|
||||||
cat <<EOF | sudo tee ${strapdir}/fill-apt-cache >/dev/null
|
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# NOTE: do we need apt update or does it read the remote(s)?
|
|
||||||
apt-get update
|
|
||||||
apt-get --yes --force-yes --no-install-recommends install dpkg-dev
|
|
||||||
|
|
||||||
cp -afv /var/cache/apt/archives/*.deb /mnt
|
|
||||||
cd /mnt
|
|
||||||
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
|
|
||||||
cd -
|
|
||||||
|
|
||||||
apt-get --yes --force-yes purge dpkg-dev
|
|
||||||
|
|
||||||
sed -i -e "@deb file:/mnt@d" /etc/apt/sources.list
|
|
||||||
apt-get update
|
|
||||||
|
|
||||||
EOF
|
|
||||||
chroot-script fill-apt-cache || zerr
|
|
||||||
}
|
|
||||||
|
|
||||||
silly() {
|
silly() {
|
||||||
fn silly "$@"
|
fn silly "$@"
|
||||||
local arg1="$1"
|
local arg1="$1"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue