X-Git-Url: http://git.pld-linux.org/?p=packages%2Fbash.git;a=blobdiff_plain;f=bash.spec;h=f1011f0d64d294ac6f079b8fc062da59dca771fd;hp=670688ef2a71a168c3131c209ddd00fa022ae520;hb=0c16d439bb43a94d33b3d50d780ea755db57c860;hpb=47bbf9f8c3840a53590284ef1e54caba94fea848 diff --git a/bash.spec b/bash.spec index 670688e..f1011f0 100644 --- a/bash.spec +++ b/bash.spec @@ -1,26 +1,25 @@ -# # Conditional build: %bcond_without static # don't build static version %bcond_with bash_history # build with additional history in /var/log/bash_hist ;) -## +%bcond_without tests # do not perform "make test" + +%define ver 4.3 +%define patchlevel 0 +%define rel 1 Summary: GNU Bourne Again Shell (bash) -Summary(es): GNU Bourne Again Shell (bash) -Summary(fr): Le shell Bourne Again de GNU -Summary(pl): Pow³oka GNU Bourne Again Shell (bash) -Summary(pt_BR): GNU Bourne Again Shell (bash) -Summary(ru): GNU Bourne Again Shell (bash) -Summary(uk): GNU Bourne Again Shell (bash) +Summary(fr.UTF-8): Le shell Bourne Again de GNU +Summary(pl.UTF-8): Powłoka GNU Bourne Again Shell (bash) Name: bash -Version: 3.0 -Release: 4%{?with_bash_history:inv} +Version: %{ver}%{?patchlevel:.%{patchlevel}} +Release: %{rel}%{?with_bash_history:inv} License: GPL Group: Applications/Shells -Source0: ftp://ftp.gnu.org/pub/gnu/bash/%{name}-%{version}.tar.gz -# Source0-md5: 26c4d642e29b3533d8d754995bc277b3 +Source0: http://ftp.gnu.org/gnu/bash/%{name}-%{ver}.tar.gz +# Source0-md5: 81348932d5da294953e15d4814c74dd1 Source1: %{name}rc -Source2: %{name}-skel-.%{name}_logout -Source3: %{name}-skel-.%{name}_profile -Source4: %{name}-skel-.%{name}rc +Source2: %{name}-skel-.bash_logout +Source3: %{name}-skel-.bash_profile +Source4: %{name}-skel-.bashrc Source5: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2 # Source5-md5: d2aacf89c4a444c5da648da69afdb01a Patch0: %{name}-paths.patch @@ -30,43 +29,29 @@ Patch3: %{name}-info.patch Patch4: %{name}-profile.patch Patch5: %{name}-requires.patch Patch6: %{name}-compat.patch -Patch7: %{name}-rlimit_locks.patch Patch8: %{name}-sighup.patch Patch9: %{name}-backup_history.patch -Patch10: %{name}-pmake.patch -Patch11: %{name}-act_like_sh.patch -Patch21: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-001 -Patch22: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-002 -Patch23: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-003 -Patch24: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-004 -Patch25: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-005 -Patch26: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-006 -Patch27: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-007 -Patch28: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-008 -Patch29: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-009 -Patch30: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-010 -Patch31: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-011 -Patch32: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-012 -Patch33: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-013 -Patch34: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-014 -Patch35: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-015 -Patch36: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-016 +Patch10: %{name}-act_like_sh.patch +Patch11: %{name}-elinks_cont.patch +Patch12: %{name}-pl.po-update.patch +%patchset_source -f http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-%03g 1 %{patchlevel} +URL: http://www.gnu.org/software/bash/ BuildRequires: autoconf BuildRequires: automake BuildRequires: bison BuildRequires: ncurses-devel >= 5.2 -BuildRequires: readline-devel >= 5.0 +BuildRequires: readline-devel >= 6.3 +BuildRequires: rpmbuild(macros) >= 1.462 +BuildRequires: sed >= 4.0 BuildRequires: texinfo %if %{with static} # Require static library only for static build BuildRequires: glibc-static >= 2.2 BuildRequires: ncurses-static >= 5.2 -BuildRequires: readline-static >= 5.0 +BuildRequires: readline-static >= 6.3 %endif -PreReq: grep -Requires(preun): fileutils +Requires: readline >= 6.3 Requires: setup >= 2.4.6-2 -Requires: readline >= 5.0 Obsoletes: bash-doc Obsoletes: bash2 Obsoletes: bash2-doc @@ -86,90 +71,88 @@ 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 es +%description -l es.UTF-8 Bash es un interpretador de comandos compatible con sh, que ejecuta -comandos leídos de la entrada padrón o de un archivo. Bash también -incorpora características útiles de las shells Korn y C (ksh y csh). -Bash ha sido desarrollado para ser una adición compatible con la -especificación IEEE Posix para shells y herramientas (IEEE Working +comandos leídos de la entrada padrón o de un archivo. Bash también +incorpora características útiles de las shells Korn y C (ksh y csh). +Bash ha sido desarrollado para ser una adición compatible con la +especificación IEEE Posix para shells y herramientas (IEEE Working Group 1003.2). -%description -l de +%description -l de.UTF-8 Bash ist eine sh-kompatible Shell und Kommandosprache aus dem -GNU-Projekt. Bash (Bourne Again Shell) vereinigt die nützlichen +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 +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 +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 +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 +%description -l fr.UTF-8 +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 à +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 +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 (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 -stosunku 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 +%description -l pl.UTF-8 +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 +stosunku 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 pt_BR -Bash é um interpretador de comandos compatível com sh, que executa -comandos lidos da entrada padrão ou de um arquivo. Bash também -incorpora características úteis das shells Korn e C (ksh e csh). Bash -tem sido desenvolvido para ser uma implementação compatível com a -especificação IEEE Posix para shells e ferramentas (IEEE Working Group +%description -l pt_BR.UTF-8 +Bash é um interpretador de comandos compatível com sh, que executa +comandos lidos da entrada padrão ou de um arquivo. Bash também +incorpora características úteis das shells Korn e C (ksh e csh). Bash +tem sido desenvolvido para ser uma implementação compatível com a +especificação IEEE Posix para shells e ferramentas (IEEE Working Group 1003.2). -%description -l ru -Bash - ÜÔÏ sh-ÓÏ×ÍÅÓÔÉÍÙÊ ÉÎÔÅÒÐÒÅÔÁÔÏÒ ËÏÍÁÎÄÎÏÇÏ ÑÚÙËÁ (shell), -ÉÓÐÏÌÎÑÀÝÉÊ ËÏÍÁÎÄÙ, ÐÏÓÔÕÐÁÀÝÉÅ ÓÏ ÓÔÁÎÄÁÒÔÎÏÇÏ ××ÏÄÁ ÉÌÉ ÉÚ ÆÁÊÌÁ. -Bash ×ËÌÀÞÁÅÔ ÐÏÌÅÚÎÙÅ ÒÁÓÛÉÒÅÎÉÑ ÉÚ ÉÎÔÅÒÐÒÅÔÁÔÏÒÏ× Korn É C shell -(ksh É csh). +%description -l ru.UTF-8 +Bash - это sh-совместимый интерпретатор командного языка (shell), +исполняющий команды, поступающие со стандартного ввода или из файла. +Bash включает полезные расширения из интерпретаторов Korn и C shell +(ksh и csh). -Bash ÒÁÚÒÁÂÁÔÙ×ÁÅÔÓÑ ËÁË ÒÅÁÌÉÚÁÃÉÑ, ÏÔ×ÅÞÁÀÝÁÑ IEEE Posix Shell and +Bash разрабатывается как реализация, отвечающая IEEE Posix Shell and Tools specification (IEEE Working Group 1003.2). -%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. +%description -l tr.UTF-8 +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. -%description -l uk -Bash - ÃÅ sh-ÓÕͦÓÔÎÉÊ ¦ÎÔÅÒÐÒÅÔÁÔÏÒ ËÏÍÁÎÄÎϧ ÍÏ×É (shell), -×ÉËÏÎÕÀÞÉÊ ËÏÍÁÎÄÉ Ú¦ ÓÔÁÎÄÁÒÔÎÏÇÏ ××ÏÄÕ ÁÂÏ Ú ÆÁÊÌÁ. Bash ͦÓÔÉÔØ -ËÏÒÉÓÔΦ ÒÏÚÛÉÒÅÎÎÑ Ú ¦ÎÔÅÒÐÒÅÔÁÔÏÒ¦× Korn ÔÁ C shell (ksh ÔÁ csh). +%description -l uk.UTF-8 +Bash - це sh-сумістний інтерпретатор командної мови (shell), +виконуючий команди зі стандартного вводу або з файла. Bash містить +користні розширення з інтерпретаторів Korn та C shell (ksh та csh). -Bash ÒÏÚÒÏÂÌÑ×ÓÑ ÑË ÒÅÁ̦ÚÁæÑ, ÝÏ ×¦ÄÐÏצÄÁ¤ IEEE Posix Shell and +Bash розроблявся як реалізація, що відповідає IEEE Posix Shell and Tools specification (IEEE Working Group 1003.2). %package static Summary: Statically linked GNU Bourne Again Shell (bash) -Summary(pl): Statycznie skonsolidowany GNU Bourne Again Shell (bash) +Summary(pl.UTF-8): Statycznie skonsolidowany GNU Bourne Again Shell (bash) Group: Applications/Shells -Requires(post,preun): grep -Requires(preun): fileutils Requires: %{name} = %{version}-%{release} %description static @@ -186,15 +169,17 @@ Mandrake. You should install bash because of its popularity and power. You'll probably end up using it. This package contains statically linked version of bash. -%description static -l pl -Bash jest zaawansowan± pow³ok±, która wykonuje komendy czytane ze -standardowego wej¶cia (stdin) lub z pliku. Posiada w³a¶ciwo¶ci pow³ok -Korn i C (ksh i csh). Bash jest równie¿ zaimplementowany IEEE Posix -Shell oraz jest zgodny ze specyfikacj± - IEEE Working Group 1003.2. W +%description static -l pl.UTF-8 +Bash jest zaawansowaną powłoką, która wykonuje komendy czytane ze +standardowego wejścia (stdin) lub z pliku. Posiada właściwości powłok +Korn i C (ksh i csh). Bash jest również zaimplementowany IEEE Posix +Shell oraz jest zgodny ze specyfikacją - IEEE Working Group 1003.2. W tym pakiecie jest wersja basha skonsolidowana statycznie. %prep -%setup -q -a5 +%setup -q -n %{name}-%{ver} -a5 +# official patches +%{?patchlevel:%patchset_patch 1 %{patchlevel}} %patch0 -p1 %patch1 -p1 %patch2 -p1 @@ -202,34 +187,15 @@ tym pakiecie jest wersja basha skonsolidowana statycznie. %patch4 -p1 %patch5 -p1 %patch6 -p1 -%patch7 -p1 %patch8 -p1 %{?with_bash_history:%patch9 -p1} -#%patch10 -p1 -- no longer needed? +%patch10 -p1 %patch11 -p1 -%patch21 -p0 -%patch22 -p0 -%patch23 -p0 -%patch24 -p0 -%patch25 -p0 -%patch26 -p0 -%patch27 -p0 -%patch28 -p0 -%patch29 -p0 -%patch30 -p0 -%patch31 -p0 -%patch32 -p0 -%patch33 -p0 -%patch34 -p0 -%patch35 -p0 -%patch36 -p0 - -echo %{version} > _distribution -echo %{release} > _patchlevel +#%patch12 -p1 %build -%{__autoconf} cp -f /usr/share/automake/config.* support +%{__autoconf} for mode in %{?with_static:static} shared; do %configure \ --enable-alias \ @@ -241,18 +207,22 @@ for mode in %{?with_static:static} shared; do --with-curses \ --enable-extended-glob \ --enable-dparen-arithmetic \ - `[ "$mode" = "static" ] && echo "--enable-static-link"` \ + --enable-separate-helpfiles \ + --without-bash-malloc \ + $([ "$mode" = "static" ] && echo "--enable-static-link") \ --with-installed-readline %{__make} \ DEFS="-DHAVE_CONFIG_H -D_GNU_SOURCE" -[ "$mode" = "static" ] && mv -f bash bash.static || : +[ "$mode" = "static" ] && mv -f bash bash.static done +%{?with_tests:%{__make} tests} + %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT/{bin,etc/skel} +install -d $RPM_BUILD_ROOT{/bin,/etc/skel,%{_datadir}/%{name}} %{?with_bash_history:install -d $RPM_BUILD_ROOT/var/log/bash_hist} %{__make} install \ @@ -275,69 +245,49 @@ ln -sf bash $RPM_BUILD_ROOT/bin/rbash 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 +rm -f $RPM_BUILD_ROOT%{_infodir}/dir + +# use our bugtracker, upstream will ignore reports from this anyway +rm -f $RPM_BUILD_ROOT%{_bindir}/bashbug %find_lang %{name} %clean rm -rf $RPM_BUILD_ROOT -%post -umask 022 -if [ ! -f /etc/shells ]; then - echo "/bin/bash" > /etc/shells - echo "/bin/rbash" >> /etc/shells -else - if ! grep -q '^/bin/bash$' /etc/shells; then - echo "/bin/bash" >> /etc/shells - fi - if ! grep -q '^/bin/rbash$' /etc/shells; then - echo "/bin/rbash" >> /etc/shells - fi -fi - -[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 - -%preun -if [ "$1" = "0" ]; then - umask 022 - grep -v /bin/bash /etc/shells | grep -v /bin/rbash > /etc/shells.new - mv -f /etc/shells.new /etc/shells -fi - -%post static -umask 022 -if [ ! -f /etc/shells ]; then - echo "/bin/bash.static" > /etc/shells -else - if ! grep -q '^/bin/bash.static$' /etc/shells; then - echo "/bin/bash.static" >> /etc/shells - fi -fi - -%preun static -if [ "$1" = "0" ]; then - umask 022 - grep -v /bin/bash.static /etc/shells > /etc/shells.new - mv -f /etc/shells.new /etc/shells -fi - -%postun -[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 +%post -p +%lua_add_etc_shells /bin/bash /bin/rbash +os.execute("/usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1") + +%preun -p +if arg[2] == 0 then + %lua_remove_etc_shells /bin/bash /bin/rbash +end + +%postun -p /sbin/postshell +-/usr/sbin/fix-info-dir -c %{_infodir} + +%post static -p +%lua_add_etc_shells /bin/bash.static + +%preun static -p +if arg[2] == 0 then + %lua_remove_etc_shells /bin/bash.static +end %files -f %{name}.lang %defattr(644,root,root,755) %doc CHANGES NEWS README doc/{FAQ,INTRO} -%config(noreplace) %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 +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bashrc +%config(noreplace,missingok) %verify(not md5 mtime size) /etc/skel/.bash_logout +%config(noreplace,missingok) %verify(not md5 mtime size) /etc/skel/.bash_profile +%config(noreplace,missingok) %verify(not md5 mtime size) /etc/skel/.bashrc %attr(755,root,root) /bin/bash %attr(755,root,root) /bin/rbash -%attr(755,root,root) %{_bindir}/bashbug -%{?with_bash_history:%attr(751,root,root) %dir /var/log/bash_hist} +%{?with_bash_history:%attr(1733,root,root) %dir /var/log/bash_hist} %{_infodir}/bash.info* %{_mandir}/man1/* %lang(es) %{_mandir}/es/man1/* @@ -347,6 +297,8 @@ fi %lang(ko) %{_mandir}/ko/man1/* %lang(nl) %{_mandir}/nl/man1/* %lang(pl) %{_mandir}/pl/man1/* +%dir %{_datadir}/%{name} +%doc %{_datadir}/%{name}/* %if %{with static} %files static