]> git.pld-linux.org Git - packages/ash.git/blobdiff - ash.spec
- release 10 for Ac (9 is for Ra)
[packages/ash.git] / ash.spec
index a62b686a19170e373ca92ed370a951d7ac7f61ec..4a110d3dd6b862d372ea2d870edee4484fb75415 100644 (file)
--- a/ash.spec
+++ b/ash.spec
@@ -1,42 +1,57 @@
-# conditional build:
-# if BOOT is defined, build BOOT package too
+#
+# Conditional build
+# --without static     - don't build static
+# --with dietlibc      - link with dietlibc, implies --without static)
+# Branch: HEAD
+
+%{?_with_dietlibc:%define _without_static 1}
+
 Summary:       Small bourne shell from Berkeley
 Summary(de):   Kleine Bourne-Shell von Berkeley
+Summary(es):   Pequeña shell bourne de Berkeley
 Summary(fr):   Shell Bourne réduit de Berkeley
-Summary(pl):   Ma³y shell bourne'a 
+Summary(pl):   Ma³y shell bourne'a
+Summary(pt_BR):        Pequena shell bourne de Berkeley
+Summary(ru):   ïÂÌÅÇÞÅÎÎÁÑ ×ÅÒÓÉÑ Bourne shell (sh)
 Summary(tr):   Ufak bir bourne kabuðu
+Summary(uk):   ðÏÌÅÇÛÅÎÁ ×ÅÒӦѠBourne shell (sh)
+Summary(zh_CN):        [ϵͳ]BerkeleyµÄ΢ÐÍBourne Shell
+Summary(zh_TW):        [\e-A¨t\e$)B²Î]Berkeleyªº\e-A·L\e$)B«¬Bourne Shell
 Name:          ash
 Version:       0.4.0
-Release:       1
+Release:       10
 License:       BSD
 Group:         Applications/Shells
-Group(de):     Applikationen/Shells
-Group(pl):     Aplikacje/Pow³oki
-Source:        ash-%{version}.tar.gz
-Patch0:                ash-builtin.patch
-Patch1:                ash-echo.patch
-Patch2:                ash-getcwd.patch
-Patch3:                ash-getopt.patch
-Patch4:                ash-glob.patch
-Patch5:                ash-jobs.patch
-Patch6:                ash-kill.patch
-Patch7:                ash-makefile.patch
-Patch8:                ash-manpage.patch
-Patch9:                ash-hetio.patch
-Patch10:       ash-memout.patch
-Patch11:       ash-misc.patch
-Patch12:       ash-redir.patch
-Patch13:       ash-setmode.patch
-Patch14:       ash-syntax.patch
-Patch15:       ash-test.patch
-Patch16:       ash-times.patch
-Patch17:       ash-debian.patch
-Patch18:       ash-ppid.patch
-Patch19:       ash-freebsd.patch
-Prereq:                fileutils
-Prereq:                grep
-BuildRequires: glibc-static
-%{?BOOT:BuildRequires: uClibc-devel-BOOT}
+Source0:       %{name}-%{version}.tar.gz
+# Source0-md5: 1c59f5b62a081cb0cb3b053c01d79529
+Patch0:                %{name}-builtin.patch
+Patch1:                %{name}-echo.patch
+Patch2:                %{name}-getcwd.patch
+Patch3:                %{name}-getopt.patch
+Patch4:                %{name}-glob.patch
+Patch5:                %{name}-jobs.patch
+Patch6:                %{name}-kill.patch
+Patch7:                %{name}-makefile.patch
+Patch8:                %{name}-manpage.patch
+Patch9:                %{name}-hetio.patch
+Patch10:       %{name}-memout.patch
+Patch11:       %{name}-misc.patch
+Patch12:       %{name}-redir.patch
+Patch13:       %{name}-setmode.patch
+Patch14:       %{name}-syntax.patch
+Patch15:       %{name}-test.patch
+Patch16:       %{name}-times.patch
+Patch17:       %{name}-debian.patch
+Patch18:       %{name}-ppid.patch
+Patch19:       %{name}-freebsd.patch
+Patch20:       %{name}-sighup.patch
+Patch21:       %{name}-dietlibc.patch
+BuildRequires: byacc
+%{?_with_dietlibc:BuildRequires:       dietlibc-static}
+BuildRequires: flex
+%{!?_without_static:BuildRequires:     glibc-static}
+Requires(post,preun,verify):   grep
+Requires(preun):       fileutils
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 Conflicts:     mkinitrd <= 1.7
 
