From 604d1f2d13722f57a3ca5493486c5f21ee2fd802 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Wed, 27 Sep 2017 14:23:43 +0200 Subject: initial commit --- .gitignore | 1 + Makefile | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ create-hook | 17 +++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100755 create-hook diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e3728cb --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +00-linux.hook diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..c11befb --- /dev/null +++ b/Makefile @@ -0,0 +1,49 @@ +# +# libalpm-extra - extra-capabilities for libalpm: a hook which misses from linux +# +# Copyright (c) 2017 Erich Eckner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +# USA. +# + +DESTDIR = +HOOKSDIR = /usr/share/libalpm/hooks + +VERSION = 0.0 + +.PHONY: install dist clean 00-linux.hook + +00-linux.hook: + ./create-hook > $@ + +all: 00-linux.hook + +install: all + install -D -m0755 -t $(DESTDIR)$(HOOKSDIR) 00-linux.hook + +clean: + ls -A | \ + grep "^\($(shell sed 's|\.|\\.|; s|\*|.*|; s|$$|\\|' .gitignore | tr '\n' '\|')\)\$$" | \ + xargs -r rm + +dist: clean + git status --porcelain 2> /dev/null | grep -q "\S" && (git add .; git commit -m"neue Version: $(VERSION)") || true + ! git tag -d v$(VERSION) 2> /dev/null + git tag v$(VERSION) + git push + git push --tags + +# End of file diff --git a/create-hook b/create-hook new file mode 100755 index 0000000..70adc95 --- /dev/null +++ b/create-hook @@ -0,0 +1,17 @@ +#!/bin/bash + +input='/usr/share/libalpm/hooks/90-linux.hook' +target=$( + grep -m1 'Target = ' "${input}" | \ + cut -d'=' -f2 | \ + sed 's|\s\+||g' +) +sed ' + /Description =/{ + s/=\s*/= Test permissions for / + a When = PreTransaction\ +Exec = /usr/bin/bash -c '"'"'[ -w /'"${target}"' ]'"'"'\ +AbortOnFail + q + } +' "${input}" -- cgit v1.2.3-54-g00ecf