about summary refs log tree commit diff stats
path: root/tools/scripts
diff options
context:
space:
mode:
authorSilvino Silva <silvino@bk.ru>2020-04-20 01:03:12 +0100
committerSilvino Silva <silvino@bk.ru>2020-04-20 01:03:12 +0100
commit6ca80c0a296cb44bc2b335211df86e8a95383cdf (patch)
tree809ca0fc2eee0353d7040539310605d0e113b3d7 /tools/scripts
parentfd186246f96768b8398f0ffe32ef136cb895fa21 (diff)
parent5eec098c537ed98f76af59c37a54cb45645cc2a6 (diff)
downloaddoc-6ca80c0a296cb44bc2b335211df86e8a95383cdf.tar.gz
Merge branch 'master' into develop
Diffstat (limited to 'tools/scripts')
-rwxr-xr-xtools/scripts/mirror-system71
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