@@ -52,31 +67,55 @@ ash ist ein Bourne-Shell-Clone aus Berkeley, der alle
 Standard-Bourne-Shell- Befehle unterstützt und dennoch erheblich
 weniger Platz beansprucht als bash.
 
+%description -l es
+ash es un clone del shell bourne de Berkeley. Soporta todos los
+comandos padrón de la Bourne shell y tiene la ventaja de soportarlos
+con un tamaño considerablemente menor del que bash.
+
 %description -l fr
 ash est un clone Berkeley du shell Bourne. Il gère toutes les
 commandes standard du shell Bourne et a l'avantage de les gérer tout
 en restant considérablement plus petit que bash.
 
 %description -l pl
-Ash jest klonem shell'a Bourne'a z Berkeley. Obs³uguje standardowe
-komendy shell'a Bourne'a i jest mniejszy ni¿ bash.
+Ash jest klonem shella Bourne'a z Berkeley. Obs³uguje standardowe
+komendy shella Bourne'a i jest mniejszy ni¿ bash.
+
+%description -l pt_BR
+ash é um clone do shell bourne de Berkeley. Ele suporta todos os
+comandos-padrão da Bourne shell e tem a vantagem de suportá-los com um
+tamanho consideravelmente menor do que bash.
+
+%description -l ru
+ûÅÌÌ - ÜÔÏ ÂÁÚÏ×ÁÑ ÓÉÓÔÅÍÎÁÑ ÐÒÏÇÒÁÍÍÁ, ËÏÔÏÒÁÑ ÉÎÔÅÒÐÒÅÔÉÒÕÅÔ ËÏÍÁÎÄÙ
+ÐÏÌØÚÏ×ÁÔÅÌÑ, ××ÏÄÉÍÙÅ Ó ËÌÁ×ÉÁÔÕÒÙ ÉÌÉ ÐÒÉ ÐÏÍÏÝÉ ÍÙÛÉ. Ash - ÜÔÏ
+ËÌÏΠBourne shell (sh) ÉÚ âÅÒËÌÉ. Ash ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÓÅ ÓÔÁÎÄÁÒÔÎÙÅ
+ËÏÍÁÎÄÙ ÛÅÌÌÁ sh, ÂÕÄÕÞÉ ÚÎÁÞÉÔÅÌØÎÏ ÍÅÎØÛÅ ÞÅÍ sh. ÷ ash ÏÔÓÕÔÓÔ×ÕÀÔ
+ÎÅËÏÔÏÒÙÅ ×ÏÚÍÏÖÎÏÓÔÉ Bourne shell (ÎÁÐÒÉÍÅÒ, ÉÓÔÏÒÉÑ ËÏÍÁÎÄ), ÎÏ ÏÎ
+ÔÒÅÂÕÅÔ ÚÎÁÞÉÔÅÌØÎÏ ÍÅÎØÛÅ ÐÁÍÑÔÉ.
 
 %description -l tr
 ash, Berkeley'in bir bourne kabuðu kopyasýdýr. Standart bourne kabuðu
 komutlarýnýn tümünü destekler ve bash kabuðundan daha küçük olma
 avantajýna sahiptir.
 
+%description -l uk
+ûÅÌ - ÃÅ ÂÁÚÏ×Á ÓÉÓÔÅÍÎÁ ÐÒÏÇÒÁÍÁ, ËÏÔÒÁ ¦ÎÔÅÒÐÒÅÔÕ¤ ËÏÍÁÎÄÉ
+ËÏÒÉÓÔÕ×ÁÞÁ, Ñ˦ ××ÏÄÑÔØÓÑ Ú ËÌÁצÁÔÕÒÉ ÁÂÏ ÚÁ ÄÏÐÏÍÏÇÏÀ ÍÉÛ¦. Ash -
+ÃÅ ËÌÏΠBourne shell (sh) Ú âÅÒË̦. Ash Ð¦ÄÔÒÉÍÕ¤ ÕÓ¦ ÓÔÁÎÄÁÒÔΦ
+ËÏÍÁÎÄÉ ÛÅÌÁ sh, ÂÕÄÕÞÉ ÚÎÁÞÎÏ ÍÅÎÛÉ͠Φ֠sh. ÷ ash ×¦ÄÓÕÔΦ ÄÅÑ˦
+ÍÏÖÌÉ×ÏÓÔ¦ Bourne shell (ÎÁÐÒÉËÌÁÄ, ¦ÓÔÏҦѠËÏÍÁÎÄ), ÚÁÔŠצΠ×ÉÍÁÇÁ¤
+ÚÎÁÞÎÏ ÍÅÎÛÅ ÐÁÍ'ÑÔ¦.
+
 %package static
 Summary:       Small bourne shell from Berkeley
 Summary(de):   Kleine Bourne-Shell von Berkeley
 Summary(fr):   Shell Bourne réduit de Berkeley
