]> git.pld-linux.org Git - packages/bash.git/blobdiff - bash.spec
- BuildRequires: autoconf
[packages/bash.git] / bash.spec
index 5bdd719ed44c6e8daa00617585536fd5acc07d5c..9826462cd355c588eddae59147638baad41941c3 100644 (file)
--- a/bash.spec
+++ b/bash.spec
@@ -4,126 +4,137 @@ Summary(fr):        Le shell Bourne Again de GNU
 Summary(pl):   GNU Bourne Again Shell (bash)
 Summary(tr):   GNU Bourne Again Shell (bash)
 Name:          bash
-Version:       2.03
-Release:       9
-Group:         Shells
-Group(pl):     Pow³oki
-Copyright:     GPL
+Version:       2.05
+Release:       6
+License:       GPL
+Group:         Applications/Shells
+Group(de):     Applikationen/Shells
+Group(pl):     Aplikacje/Pow³oki
 Source0:       ftp://prep.ai.mit.edu/pub/gnu/bash/%{name}-%{version}.tar.gz
-Source1:       bashrc
-Source2:       bash-skel-.bash_logout
-Source3:       bash-skel-.bash_profile
-Source4:       bash-skel-.bashrc
-Source5:       bash-skel_pl-.bashrc
-Patch0:                bash-arm.patch
-Patch1:                bash-fixes.patch
-Patch2:                bash-paths.patch
-Patch3:                bash-security.patch
-Patch4:                bash-autoconf.patch
-Patch5:                bash-info.patch
-Patch6:                bash-requires.patch
-Patch7:                bash-profile.patch
-BuildRequires: ncurses-static
-Prereq:                /usr/sbin/fix-info-dir
-PreReq:                grep
-PreReq:                fileutils
-Buildroot:     /tmp/%{name}-%{version}-root
+Source1:       %{name}rc
+Source2:       %{name}-skel-.bash_logout
+Source3:       %{name}-skel-.bash_profile
+Source4:       %{name}-skel-.bashrc
+Patch0:                %{name}-paths.patch
+Patch1:                %{name}-security.patch
+Patch2:                %{name}-autoconf.patch
+Patch3:                %{name}-info.patch
+Patch4:                %{name}-profile.patch
+Patch5:                %{name}-requires.patch
+Patch6:                %{name}-compat.patch
+Patch7:                %{name}-shellfunc.patch
+Patch8:                http://www.t17.ds.pwr.wroc.pl/~misiek/ipv6/bash-2.05-ipv6-20010418.patch.gz
+Patch9:                %{name}-DESTDIR.patch
+Patch10:       %{name}-rlimit_locks.patch
+Patch11:       %{name}-sighup.patch
+Patch12:       %{name}-tmpfile.patch
+BuildRequires: ncurses-devel >= 5.2
+BuildRequires: readline-devel >= 4.2
+BuildRequires: glibc-devel >= 2.2
+%if %{!?_without_static:1}%{?_without_static:0}
+# Require static library only for static build
+BuildRequires: ncurses-static >= 5.2
+BuildRequires: readline-static >= 4.2
+BuildRequires: glibc-static >= 2.2
+%endif
+BuildRequires: bison
+BuildRequires: autoconf
+Prereq:                grep
+Prereq:                fileutils
+BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+Obsoletes:     bash-doc
+Obsoletes:     bash2
+Obsoletes:     bash2-doc
+Obsoletes:     etcskel
 
 %description
