SOURCES: rpm.macros - the add %lua_ prefixed /etc/shell edit macros for cle...
glen
glen at pld-linux.org
Wed Jun 25 14:44:24 CEST 2008
Author: glen Date: Wed Jun 25 12:44:24 2008 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- the add %lua_ prefixed /etc/shell edit macros for cleaner specs
---- Files affected:
SOURCES:
rpm.macros (1.461 -> 1.462)
---- Diffs:
================================================================
Index: SOURCES/rpm.macros
diff -u SOURCES/rpm.macros:1.461 SOURCES/rpm.macros:1.462
--- SOURCES/rpm.macros:1.461 Mon Jun 16 17:10:09 2008
+++ SOURCES/rpm.macros Wed Jun 25 14:44:18 2008
@@ -1426,15 +1426,19 @@
# Author: Elan Ruusamäe <glen at pld-linux.org>
#
# Usage:
-# %post -p %add_etc_shells -p /bin/sh /bin/pdksh
-# %preun -p %remove_etc_shells -p /bin/sh /bin/pdksh
+# %post -p <lua>
+# %lua_add_etc_shells /bin/sh /bin/pdksh
#
-# -p (optional) -- specifies that result is embeded %post script (prepends <lua> as first line)
+# %preun -p <lua>
+# if arg[2] == 0 then
+# %lua_remove_etc_shells /bin/bash /bin/rbash
+# end
#
# Requirements:
-# BuildRequires: rpmbuild(macros) >= 1.429
+# BuildRequires: rpmbuild(macros) >= 1.462
+#
-%add_etc_shells(p) %{-p:<lua>}\
+%lua_add_etc_shells() \
t = {}\
f = io.open("/etc/shells", "r")\
if f then\
@@ -1449,23 +1453,44 @@
end\
%{nil}
+%lua_remove_etc_shells() \
+t = {}\
+f = io.open("/etc/shells", "r")\
+if f then\
+ for l in f:lines() do t[l]=l; end\
+ f:close()\
+end\
+for _, l in pairs({%{expand:%%__lua_split %*}}) do\
+ print("Removing "..l.." from /etc/shells")\
+ t[l] = nil\
+end\
+s=""\
+for _, l in pairs(t) do\
+ s=s..l.."\\n"\
+end\
+io.open("/etc/shells", "w"):write(s)\
+%{nil}
+
+# Backwards compat. Use of %lua_ prefixed macros is preferred as these are cleaner to read.
+#
+# Author: Elan Ruusamäe <glen at pld-linux.org>
+#
+# Usage:
+# %post -p %add_etc_shells -p /bin/sh /bin/pdksh
+# %preun -p %remove_etc_shells -p /bin/sh /bin/pdksh
+#
+# -p (optional) -- specifies that result is embeded %post script (prepends <lua> as first line)
+#
+# Requirements:
+# BuildRequires: rpmbuild(macros) >= 1.429
+#
+%add_etc_shells(p) %{-p:<lua>}\
+%{expand:%%lua_add_etc_shells %*}\
+%{nil}
+
%remove_etc_shells(p) %{-p:<lua>}\
%{-p:if arg[2] == 0 then}\
- t = {}\
- f = io.open("/etc/shells", "r")\
- if f then\
- for l in f:lines() do t[l]=l; end\
- f:close()\
- end\
- for _, l in pairs({%{expand:%%__lua_split %*}}) do\
- print("Removing "..l.." from /etc/shells")\
- t[l] = nil\
- end\
- s=""\
- for _, l in pairs(t) do\
- s=s..l.."\\n"\
- end\
- io.open("/etc/shells", "w"):write(s)\
+%{expand:%%lua_remove_etc_shells %*}\
%{-p:end} \
%{nil}
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/rpm.macros?r1=1.461&r2=1.462&f=u
More information about the pld-cvs-commit
mailing list