-Summary(pl):   Ma³y shell bourne'a 
+Summary(pl):   Ma³y shell bourne'a
 Summary(tr):   Ufak bir bourne kabuðu
 Group:         Applications/Shells
-Group(de):     Applikationen/Shells
-Group(pl):     Aplikacje/Pow³oki
-Prereq:                fileutils
-Prereq:                grep
+Requires(post,preun,verify):   grep
+Requires(preun):       fileutils
 Conflicts:     mkinitrd <= 1.7
 
 %description static
@@ -95,35 +134,16 @@ commandes standard du shell Bourne et a l'avantage de les g
 en restant considérablement plus petit que bash.
 
 %description static -l pl
-Ash jest klonem shell'a Bourne'a z Berkeley. Obs³uguje standardowe
-komendy shell'a Bourne'a i jest mniejszy ni¿ bash.
+Ash jest klonem shella Bourne'a z Berkeley. Obs³uguje standardowe
+komendy shella Bourne'a i jest mniejszy ni¿ bash.
 
 %description static -l tr
 ash, Berkeley'in bir bourne kabuðu kopyasýdýr. Standart bourne kabuðu
 komutlarýnýn tümünü destekler ve bash kabuðundan daha küçük olma
 avantajýna sahiptir.
 
-%if %{?BOOT:1}%{!?BOOT:0}
-%package BOOT
-Summary:       Small bourne shell from Berkeley
-Summary(de):   Kleine Bourne-Shell von Berkeley
-Summary(fr):   Shell Bourne réduit de Berkeley
-Summary(pl):   Ma³y shell bourne'a 
-Summary(tr):   Ufak bir bourne kabuðu
-Group:         Applications/Shells
-Group(de):     Applikationen/Shells
-Group(pl):     Aplikacje/Pow³oki
-
-%description BOOT
-ash is a bourne shell clone from Berkeley. It supports all of the
-standard Bourne shell commands and has the advantage of supporting
-them while remaining considerably smaller than bash.
-Version for bootdisk
-
-%endif
-
 %prep
-%setup -q -n ash-%{version}
+%setup -q
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
@@ -145,88 +165,87 @@ Version for bootdisk
 %patch17 -p1
 %patch18 -p1
 %patch19 -p1
+%patch20 -p1
+%{?_with_dietlibc:%patch21 -p1}
 
 %build
-# BOOT
-%if %{?BOOT:1}%{!?BOOT:0}
-%{__make} \
-       OPT_FLAGS="-I/usr/lib/bootdisk%{_includedir} -Os" \
-       LDFLAGS="-nostdlib %{rpmldflags}" \
-       LDLIBS="%{_libdir}/bootdisk%{_libdir}/crt0.o %{_libdir}/bootdisk%{_libdir}/libc.a -lgcc"
-mv -f sh ash.BOOT
-%{__make} clean
-%endif
-
-# other
-%{__make} OPT_FLAGS="%{rpmcflags}" LDFLAGS="-static %{rpmldflags}"
-mv -f sh ash.static
-%{__make} OPT_FLAGS="%{rpmcflags}" LDFLAGS="%{rpmldflags}"
+
+%{?_with_dietlibc:%define __cc %{_arch}-dietlibc-gcc}
+
+%{!?_without_static:%{__make} OPT_FLAGS="%{rpmcflags}" LDFLAGS="-static %{rpmldflags}"}
+%{!?_without_static:mv -f sh ash.static}
+%{__make} OPT_FLAGS="%{rpmcflags}" LDFLAGS="%{rpmldflags}" CC="%{__cc}"
 
 %install
 rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1}
 
-# BOOT
-%if %{?BOOT:1}%{!?BOOT:0}
-install -d $RPM_BUILD_ROOT/usr/lib/bootdisk/bin
-install ash.BOOT $RPM_BUILD_ROOT/usr/lib/bootdisk/bin/ash
-ln -s ash $RPM_BUILD_ROOT/usr/lib/bootdisk/bin/sh
-%endif
-
-# other
-install -d $RPM_BUILD_ROOT/{%{_bindir},%{_mandir}/man1}
 install sh $RPM_BUILD_ROOT%{_bindir}/ash
-install ash.static $RPM_BUILD_ROOT%{_bindir}/ash.static
+%{!?_without_static:install ash.static $RPM_BUILD_ROOT%{_bindir}/ash.static}
 install sh.1 $RPM_BUILD_ROOT%{_mandir}/man1/ash.1
 echo ".so ash.1" > $RPM_BUILD_ROOT%{_mandir}/man1/bsh.1