-Bash is a GNU project sh-compatible shell or command language interpreter.
-Bash (Bourne Again shell) incorporates useful features from the Korn shell
-(ksh) and the C shell (csh). Most sh scripts can be run by bash without
-modification.
-
-Bash offers several improvements over sh, including command line editing,
-unlimited size command history, job control, shell functions and aliases,
-indexed arrays of unlimited size and integer arithmetic in any base from two
-to 64. Bash is ultimately intended to conform to the IEEE POSIX P1003.2/ISO
-9945.2 Shell and Tools standard.
-
-Bash is the default shell for Linux Mandrake. You should install bash
-because of its popularity and power. You'll probably end up using it.
+Bash is a GNU project sh-compatible shell or command language
+interpreter. Bash (Bourne Again shell) incorporates useful features
+from the Korn shell (ksh) and the C shell (csh). Most sh scripts can
+be run by bash without modification. Bash offers several improvements
+over sh, including command line editing, unlimited size command
+history, job control, shell functions and aliases, indexed arrays of
+unlimited size and integer arithmetic in any base from two to 64. Bash
+is ultimately intended to conform to the IEEE POSIX P1003.2/ISO 9945.2
+Shell and Tools standard. Bash is the default shell for Linux
+Mandrake. You should install bash because of its popularity and power.
+You'll probably end up using it.
 
 %description -l de
-Bash ist eine sh-kompatible Shell und Kommandosprache aus dem GNU-Projekt.
-Bash (Bourne Again Shell) vereinigt die nützlichen Features aus der
-Korn-Shell (ksh) und der C-Shell (csh). Die meisten sh-Skripte laufen ohne
-Änderungen auf bash.
-
-Bash hat viele Erweiterungen im Vergleich zur "normalen" sh, wie z.B.
+Bash ist eine sh-kompatible Shell und Kommandosprache aus dem
+GNU-Projekt. Bash (Bourne Again Shell) vereinigt die nützlichen
+Features aus der Korn-Shell (ksh) und der C-Shell (csh). Die meisten
+sh-Skripte laufen ohne Änderungen auf bash. Bash hat viele
+Erweiterungen im Vergleich zur "normalen" sh, wie z.B.
 Kommandozeilenbearbeitung, unbeschränkte Größe der command-history,
-Job-Kontrolle, Shell-Funktionen und -Aliase, unbegrenzt große indizierte
-Arrays und Integer-Arithmetik in einer Basis von 2 bis 64. Hauptziel von
-bash ist es, den IEEE POSIX P1003.2/ISO 9945.2 Shell- und Tools-Standard
-einzuhalten.
-
-Bash ist die Standard-Shell für Linux Mandrake.
+Job-Kontrolle, Shell-Funktionen und -Aliase, unbegrenzt große
+indizierte Arrays und Integer-Arithmetik in einer Basis von 2 bis 64.
+Hauptziel von bash ist es, den IEEE POSIX P1003.2/ISO 9945.2 Shell-
+und Tools-Standard einzuhalten. Bash ist die Standard-Shell für Linux
+Mandrake.
 
 %description -l fr
-Bash est un shell (interpréteur de commande) du projet GNU, compatible avec
-le shell historique sh. Bash (Bourne Again SHell) comprend de nombreuses
-fonctionnalités du Korn SHell (ksh) et du C SHell (csh). La plupart des
-scripts sh sont exécutables sans modifications.
-
-Bash comprend nombre d'améliorations par rapport à sh : édition de la ligne
-de commande, historique illimité, contrôle des processus d'arrière-plan,
-fonctions de shell, alias, tableaux indexés de taille illimitée et calcul
-sur des entiers dans n'importe quelle base de 2 à 64. Bash est conforme au
-standard IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools.
-
-Bash est le shell par défaut de Mandrake. Vous devriez l'installer du fait de
-sa puissance et de sa popularité. Vous finirez probablement par l'utiliser.
+Bash est un shell (interpréteur de commande) du projet GNU, compatible
+avec le shell historique sh. Bash (Bourne Again SHell) comprend de
+nombreuses fonctionnalités du Korn SHell (ksh) et du C SHell (csh). La
+plupart des scripts sh sont exécutables sans modifications. Bash
+comprend nombre d'améliorations par rapport à sh : édition de la ligne
+de commande, historique illimité, contrôle des processus
+d'arrière-plan, fonctions de shell, alias, tableaux indexés de taille
+illimitée et calcul sur des entiers dans n'importe quelle base de 2 à
+64. Bash est conforme au standard IEEE POSIX P1003.2/ISO 9945.2 Shell
+and Tools. Bash est le shell par défaut de Mandrake. Vous devriez
+l'installer du fait de sa puissance et de sa popularité. Vous finirez
+probablement par l'utiliser.
 
 %description -l pl
