From 6cc390f60454a7807fc7d25be0fef060aaa2dbc6 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Jan 29 2009 07:28:29 +0000 Subject: - Replace post code with lua to be able to not have external deps --- diff --git a/bash.spec b/bash.spec index 7f847a8..e8117b0 100644 --- a/bash.spec +++ b/bash.spec @@ -1,7 +1,7 @@ Version: 3.2 Name: bash Summary: The GNU Bourne Again shell (bash) version %{version} -Release: 30%{?dist} +Release: 31%{?dist} Group: System Environment/Shells License: GPLv2+ Url: http://www.gnu.org/software/bash @@ -258,29 +258,42 @@ rm -rf $RPM_BUILD_ROOT # ***** bash doesn't use install-info. It's always listed in %{_infodir}/dir # to prevent prereq loops -%post - -HASBASH="" -HASSH="" - -if [ ! -f /etc/shells ]; then - > /etc/shells -fi - -(while read line ; do - if [ "$line" = "/bin/bash" ]; then - HASBASH=1 - elif [ "$line" = "/bin/sh" ]; then - HASSH=1 - fi - done - - if [ -z "$HASBASH" ]; then - echo "/bin/bash" >> /etc/shells - fi - if [ -z "$HASSH" ]; then - echo "/bin/sh" >> /etc/shells -fi) < /etc/shells +# post is in lua so that we can run it without any external deps. Helps +# for bootstrapping a new install. +# Jesse Keating 2009-01-29 (code from Ignacio Vazquez-Abrams) +%post -p +bashfound = false; +shfound = false; + +f = io.open("/etc/shells", "r"); +if f == nil +then + f = io.open("/etc/shells", "w"); +else + repeat + t = f:read(); + if t == "/bin/bash" + then + bashfound = true; + end + if t == "/bin/sh" + then + shfound = true; + end + until t == nil; +end +f:close() + +f = io.open("/etc/shells", "a"); +if not bashfound +then + f:write("/bin/bash\n") +end +if not shfound +then + f:write("/bin/sh\n") +end +f:close() %postun if [ "$1" = 0 ]; then @@ -306,6 +319,9 @@ fi %doc doc/*.ps doc/*.0 doc/*.html doc/article.txt %changelog +* Wed Jan 28 2009 Jesse Keating - 3.2-31 +- Replace post code with lua to be able to not have external deps + * Mon Dec 15 2008 Roman Rakus - 3.2-30 - Enabling auditing Resolves: #476216