-ln -sf ash $RPM_BUILD_ROOT/%{_bindir}/bsh
+ln -sf ash $RPM_BUILD_ROOT%{_bindir}/bsh
+
+%clean
+rm -rf $RPM_BUILD_ROOT
 
 %post
+umask 022
 if [ ! -f /etc/shells ]; then
-        echo "%{_bindir}/ash" > /etc/shells
-        echo "%{_bindir}/bsh" >> /etc/shells
+       echo "%{_bindir}/ash" > /etc/shells
+       echo "%{_bindir}/bsh" >> /etc/shells
 else
-        if ! grep '^%{_bindir}/ash$' /etc/shells > /dev/null; then
-                echo "%{_bindir}/ash" >> /etc/shells
-        fi
-        if ! grep '^%{_bindir}/bsh$' /etc/shells > /dev/null; then
-                echo "%{_bindir}/bsh" >> /etc/shells
-        fi
+       if ! grep -q '^%{_bindir}/ash$' /etc/shells ; then
+               echo "%{_bindir}/ash" >> /etc/shells
+       fi
+       if ! grep -q '^%{_bindir}/bsh$' /etc/shells ; then
+               echo "%{_bindir}/bsh" >> /etc/shells
+       fi
+fi
+
+%preun
+if [ "$1" = 0 ]; then
+       umask 022
+       grep -v '^%{_bindir}/ash$' /etc/shells | grep -v '^%{_bindir}/bsh$' > /etc/shells.new
+       mv -f /etc/shells.new /etc/shells
 fi
 
 %post static
+umask 022
 if [ ! -f /etc/shells ]; then
-        echo "%{_bindir}/ash.static" >> /etc/shells
+       echo "%{_bindir}/ash.static" >> /etc/shells
 else
-        if ! grep '^%{_bindir}/ash.static$' /etc/shells > /dev/null; then
-                echo "%{_bindir}/ash.static" >> /etc/shells
-        fi
-fi
-
-%preun
-if [ "$0" = 0 ]; then
-        grep -v %{_bindir}/ash /etc/shells | grep -v %{_bindir}/bsh | grep -v %{_bindir}/ash.static > /etc/shells.new
-        mv -f /etc/shells.new /etc/shells
+       if ! grep -q '^%{_bindir}/ash.static$' /etc/shells ; then
+               echo "%{_bindir}/ash.static" >> /etc/shells
+       fi
 fi
 
 %preun static
-if [ "$0" = 0 ]; then
-        grep -v %{_bindir}/ash /etc/shells | grep -v %{_bindir}/bsh > /etc/shells.new
-        mv -f /etc/shells.new /etc/shells
+if [ "$1" = 0 ]; then
+       umask 022
+       grep -v '^%{_bindir}/ash\.static$' /etc/shells > /etc/shells.new
+       mv -f /etc/shells.new /etc/shells
 fi
 
 %verifyscript
-for n in ash bsh ash.static; do
-    echo -n "Looking for $n in /etc/shells... "
-    if ! grep "^%{_bindir}/${n}\$" /etc/shells > /dev/null; then
-       echo "missing"
-       echo "${n} missing from /etc/shells" >&2
-    else
-       echo "found"
-    fi
+for n in ash bsh ; do
+       echo -n "Looking for $n in /etc/shells... "
+       if ! grep -q "^%{_bindir}/${n}\$" /etc/shells ; then
+               echo "missing"
+               echo "${n} missing from /etc/shells" >&2
+       else
+               echo "found"
+       fi
 done
 
-%clean
-rm -rf $RPM_BUILD_ROOT
+%verifyscript static
+echo -n "Looking for ash.static in /etc/shells... "
+if ! grep -q '^%{_bindir}/ash\.static$' /etc/shells ; then
+       echo "missing"
+       echo "ash.static missing from /etc/shells" >&2
+else
+       echo "found"
+fi
 
 %files
 %defattr(644,root,root,755)
@@ -234,12 +253,6 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/bsh
 %{_mandir}/man1/*
 
-%files static
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/ash.static
-
-%if %{?BOOT:1}%{!?BOOT:0}
-%files BOOT
-%defattr(644,root,root,755)
-%attr(755,root,root) /usr/lib/bootdisk/bin/*
-%endif
+%{!?_without_static:%files static}
+%{!?_without_static:%defattr(644,root,root,755)}
+%{!?_without_static:%attr(755,root,root) %{_bindir}/ash.static}
This page took 0.138365 seconds and 4 git commands to generate.