-Bash jest zaawansowanym shellem, który wykonuje komendy czytane ze
-standardowego wej¶cia (stdin) lub z pliku. Posiada w³a¶ciwo¶ci 
-shelli Korn i C (ksh i csh). 
-
-Bash ma równie¿ zaimplementowany IEEE Posix Shell oraz jest zgodny ze 
-specyfikacj± - IEEE Working Group 1003.2.
+Bash (Bourne Again SHell) jest projektem GNU pow³oki kompatybilnej z
+sh oraz interpretera jêzyka poleceñ. Posiada u¿yteczne w³a¶ciwo¶ci
+pow³ok Korn (ksh) i C (csh). Wiêkszo¶æ skryptów sh mo¿e byæ
+uruchamiana w bashu bez modyfikacji. Oferuje on kilka ulepszeñ w
+stusunku do sh, w³±czaj±c edycjê linii poleceñ, nieograniczony rozmiar
+historii poleceñ, funkcje i aliasy, indeksowane tablice
+nieograniczonych rozmiarów oraz arytmetykê ca³kowitoliczbow± o
+dowolnej podstawie od 2 do 64. W zamierzeniu ostatecznie ma byæ zgodny
+ze standardem IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools.
 
 %description -l tr
-Bash standart giriþten ya da bir dosyadan komut okuyup çalýþtýran sh uyumlu
-bir komut dili yorumlayýcýsýdýr. Ayný zamanda Korn ve C kabuklarýnýn (ksh ve
-csh) kullanýþlý özelliklerini de kapsar. Bash, IEEE Posix Kabuk ve Araç
-ayrýntýlarýna (IEEE Working Group 1003.2) uyumlu bir uygulama olarak
-tasarlanmýþtýr.
+Bash standart giriþten ya da bir dosyadan komut okuyup çalýþtýran sh
+uyumlu bir komut dili yorumlayýcýsýdýr. Ayný zamanda Korn ve C
+kabuklarýnýn (ksh ve csh) kullanýþlý özelliklerini de kapsar. Bash,
+IEEE Posix Kabuk ve Araç ayrýntýlarýna (IEEE Working Group 1003.2)
+uyumlu bir uygulama olarak tasarlanmýþtýr.
 
 %package static
 Summary:       Staticly linked GNU Bourne Again Shell (bash)
 Summary(pl):   Statycznie zlinkowany GNU Bourne Again Shell (bash)
-Group:         Shells
-Group(pl):     Pow³oki
+Group:         Applications/Shells
+Group(de):     Applikationen/Shells
+Group(pl):     Aplikacje/Pow³oki
 Requires:      %{name}
-PreReq:                grep
-PreReq:                fileutils
+Prereq:                grep
+Prereq:                fileutils
 
 %description static
