Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
alpine
aports
Commits
d98fee83
Commit
d98fee83
authored
Dec 03, 2010
by
Natanael Copa
Browse files
main/alpine-conf: add support for read-only lbu media
ref
#477
parent
7016b230
Changes
2
Hide whitespace changes
Inline
Side-by-side
main/alpine-conf/0001-lbu-remount-LBU_MEDIA-as-read-write-if-it-was-read-o.patch
0 → 100644
View file @
d98fee83
From 4e7ab7455206ec157a72d07c40c07f1a299529f1 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Fri, 3 Dec 2010 08:49:43 +0000
Subject: [PATCH] lbu: remount LBU_MEDIA as read-write if it was read-only
ref #477
---
lbu.in | 34 +++++++++++++++++++++++++++++-----
1 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/lbu.in b/lbu.in
index dfd7e3c..a0dfe16 100644
--- a/lbu.in
+++ b/lbu.in
@@ -1,7 +1,7 @@
#!/bin/sh
# lbu - utility to create local backups.
-# Copyright (c) 2006 Natanael Copa
+# Copyright (c) 2006-2010 Natanael Copa <ncopa@alpinelinux.org>
# May be distributed under GPL2
VERSION=@VERSION@
@@ -54,6 +54,9 @@
Common options:
cleanup() {
local i
+ for i in $REMOUNT_RO_LIST; do
+ mount -o remount,ro $i
+ done
for i in $UMOUNT_LIST; do
umount $i
done
@@ -64,9 +67,30 @@
exit_clean() {
exit 1
}
+# check if given dir is not a mounted mountpoint
+is_unmounted() {
+ awk "\$2 == \"$1\" {exit 1}" /proc/mounts
+}
+
mount_once() {
- if awk "\$2 == \"$1\" {exit 1}" /proc/mounts; then
- mount $1 && UMOUNT_LIST="$1 $UMOUNT_LIST"
+ if is_unmounted "$1"; then
+ mount $1 && UMOUNT_LIST="$1 $UMOUNT_LIST" || return 1
+ fi
+}
+
+# check if given dir is read-only
+is_ro() {
+ local tmpfile=$(mktemp -p "$1")
+ [ -z "$tmpfile" ] && return 0
+ rm -f "$tmpfile"
+ return 1
+}
+
+mount_once_rw() {
+ mount_once "$1" || return 1
+ if is_ro "$1"; then
+ REMOUNT_RO_LIST="$1 $REMOUNT_RO_LIST"
+ mount -o remount,rw "$1"
fi
}
@@ -385,7 +409,7 @@
cmd_commit() {
# mount media unles its already mounted
mnt=/media/$media
[ -d "$mnt" ] || usage
- mount_once "$mnt" || die "failed to mount $mnt"
+ mount_once_rw "$mnt" || die "failed to mount $mnt"
# find the outfile
outfile="$mnt/$(hostname).apkovl.tar.gz"
@@ -538,7 +562,7 @@
cmd_revert() {
if [ -n "$ENCRYPTION" ]; then
current="$current.$ENCRYPTION"
fi
- mount_once "$mnt" || die "failed to mount $mnt"
+ mount_once_rw "$mnt" || die "failed to mount $mnt"
[ -f "$revertto" ] || die "file not found: $revertto"
backup_apkovl "$current"
vecho "Reverting to $1"
--
1.7.3.2
main/alpine-conf/APKBUILD
View file @
d98fee83
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname
=
alpine-conf
pkgver
=
2.5.4
pkgrel
=
0
pkgrel
=
1
pkgdesc
=
"Alpine configuration management scripts"
url
=
http://git.alpinelinux.org/cgit/
$pkgname
depends
=
"openrc"
source
=
"http://git.alpinelinux.org/cgit/
$pkgname
/snapshot/
$pkgname
-
$pkgver
.tar.bz2"
source
=
"http://git.alpinelinux.org/cgit/
$pkgname
/snapshot/
$pkgname
-
$pkgver
.tar.bz2
0001-lbu-remount-LBU_MEDIA-as-read-write-if-it-was-read-o.patch
"
license
=
"GPL-2"
_builddir
=
"
$srcdir
"
/
$pkgname
-
$pkgver
...
...
@@ -33,4 +35,5 @@ package() {
ln
-s
lbu
"
$pkgdir
"
/sbin/lbu_
$i
done
}
md5sums
=
"91a2b8a150917cc06f6c9ec839b70bb0 alpine-conf-2.5.4.tar.bz2"
md5sums
=
"91a2b8a150917cc06f6c9ec839b70bb0 alpine-conf-2.5.4.tar.bz2
9245a4bc53b24584d43b3a3f1556c500 0001-lbu-remount-LBU_MEDIA-as-read-write-if-it-was-read-o.patch"
Timo Teräs
@fabled
mentioned in issue
#477 (closed)
·
Jul 12, 2019
mentioned in issue
#477 (closed)
mentioned in issue #477
Toggle commit list
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment