summaryrefslogtreecommitdiff
path: root/aptdpkgro
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2002-03-07 16:22:51 +0000
committerJonas Smedegaard <dr@jones.dk>2002-03-07 16:22:51 +0000
commit85d7610aadf1be8e4d1bece0a5ad5d63ccd3089c (patch)
tree2c2c72a2123c0e234e21b65196cf17a702ceb501 /aptdpkgro
parent0490e886f63d90013c3e10fe456fb84d6dd48fab (diff)
Rename files and add/improve descriptive headers.
Diffstat (limited to 'aptdpkgro')
-rwxr-xr-xaptdpkgro43
1 files changed, 43 insertions, 0 deletions
diff --git a/aptdpkgro b/aptdpkgro
new file mode 100755
index 0000000..b574c88
--- /dev/null
+++ b/aptdpkgro
@@ -0,0 +1,43 @@
+#!/bin/sh
+#
+# /usr/local/sbin/aptdpkgro
+# Put together and tweaked by Jonas Smedegaard <dr@jones.dk>
+# 2001-2002
+#
+# $Id: aptdpkgro,v 1.1 2002-03-07 16:22:51 jonas Exp $
+#
+# Auto re-mounting of a readonly /usr
+# Put the following in a file below /etc/apt/apt.conf.d:
+#
+# // Auto re-mounting of a readonly /usr
+# // Based on mail from Anthony Towns <aj@azure.humbug.org.au>
+# // http://lists.debian.org/debian-devel/2001/debian-devel-200111/msg00212.html
+#
+# // This is the intended thing:
+# // DPkg {
+# // Pre-Invoke {"mount -o remount,rw /usr";};
+# // Post-Invoke {"mount -o remount,ro /usr";};
+# // };
+#
+# DPkg {
+# Pre-Install-Pkgs {"/usr/local/sbin/aptdpkgro";};
+# Pre-Invoke {"mount -o remount,rw /usr";};
+# Post-Invoke {"/usr/local/sbin/aptdpkgclean; mount -o remount,ro /usr";};
+# };
+#
+
+pathmatch="^/usr"
+
+while read debname; do
+ pkg=$(dpkg --info $debname | sed -n 's/^ Package: *//p' | head -1)
+ (dpkg -L "$pkg" 2>/dev/null || true) | grep "$pathmatch" |
+ while read file; do
+ [ -f "$file" -a ! -L "$file" ] || continue
+ dir=`dirname "$file"`;
+ base=`basename "$file"`;
+ inode=`find "$file" -printf "%i\n"`
+ [ -L "$dir/.${base}.dpkg-ro-used.$inode" ] || continue
+ (cd "$dir" && ln "$base" ".${base}.dpkg-ro-used.$inode")
+ echo "$dir/.${base}.dpkg-ro-used.$inode"
+ done >>/var/lib/my_ro_hack.todel
+done