#
# Conditional build
-# --without static - don't build static
-# --with dietlibc - link with dietlibc, implies --without static)
+%bcond_without static # don't build static
+%bcond_with dietlibc # link with dietlibc, implies without static
+%bcond_with uClibc # link with uclibc
# Branch: HEAD
-%{?_with_dietlibc:%define _without_static 1}
+%if %{with dietlibc}
+%undefine with_static
+%endif
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(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
+Summary(de.UTF-8): Kleine Bourne-Shell von Berkeley
+Summary(es.UTF-8): Pequeña shell bourne de Berkeley
+Summary(fr.UTF-8): Shell Bourne réduit de Berkeley
+Summary(pl.UTF-8): Mały shell bourne'a
+Summary(pt_BR.UTF-8): Pequena shell bourne de Berkeley
+Summary(ru.UTF-8): Облегченная версия Bourne shell (sh)
+Summary(tr.UTF-8): Ufak bir bourne kabuğu
+Summary(uk.UTF-8): Полегшена версія Bourne shell (sh)
+Summary(zh_CN.UTF-8): [系统]Berkeley的微型Bourne Shell
+Summary(zh_TW.UTF-8): [\e-A系\e$)B統]Berkeley的\e-A微\e$)B型Bourne Shell
Name: ash
Version: 0.4.0
-Release: 9
+Release: 11
License: BSD
Group: Applications/Shells
Source0: %{name}-%{version}.tar.gz
Patch19: %{name}-freebsd.patch
Patch20: %{name}-sighup.patch
Patch21: %{name}-dietlibc.patch
+Patch22: %{name}-extern.patch
BuildRequires: byacc
-%{?_with_dietlibc:BuildRequires: dietlibc-static}
+%{?with_dietlibc:BuildRequires: dietlibc-devel}
BuildRequires: flex
-%{!?_without_static:BuildRequires: glibc-static}
+%if %{with static}
+%{!?with_uClibc:BuildRequires: glibc-static}
+%{?with_uClibc:BuildRequires: uClibc-static > 2:0.9.27-1}
+%endif
+%{?with_uClibc:BuildRequires: uClibc-devel > 2:0.9.27-1}
Requires(post,preun,verify): grep
Requires(preun): fileutils
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
standard Bourne shell commands and has the advantage of supporting
them while remaining considerably smaller than bash.
-%description -l de
+%description -l de.UTF-8
ash ist ein Bourne-Shell-Clone aus Berkeley, der alle
-Standard-Bourne-Shell- Befehle unterstützt und dennoch erheblich
+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 es.UTF-8
+Ash es un clon 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 fr.UTF-8
+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 shella Bourne'a z Berkeley. Obs³uguje standardowe
-komendy shella Bourne'a i jest mniejszy ni¿ bash.
+%description -l pl.UTF-8
+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
+%description -l pt_BR.UTF-8
+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 (ÎÁÐÒÉËÌÁÄ, ¦ÓÔÏÒ¦Ñ ËÏÍÁÎÄ), ÚÁÔŠצΠ×ÉÍÁÇÁ¤
-ÚÎÁÞÎÏ ÍÅÎÛÅ ÐÁÍ'ÑÔ¦.
+%description -l ru.UTF-8
+Шелл - это базовая системная программа, которая интерпретирует команды
+полÑ\8cзоваÑ\82елÑ\8f, вводимÑ\8bе Ñ\81 клавиаÑ\82Ñ\83Ñ\80Ñ\8b или пÑ\80и помоÑ\89и мÑ\8bÑ\88и. Ash - Ñ\8dÑ\82о
+клон Bourne shell (sh) из Беркли. Ash поддерживает все стандартные
+команды шелла sh, будучи значительно меньше чем sh. В ash отсутствуют
+некоторые возможности Bourne shell (например, история команд), но он
+требует значительно меньше памяти.
+
+%description -l tr.UTF-8
+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.UTF-8
+Шел - це базова системна програма, котра інтерпретує команди
+користувача, які вводяться з клавіатури або за допомогою миші. 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(tr): Ufak bir bourne kabuðu
+Summary(de.UTF-8): Kleine Bourne-Shell von Berkeley
+Summary(fr.UTF-8): Shell Bourne réduit de Berkeley
+Summary(pl.UTF-8): Mały shell bourne'a
+Summary(tr.UTF-8): Ufak bir bourne kabuğu
Group: Applications/Shells
Requires(post,preun,verify): grep
Requires(preun): fileutils
standard Bourne shell commands and has the advantage of supporting
them while remaining considerably smaller than bash.
-%description static -l de
+%description static -l de.UTF-8
ash ist ein Bourne-Shell-Clone aus Berkeley, der alle
-Standard-Bourne-Shell- Befehle unterstützt und dennoch erheblich
+Standard-Bourne-Shell- Befehle unterstützt und dennoch erheblich
weniger Platz beansprucht als bash.
-%description static -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 static -l fr.UTF-8
+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 static -l pl
-Ash jest klonem shella Bourne'a z Berkeley. Obs³uguje standardowe
-komendy shella Bourne'a i jest mniejszy ni¿ bash.
+%description static -l pl.UTF-8
+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.
+%description static -l tr.UTF-8
+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.
%prep
%setup -q
%patch19 -p1
%patch20 -p1
%{?_with_dietlibc:%patch21 -p1}
+%patch22 -p1
%build
-
-%{?_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}"
+%if %{with static}
+%{__make} \
+%if %{with dietlibc}
+ CC="diet %{__cc}" \
+%else
+%if %{with uClibc}
+ CC="%{_target_cpu}-uclibc-gcc"\
+%else
+ CC="%{__cc}"
+%endif
+%endif
+ OPT_FLAGS="%{rpmcflags} -Os" \
+ LDFLAGS="-static %{rpmldflags}"
+
+mv -f sh ash.static
+%endif
+
+%{__make} \
+ CC="%{__cc}" \
+ OPT_FLAGS="%{rpmcflags}" \
+ LDFLAGS="%{rpmldflags}"
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1}
install sh $RPM_BUILD_ROOT%{_bindir}/ash
-%{!?_without_static:install ash.static $RPM_BUILD_ROOT%{_bindir}/ash.static}
+%{?with_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
%attr(755,root,root) %{_bindir}/bsh
%{_mandir}/man1/*
-%{!?_without_static:%files static}
-%{!?_without_static:%defattr(644,root,root,755)}
-%{!?_without_static:%attr(755,root,root) %{_bindir}/ash.static}
+%if %{with static}
+%files static
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/ash.static
+%endif