diff options
author | Silvino Silva <silvino@bk.ru> | 2020-02-17 16:59:22 +0000 |
---|---|---|
committer | Silvino Silva <silvino@bk.ru> | 2020-02-17 16:59:22 +0000 |
commit | 5da5a46253010f1539bf0630f7271761647dc01d (patch) | |
tree | 37615fd8071ba8f3600703f5105a76897783814a /tools/scripts/mirror-system | |
parent | d9ddaa49950198fbdae3e18e95506b4451eb9fbc (diff) | |
download | doc-5da5a46253010f1539bf0630f7271761647dc01d.tar.gz |
added mirror script to tools
Diffstat (limited to 'tools/scripts/mirror-system')
-rwxr-xr-x | tools/scripts/mirror-system | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/tools/scripts/mirror-system b/tools/scripts/mirror-system new file mode 100755 index 0000000..5700d85 --- /dev/null +++ b/tools/scripts/mirror-system @@ -0,0 +1,71 @@ +#!/bin/bash + +if [ -f /tmp/mirror ]; then + echo "mirror system is already running" + exit 0 +fi + +touch /tmp/mirror + +#BUILD_NAME="R2D9" +#BUILD_TITLE="${BUILD_NAME}-$(cat /usr/ports/releases/stable/metadata/build-version)" +BUILD_TITLE="Crux 3.5" + +# Update system +#ports -u + +# make them look like updated +echo "touch packages..." +for package in /usr/ports/packages/*; do + touch ${package}; +done + +# make sure permissions are right +echo "chown pkgmk:pkgmk -R /usr/ports" +chown pkgmk:pkgmk -R /usr/ports + +#echo "update system" +#prt-get depinst $(prt-get listinst | xargs prt-get quickdep) +#prt-get sysup +#prt-get update -fr $(revdep) +# +# Create list of installed packages +echo "creating list of installed..." +rm -r /usr/ports/installed +pkg_installed + +### clean distribution files +mv /usr/ports/distfiles/* /usr/ports/archive/distfiles +### clean packages files +mv /usr/ports/packages/* /usr/ports/archive/packages +### get sources and packages +cd /usr/ports/installed +for installed in *; do + prt-get path $installed | while read -r line; do + cd $line + ##get source + sudo -u pkgmk -g pkgmk pkgmk -do + #make sure package exists + current="${installed}#$(prt-get current ${installed}).pkg.tar.gz" + echo "checking $current ..." + cp /usr/ports/archive/packages/${current} /usr/ports/packages/ + #prt-get update $installed + done +done + +# Create repository +echo "creating repository" +cd /usr/ports/packages +pkg-repgen + +# Create mirror page +echo "creating mirror index page" +portspage --title=${BUILD_TITLE} /usr/ports/installed > /usr/ports/installed/index.html + +sed -i "s@usr\/ports\/installed@mirror/installed@g" /usr/ports/installed/index.html + +echo "setting permissions /usr/ports" +chown pkgmk:pkgmk -R /usr/ports + +# Remove temporary file +rm /tmp/mirror |