diff options
Diffstat (limited to 'linux/scripts/mirror-system')
-rwxr-xr-x | linux/scripts/mirror-system | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/linux/scripts/mirror-system b/linux/scripts/mirror-system new file mode 100755 index 0000000..6c8a528 --- /dev/null +++ b/linux/scripts/mirror-system @@ -0,0 +1,73 @@ +#!/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.6" + +# 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 +mkdir -p /usr/ports/archive/distfiles +mv /usr/ports/distfiles/* /usr/ports/archive/distfiles +### clean packages files +mkdir -p /usr/ports/archive/packages +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 |