aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStuart Cardall <developer@it-offshore.co.uk>2016-09-16 20:20:23 +0000
committerJakub Jirutka <jakub@jirutka.cz>2016-09-17 13:53:23 +0200
commit4778b1e699e21ba28e259bd086a7279b90bf9c90 (patch)
tree2450257be0400ee152f97061bb9928d02cac3df4
parent8b7e48dcaf6a2049edeffaa957db618e923b78ab (diff)
downloadaports-4778b1e699e21ba28e259bd086a7279b90bf9c90.tar.bz2
aports-4778b1e699e21ba28e259bd086a7279b90bf9c90.tar.xz
community/lxcfs: replace chownmap with uidmapshift
uidmapshift is a lua script that is much faster remapping larger containers.
-rw-r--r--community/lxcfs/APKBUILD16
-rw-r--r--community/lxcfs/chownmap46
-rw-r--r--community/lxcfs/lxcfs.initd7
3 files changed, 8 insertions, 61 deletions
diff --git a/community/lxcfs/APKBUILD b/community/lxcfs/APKBUILD
index 5e1a2c5c30..00f048f123 100644
--- a/community/lxcfs/APKBUILD
+++ b/community/lxcfs/APKBUILD
@@ -2,18 +2,17 @@
# Maintainer: Stuart Cardall <developer@it-offshore.co.uk>
pkgname=lxcfs
pkgver=2.0.3
-pkgrel=2
+pkgrel=3
pkgdesc="FUSE filesystem for LXC"
url="https://linuxcontainers.org/lxcfs"
arch="all"
license="Apache 2.0"
-depends="cgmanager shadow"
+depends="cgmanager shadow-uidmap uidmapshift"
makedepends="fuse-dev linux-pam-dev linux-headers help2man"
subpackages="$pkgname-pam $pkgname-doc"
source="https://linuxcontainers.org/downloads/lxcfs/lxcfs-$pkgver.tar.gz
lxcfs.confd
lxcfs.initd
- chownmap
README.alpine
lxcfs-subdir.patch
"
@@ -36,8 +35,6 @@ package() {
"$pkgdir"/etc/init.d/$pkgname || return 1
install -m644 -D "$srcdir"/$pkgname.confd \
"$pkgdir"/etc/conf.d/$pkgname || return 1
- install -m700 -D "$srcdir"/chownmap \
- "$pkgdir"/etc/lxc/chownmap || return 1
install -m644 -D "$srcdir"/README.alpine \
"$pkgdir"/usr/share/doc/lxcfs/README.alpine || return 1
}
@@ -50,19 +47,16 @@ pam() {
md5sums="8d79c575d0dc5d127776370eceb0f58b lxcfs-2.0.3.tar.gz
6d7943272d6b71ab7b93e93c55e42ee9 lxcfs.confd
-2c4a59861c846dd9ddef0cab6664eed8 lxcfs.initd
-e1d7c118ae134fcdd171f8aac146f9a0 chownmap
+3533f3d49a5b0b83e8f8b8f20ea507fa lxcfs.initd
722e7a773283170910f5c9b40fb83610 README.alpine
14531d992c3c3e731ee596ff86e91829 lxcfs-subdir.patch"
sha256sums="dd94e19bff202cb9fe2aa7d244b2cccf53cf5d7f6dd76c815e1161e3ba4ce0df lxcfs-2.0.3.tar.gz
d8915d4635b675897895c379c892250f6c2bb55515a3b59cad09b92c35264359 lxcfs.confd
-30e9005010508eaa382fbb44f784d26a641bf7c12e94d9ba2603ab3ad782e86b lxcfs.initd
-2e6b84d98fc3cd03fa3f384876191dba05e6d781629a748add75ab380d921823 chownmap
+b7f211fd76e52da9a03eeb501d457ddc6a65f9373cbd1cf290ef1db81ced8643 lxcfs.initd
a458f5561d8f1404ac7547bd73f7bf7d56898322d04268f31a7ee3ffdd5e36aa README.alpine
ef3d2848e534b3db9267efbb5bc515e0ecd6a768cdf8de928bccac21c26add9e lxcfs-subdir.patch"
sha512sums="1bca2dc88a4551c90e9760ad8d3c7548126d7803040ddab3ac24fda2d602ec0d34ebf78bbd2b4cd5941edba3ccfe135e86d257f0dc2b89617c7ca876b3dda4bb lxcfs-2.0.3.tar.gz
71df316b1aaf1a0fadc230473a66c0be4d201d706481f1042c353b79fc629e9e681ec4fe0dfb113370e00d3f40175b0d7759fdcdcce57cf1d2db585068aa6e8d lxcfs.confd
-e08ee2e33cc8d82dbfbdc86b7aa87ef6b0033473951e9759bd8fd2b12b1d7beda1c7cb7befb7ce4fd1d7aea274778313957350af617d56b8702dbfcdc59b49b4 lxcfs.initd
-5d18df216a004d5039d86634e62dc078f134991696da9c6f1c292f0f8aa3de1f202aa531000c9f75e2bc5d5121f856660e4f1d71c8e92a0e87517a23836a743d chownmap
+b4e3bb76f4720d74c768c44c377665ad40e92da7332efebbf9100b6164e4e81214921c751d8ecd14dcef85c22cfa79bacf7e444d8159e93c719ff81ce2e9ba1c lxcfs.initd
16c65a10b2b95a85ea21d2cb44a45c9c7faf1e22c8c438c7325be96025588834a528544598a91facc13fa93cc46f6c4534fa2ca6bb58b152a26f1ced94b18f16 README.alpine
f7589ef65b3e01de0bb9e55c8ae06ae8124196b29b444006f3beaba308a8bebccad38e11c9c74f705dcad826aa6de0a10830053e0b025c640b7337804c48c056 lxcfs-subdir.patch"
diff --git a/community/lxcfs/chownmap b/community/lxcfs/chownmap
deleted file mode 100644
index 07e5aea20b..0000000000
--- a/community/lxcfs/chownmap
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/sh
-# author: Mirek Kratochvil
-# https://github.com/exaexa/chownmap
-
-help_exit () {
- echo "usage: $0 <from> <to> <length> [ files ] ..."
- exit $1
-}
-
-FROM="$1"
-[ -n "$FROM" ] || help_exit 0
-[ "$FROM" -ge 0 ] || help_exit 1
-
-TO="$2"
-[ -n "$TO" ] || help_exit 0
-[ "$TO" -ge 0 ] || help_exit 1
-
-LEN="$3"
-[ -n "$LEN" ] || help_exit 0
-[ "$LEN" -gt 0 ] || help_exit 1
-
-[ -n "$4" ] || help_exit 0
-
-shift 3
-
-LAST=$(( FROM + LEN ))
-CHANGE=$(( TO - FROM ))
-CHOWN_EXTRA_OPTS=${CHOWN_EXTRA_OPTS:-}
-
-do_dir () {
- find "$1" |while read fn ; do
- stat "$fn" -c"%u %g" | {
- read uid gid
- chuid=$uid
- chgid=$gid
- [[ $chuid -ge $FROM && $chuid -lt $LAST ]] && chuid=$(( chuid + CHANGE ))
- [[ $chgid -ge $FROM && $chgid -lt $LAST ]] && chgid=$(( chgid + CHANGE ))
- [[ $uid -ne $chuid || $gid -ne $chgid ]] && chown $CHOWN_EXTRA_OPTS -h $chuid:$chgid "$fn"
- }
- done
-}
-
-while [ -n "$1" ] ; do
- do_dir "$1"
- shift
-done
diff --git a/community/lxcfs/lxcfs.initd b/community/lxcfs/lxcfs.initd
index 058a157859..1a6e9c9759 100644
--- a/community/lxcfs/lxcfs.initd
+++ b/community/lxcfs/lxcfs.initd
@@ -7,7 +7,7 @@ DAEMON=/usr/bin/lxcfs
PIDFILE=/run/lxcfs.pid
VARDIR=/var/lib/lxcfs
RUNDIR=/run/lxcfs
-CHOWNMAP=/etc/lxc/chownmap
+MAPPER=/usr/bin/uidmapshift
description="FUSE filesystem for LXC unprivileged containers"
description_setup="Setup unprivileged container permissions"
@@ -53,8 +53,7 @@ find_perms() {
create_id() {
einfo "Creating $1 for root: /etc/$1"
- touch /etc/$1
- usermod --add-${1}s 100000-165536 root
+ echo "root:100000:65537" >> /etc/$1
PERMS="$PERMS 100000"
}
@@ -110,7 +109,7 @@ setup() {
for ctr in $ctr_list; do
einfo "Mapping user permissions in container: $ctr"
- ${CHOWNMAP} 0 $subuid $range $path/$ctr/rootfs
+ ${MAPPER} -b $path/$ctr/rootfs 0 $subuid $range
dir_perms "$path/$ctr"
done
}