summaryrefslogtreecommitdiff
path: root/librechroot
diff options
context:
space:
mode:
Diffstat (limited to 'librechroot')
-rwxr-xr-xlibrechroot16
1 files changed, 10 insertions, 6 deletions
diff --git a/librechroot b/librechroot
index 31516ac..0398a0f 100755
--- a/librechroot
+++ b/librechroot
@@ -24,14 +24,15 @@
function usage {
+ echo ""
echo "Usage: $0 [options] [chrootname]"
echo "Use it as root."
- echo ''
+ echo ""
echo "Default chroot name: $CHROOT"
echo "Default chrootdir: $CHROOTDIR"
- echo ''
+ echo ""
echo "OPTIONS:"
- echo ''
+ echo ""
echo " -c : clean the chroot using pacman"
echo " only 'base', 'base-devel' and 'sudo' on chroot"
echo " -d <chrootdir> : use <chrootdir> instead of default"
@@ -43,9 +44,8 @@ function usage {
}
function clean_chroot { # Clean packages with pacman
-
msg "Cleaning chroot: ${CHROOTDIR}/${CHROOTNAME}"
-
+ update-cleansystem
cp "/etc/libretools.d/cleansystem" "${CHROOTDIR}/${CHROOTNAME}/cleansystem"
(cat <<EOF
#!/bin/bash
@@ -83,8 +83,12 @@ EOF
function clean_repo {
msg "Cleaning repo for chroot: ${CHROOTDIR}/${CHROOTNAME}"
if [ -d "${CHROOTDIR}/${CHROOTNAME}/repo" ]; then
- rm -rf "${CHROOTDIR}/${CHROOTNAME}/repo"
+ find "${CHROOTDIR}/${CHROOTNAME}/repo/" -mindepth 1 -delete
+ else
+ mkdir -p "${CHROOTDIR}/${CHROOTNAME}/repo"
fi
+ bsdtar -czf "${CHROOTDIR}/${CHROOTNAME}/repo/repo.db.tar.gz" -T /dev/null
+ ln -s "repo.db.tar.gz" "${CHROOTDIR}/${CHROOTNAME}/repo/repo.db"
}
source /etc/libretools.conf