-# Env: 123
# Branch: HEAD
# conditional build:
-# if BOOT is defined, build BOOT package too
+# _without_embed - don't build uClibc version
Summary: Small bourne shell from Berkeley
Summary(de): Kleine Bourne-Shell von Berkeley
Summary(fr): Shell Bourne réduit de Berkeley
Summary(tr): Ufak bir bourne kabuðu
Name: ash
Version: 0.4.0
-Release: 3
+Release: 5
License: BSD
Group: Applications/Shells
Group(de): Applikationen/Shells
BuildRequires: glibc-static
BuildRequires: flex
BuildRequires: byacc
-%if %{?BOOT:1}%{!?BOOT:0}
-BuildRequires: uClibc-devel-BOOT >= 20000521
+%if %{!?_without_embed:1}%{?_without_embed:0}
+BuildRequires: uClibc-devel
+BuildRequires: uClibc-static
%endif
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Conflicts: mkinitrd <= 1.7
+%define embed_path /usr/lib/embed
+%define embed_cc %{_arch}-uclibc-cc
+%define embed_cflags %{rpmcflags} -Os
+
%define _bindir /bin
%description
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
+%package embed
Summary: Small bourne shell from Berkeley
Summary(de): Kleine Bourne-Shell von Berkeley
Summary(fr): Shell Bourne réduit de Berkeley
Group(de): Applikationen/Shells
Group(pl): Aplikacje/Pow³oki
-%description BOOT
+%description embed
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
+Version for embedded systems.
%prep
%setup -q
%patch7 -p1
%patch8 -p1
%patch9 -p1
-#%patch10 -p1
+%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%build
# BOOT
-%if %{?BOOT:1}%{!?BOOT:0}
+%if %{!?_without_embed:1}%{?_without_embed:0}
# some of this utilities does not compile with uClibc
# and it is not necessary
%{__make} mksignames mkbuiltins mknodes mksignames mksyntax mktokens
%{__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
+ OPT_FLAGS="%{embed_cflags}" \
+ CC=%{embed_cc}
+mv -f sh ash-embed-shared
+%{__make} \
+ OPT_FLAGS="%{embed_cflags}" \
+ LDFLAGS="-static" \
+ CC=%{embed_cc}
+mv -f sh ash-embed-static
%{__make} clean
%endif
-# this patch imposes memory buffers - uClibc lacks them
-patch -p1 <%{PATCH10}
-
# other
%{__make} OPT_FLAGS="%{rpmcflags}" LDFLAGS="-static %{rpmldflags}"
mv -f sh ash.static
rm -rf $RPM_BUILD_ROOT
# 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 -sf ash $RPM_BUILD_ROOT/usr/lib/bootdisk/bin/sh
+%if %{!?_without_embed:1}%{?_without_embed:0}
+install -d $RPM_BUILD_ROOT/%{embed_path}/{shared,static}
+install ash-embed-static $RPM_BUILD_ROOT/%{embed_path}/static/ash
+install ash-embed-shared $RPM_BUILD_ROOT/%{embed_path}/shared/ash
+ln -sf ash $RPM_BUILD_ROOT/%{embed_path}/shared/sh
+ln -sf ash $RPM_BUILD_ROOT/%{embed_path}/static/sh
%endif
# other
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/ash.static
-%if %{?BOOT:1}%{!?BOOT:0}
-%files BOOT
+%if %{!?_without_embed:1}%{?_without_embed:0}
+%files embed
%defattr(644,root,root,755)
-%attr(755,root,root) /usr/lib/bootdisk/bin/*
+%attr(755,root,root) %{embed_path}/*/*
%endif