-Bash is a GNU project sh-compatible shell or command language interpreter.
-Bash (Bourne Again shell) incorporates useful features from the Korn shell
-(ksh) and the C shell (csh). Most sh scripts can be run by bash without
-modification.
-
-Bash offers several improvements over sh, including command line editing,
-unlimited size command history, job control, shell functions and aliases,
-indexed arrays of unlimited size and integer arithmetic in any base from two
-to 64. Bash is ultimately intended to conform to the IEEE POSIX P1003.2/ISO
-9945.2 Shell and Tools standard.
-
-Bash is the default shell for Linux Mandrake. You should install bash
-because of its popularity and power. You'll probably end up using it.
-
-This packege contains staticly linked version of bash.
+Bash is a GNU project sh-compatible shell or command language
+interpreter. Bash (Bourne Again shell) incorporates useful features
+from the Korn shell (ksh) and the C shell (csh). Most sh scripts can
+be run by bash without modification. Bash offers several improvements
+over sh, including command line editing, unlimited size command
+history, job control, shell functions and aliases, indexed arrays of
+unlimited size and integer arithmetic in any base from two to 64. Bash
+is ultimately intended to conform to the IEEE POSIX P1003.2/ISO 9945.2
+Shell and Tools standard. Bash is the default shell for Linux
+Mandrake. You should install bash because of its popularity and power.
+You'll probably end up using it. This packege contains staticly linked
+version of bash.
 
 %description static -l pl
 Bash jest zaawansowanym shellem, który wykonuje komendy czytane ze
-standardowego wej¶cia (stdin) lub z pliku. Posiada w³a¶ciwo¶ci shelli Korn i
-C (ksh i csh).
-
-Bash ma równie¿ zaimplementowany IEEE Posix Shell oraz jest zgodny ze
-specyfikacj± - IEEE Working Group 1003.2.
-
-W tym pakiecie jest statycznie zlinkowany bash.
+standardowego wej¶cia (stdin) lub z pliku. Posiada w³a¶ciwo¶ci pow³ok
+Korn i C (ksh i csh). Bash ma równie¿ zaimplementowany IEEE Posix
+Shell oraz jest zgodny ze specyfikacj± - IEEE Working Group 1003.2. W
+tym pakiecie jest statycznie zlinkowany bash.
 
 %prep
 %setup -q
@@ -135,12 +146,18 @@ W tym pakiecie jest statycznie zlinkowany bash.
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
 
 echo %{version} > _distribution
 echo %{release} > _patchlevel
 
 %build
-LDFLAGS="-s"; export LDFLAGS
+autoconf
+for mode in %{!?_without_static:static} shared; do
 %configure \
        --enable-alias \
        --enable-help-builtin \
@@ -151,89 +168,84 @@ LDFLAGS="-s"; export LDFLAGS
        --with-curses \
        --enable-extended-glob \
        --enable-dparen-arithmetic \
-       --enable-static-link
+       `[ "$mode" = "static" ] && echo "--enable-static-link"` \
+       --with-installed-readline
+
+%{__make} DEFS="-DHAVE_CONFIG_H -D_GNU_SOURCE"
 
-make TERMCAP_LIB="-lncurses"
-mv bash bash.static
-make TERMCAP_LIB="-lncurses" STATIC_LD=""
+[ "$mode" = "static" ] && mv -f bash bash.static || :
+done
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_mandir},%{_infodir}} \
-       $RPM_BUILD_ROOT/{bin,etc/skel/{C,pl}}
+install -d $RPM_BUILD_ROOT/{bin,etc/skel}
 
-make install \
-       bindir=$RPM_BUILD_ROOT%{_bindir} \
-       infodir=$RPM_BUILD_ROOT%{_infodir} \
-       mandir=$RPM_BUILD_ROOT%{_mandir} 
+%{__make} install DESTDIR=$RPM_BUILD_ROOT
 
-mv $RPM_BUILD_ROOT%{_bindir}/bash      $RPM_BUILD_ROOT/bin
-install        -s bash.static  $RPM_BUILD_ROOT/bin
+mv -f $RPM_BUILD_ROOT%{_bindir}/bash $RPM_BUILD_ROOT/bin
+%{?_without_static:#}install   bash.static $RPM_BUILD_ROOT/bin
 
-install        %{SOURCE1}      $RPM_BUILD_ROOT/etc/bashrc
-echo   .so bash.1 >    $RPM_BUILD_ROOT%{_mandir}/man1/rbash.1
-ln -sf bash            $RPM_BUILD_ROOT/bin/rbash
+install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/bashrc
+echo .so bash.1 > $RPM_BUILD_ROOT%{_mandir}/man1/rbash.1
 
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/skel/C/.bash_logout
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/skel/C/.bash_profile
-install %{SOURCE4} $RPM_BUILD_ROOT/etc/skel/C/.bashrc
-install %{SOURCE5} $RPM_BUILD_ROOT/etc/skel/pl/.bashrc
+ln -sf bash $RPM_BUILD_ROOT/bin/rbash
 
-gzip -9nf $RPM_BUILD_ROOT{%{_infodir}/bash.info,%{_mandir}/man1/*} \
-       NEWS README doc/{FAQ,INTRO}
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/skel/.bash_logout
+install %{SOURCE3} $RPM_BUILD_ROOT/etc/skel/.bash_profile
+install %{SOURCE4} $RPM_BUILD_ROOT/etc/skel/.bashrc
+
+gzip -9nf NEWS README doc/{FAQ,INTRO}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
 
 %post
 if [ ! -f /etc/shells ]; then
        echo "/bin/bash" > /etc/shells
        echo "/bin/rbash" >> /etc/shells
 else
-       if ! grep '^/bin/bash$' /etc/shells > /dev/null; then
+       if ! grep -q '^/bin/bash$' /etc/shells; then
                echo "/bin/bash" >> /etc/shells
        fi
-       if ! grep '^/bin/rbash$' /etc/shells > /dev/null; then
+       if ! grep -q '^/bin/rbash$' /etc/shells; then
                echo "/bin/rbash" >> /etc/shells
        fi
 fi
 
-/usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
+[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
 
 %post static
 if [ ! -f /etc/shells ]; then
        echo "/bin/bash.static" > /etc/shells
 else
-       if ! grep '^/bin/bash.static$' /etc/shells > /dev/null; then
+       if ! grep -q '^/bin/bash.static$' /etc/shells; then
                echo "/bin/bash.static" >> /etc/shells
        fi
 fi
 
 %preun
-if [ $1 = 0 ]; then
+if [ "$1" = "0" ]; then
        grep -v /bin/bash /etc/shells | grep -v /bin/rbash > /etc/shells.new
-       mv /etc/shells.new /etc/shells
+       mv -f /etc/shells.new /etc/shells
 fi
 
 %preun static
-if [ $1 = 0 ]; then
+if [ "$1" = "0" ]; then
        grep -v /bin/bash.static /etc/shells > /etc/shells.new
-       mv /etc/shells.new /etc/shells
+       mv -f /etc/shells.new /etc/shells
 fi
 
 %postun
-/usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
-
-%clean
-rm -rf $RPM_BUILD_ROOT
+[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
 
 %files
 %defattr(644,root,root,755)
 %doc {NEWS,README}.gz doc/{FAQ,INTRO}.gz
 
-/etc/bashrc
-
-/etc/skel/C/.bash_logout
-/etc/skel/C/.bash_profile
-/etc/skel/C/.bashrc
-%lang(pl) /etc/skel/pl/.bashrc
+%config %verify(not md5 size mtime) %{_sysconfdir}/bashrc
+%config(noreplace,missingok) %verify(not md5 size mtime) /etc/skel/.bash_logout
+%config(noreplace,missingok) %verify(not md5 size mtime) /etc/skel/.bash_profile
+%config(noreplace,missingok) %verify(not md5 size mtime) /etc/skel/.bashrc
 
 %attr(755,root,root) /bin/bash
 %attr(755,root,root) /bin/rbash
@@ -242,5 +254,6 @@ rm -rf $RPM_BUILD_ROOT
 %{_infodir}/bash.info.gz
 %{_mandir}/man1/*
 
-%files static
-%attr(755,root,root) /bin/bash.static
+%{?_without_static:#}%files static
+%{?_without_static:#}%defattr(644,root,root,755)
+%{?_without_static:#}%attr(755,root,root) /bin/bash.static
This page took 0.041955 seconds and 4 git commands to generate.