[arch-dev-public] Updated bash provides (was: CVS update of core/base/bash (PKGBUILD))
To our bash maintainers- it would be cool if you could rebuild bash sometime with these changes, as adding the provides=('sh') line will really help me down the road when I am trying to make Arch a bit more shell-agnostic. I have another patch coming shortly (to the ML) that will make a lot of base packages depend on sh instead of bash when that is possible. Of course, the rebuild can wait until the next patch level bump, but just know that these changes have been made. -Dan On Nov 25, 2007 9:37 PM, Dan McGee <dan@archlinux.org> wrote:
Date: Sunday, November 25, 2007 @ 22:37:58 Author: dan Path: /home/cvs-core/core/base/bash
Modified: PKGBUILD (1.49 -> 1.50)
Add provides=('sh') to bash, as scripts may only need sh and not a full-blown bash. Also verbose-ify the sh link.
----------+ PKGBUILD | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
Index: core/base/bash/PKGBUILD diff -u core/base/bash/PKGBUILD:1.49 core/base/bash/PKGBUILD:1.50 --- core/base/bash/PKGBUILD:1.49 Thu Nov 15 18:53:12 2007 +++ core/base/bash/PKGBUILD Sun Nov 25 22:37:58 2007 @@ -1,4 +1,4 @@ -# $Id: PKGBUILD,v 1.49 2007/11/15 23:53:12 daniel Exp $ +# $Id: PKGBUILD,v 1.50 2007/11/26 03:37:58 dan Exp $ # Maintainer: Aaron Griffin <aaron@archlinux.org>
pkgname=bash @@ -12,6 +12,7 @@ groups=('base') backup=(etc/profile etc/skel/.bashrc etc/skel/.bash_profile) depends=('readline>=5.2') +provides=('sh') source=(ftp://ftp.cwru.edu/pub/bash/bash-3.2.tar.gz bash-noinfo.patch profile @@ -66,7 +67,10 @@ rm bin/bashbug usr/man/man1/bashbug.1
install -v -D -m644 ${startdir}/src/profile etc/profile - ln -sf bash bin/sh + + # for now, bash is our default /bin/sh + cd ${startdir}/pkg/bin + ln -s bash sh
mkdir -p $startdir/pkg/etc/skel/ install -D -m644 $startdir/src/bashrc $startdir/pkg/etc/skel/.bashrc
_______________________________________________ arch-commits mailing list arch-commits@archlinux.org http://archlinux.org/mailman/listinfo/arch-commits
On Nov 25, 2007 10:09 PM, Dan McGee <dan@archlinux.org> wrote:
To our bash maintainers- it would be cool if you could rebuild bash sometime with these changes, as adding the provides=('sh') line will really help me down the road when I am trying to make Arch a bit more shell-agnostic. I have another patch coming shortly (to the ML) that will make a lot of base packages depend on sh instead of bash when that is possible.
Of course, the rebuild can wait until the next patch level bump, but just know that these changes have been made.
And here is the patch I speak of. This is against the current CVS core HEAD checkout. I've went through each package that depends on bash, and tried to figure out whether the dependency could be switched to sh, should stay as bash, or be removed all together. PLEASE give me feedback so I don't go blindly breaking things. I've posted my logic as well as a few other comments below. If you want to try things out, I have a statically built dash package (against klibc, so it is super light) here <http://www.archlinux.org/~dan/dash-changes/>. I would love to get this in the core repo if there are no objections. I would eventually like to have an Arch system that doesn't go to hell when the /bin/sh symlink is changed to dash, but I'm going to need help from other devs and users when doing this. -Dan automake -> sh autoconf -> sh gzip -> sh tar -> nothing? (no install) initscripts -> needs bash util-linux-ng -> nothing? (no install) coreutils -> nothing? (no install) man -> sh hwdetect -> needs fixing, #!/bin/sh line is a lie (see below) less -> nothing? (no install) grep -> nothing? (no install) tcp_wrappers -> nothing? (no install) filesystem -> sh? looks like only install script needs it findutils -> nothing? (no install) e2fsprogs -> nothing? (no install) perl -> sh? looks like only install script needs it pacman -> needs bash (makepkg) glibc -> sh? just install script gawk -> sh m4 -> nothing? (no install) flex -> sh make -> nothing? (no install) libtool -> sh capi4k-utils -> don't know, don't use it (can someone check?) wlan-ng26-utils -> don't know, don't use it (can someone check?) $ hwdetect [: 57: ==: unexpected operator [: 58: ==: unexpected operator [: 59: ==: unexpected operator [: 70: ==: unexpected operator [: 126: ==: unexpected operator [: 166: ==: unexpected operator This can be fixed by changing all occurances of "==" to a single "=", and the rm statement at the end must be expanded as {} expansion is a bash thing. Index: base/coreutils/PKGBUILD =================================================================== RCS file: /home/cvs-core/core/base/coreutils/PKGBUILD,v retrieving revision 1.29 diff -u -r1.29 PKGBUILD --- base/coreutils/PKGBUILD 15 Nov 2007 23:53:13 -0000 1.29 +++ base/coreutils/PKGBUILD 26 Nov 2007 04:31:28 -0000 @@ -8,7 +8,7 @@ license=('GPL') url="http://www.gnu.org/software/coreutils" groups=('base') -depends=('bash' 'glibc' 'shadow>=4.0.4.1-3' 'pam' 'acl') +depends=('glibc' 'shadow>=4.0.4.1-3' 'pam' 'acl') replaces=('sh-utils' 'fileutils' 'textutils') backup=('etc/pam.d/su') options=('!makeflags') Index: base/e2fsprogs/PKGBUILD =================================================================== RCS file: /home/cvs-core/core/base/e2fsprogs/PKGBUILD,v retrieving revision 1.34 diff -u -r1.34 PKGBUILD --- base/e2fsprogs/PKGBUILD 15 Nov 2007 23:53:14 -0000 1.34 +++ base/e2fsprogs/PKGBUILD 26 Nov 2007 04:31:29 -0000 @@ -8,7 +8,7 @@ license=('GPL' 'LGPL' 'MIT') url="http://e2fsprogs.sourceforge.net" groups=('base') -depends=('glibc' 'bash') +depends=('glibc') makedepends=('bc') source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz Makefile-fsck.static.patch) Index: base/filesystem/PKGBUILD =================================================================== RCS file: /home/cvs-core/core/base/filesystem/PKGBUILD,v retrieving revision 1.90 diff -u -r1.90 PKGBUILD --- base/filesystem/PKGBUILD 15 Nov 2007 23:53:14 -0000 1.90 +++ base/filesystem/PKGBUILD 26 Nov 2007 04:31:29 -0000 @@ -10,7 +10,7 @@ url="http://www.archlinux.org" groups=('base') install=filesystem.install -depends=('bash' 'coreutils') +depends=('sh' 'coreutils') backup=(etc/fstab etc/crypttab etc/group etc/hosts etc/ld.so.conf etc/passwd \ etc/shadow etc/gshadow etc/resolv.conf etc/motd etc/nsswitch.conf \ etc/shells etc/host.conf etc/securetty) Index: base/findutils/PKGBUILD =================================================================== RCS file: /home/cvs-core/core/base/findutils/PKGBUILD,v retrieving revision 1.35 diff -u -r1.35 PKGBUILD --- base/findutils/PKGBUILD 15 Nov 2007 23:53:14 -0000 1.35 +++ base/findutils/PKGBUILD 26 Nov 2007 04:31:29 -0000 @@ -7,7 +7,7 @@ arch=(i686 x86_64) license=('GPL') groups=('base') -depends=('glibc' 'bash') +depends=('glibc') url="http://www.gnu.org/software/findutils" source=(ftp://ftp.gnu.org/pub/gnu/findutils/findutils-$pkgver.tar.gz) md5sums=('a0e31a0f18a49709bf5a449867c8049a') Index: base/gawk/PKGBUILD =================================================================== RCS file: /home/cvs-core/core/base/gawk/PKGBUILD,v retrieving revision 1.8 diff -u -r1.8 PKGBUILD --- base/gawk/PKGBUILD 15 Nov 2007 23:53:15 -0000 1.8 +++ base/gawk/PKGBUILD 26 Nov 2007 04:31:29 -0000 @@ -12,7 +12,7 @@ provides=('awk') replaces=('mawk') source=(ftp://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.gz) -depends=('bash' 'glibc') +depends=('sh' 'glibc') md5sums=('b237751aef53c9ead9644e376bc53386') build() { Index: base/glibc/PKGBUILD =================================================================== RCS file: /home/cvs-core/core/base/glibc/PKGBUILD,v retrieving revision 1.78 diff -u -r1.78 PKGBUILD --- base/glibc/PKGBUILD 15 Nov 2007 23:53:15 -0000 1.78 +++ base/glibc/PKGBUILD 26 Nov 2007 04:31:29 -0000 @@ -10,7 +10,7 @@ license=('GPL' 'LGPL') url="http://www.gnu.org/software/libc" groups=('base') -depends=('bash' 'kernel-headers>=2.6.23.1' 'tzdata') +depends=('sh' 'kernel-headers>=2.6.23.1' 'tzdata') makedepends=('gcc>=4.2.2-2') replaces=('glibc-xen') source=(http://ftp.gnu.org/gnu/glibc/glibc-${pkgver}.tar.bz2 Index: base/grep/PKGBUILD =================================================================== RCS file: /home/cvs-core/core/base/grep/PKGBUILD,v retrieving revision 1.23 diff -u -r1.23 PKGBUILD --- base/grep/PKGBUILD 15 Nov 2007 23:53:16 -0000 1.23 +++ base/grep/PKGBUILD 26 Nov 2007 04:31:29 -0000 @@ -8,7 +8,7 @@ license=('GPL') url="http://www.gnu.org/software/grep/grep.html" groups=('base') -depends=('glibc' 'bash' 'pcre') +depends=('glibc' 'pcre') makedepends=('texinfo>=4.8a') source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz # patches from fedora cvs Index: base/gzip/PKGBUILD =================================================================== RCS file: /home/cvs-core/core/base/gzip/PKGBUILD,v retrieving revision 1.22 diff -u -r1.22 PKGBUILD --- base/gzip/PKGBUILD 15 Nov 2007 23:53:16 -0000 1.22 +++ base/gzip/PKGBUILD 26 Nov 2007 04:31:29 -0000 @@ -8,7 +8,7 @@ url="http://www.gzip.org" license=('GPL') groups=('base') -depends=('glibc' 'bash') +depends=('glibc' 'sh') makedepends=('patch') source=(ftp://ftp.gnu.org/pub/gnu/gzip/gzip-$pkgver.tar.gz gzip-fixutimens.patch) Index: base/less/PKGBUILD =================================================================== RCS file: /home/cvs-core/core/base/less/PKGBUILD,v retrieving revision 1.28 diff -u -r1.28 PKGBUILD --- base/less/PKGBUILD 25 Nov 2007 15:42:17 -0000 1.28 +++ base/less/PKGBUILD 26 Nov 2007 04:31:29 -0000 @@ -8,7 +8,7 @@ arch=('i686' 'x86_64') url="http://www.greenwoodsoftware.com/less" groups=('base') -depends=('ncurses' 'bash' 'file') +depends=('ncurses' 'file') source=(http://www.greenwoodsoftware.com/$pkgname/$pkgname-$pkgver.tar.gz) md5sums=('da84d9378b8daf7ef1a95d13611d3294') Index: base/man/PKGBUILD =================================================================== RCS file: /home/cvs-core/core/base/man/PKGBUILD,v retrieving revision 1.37 diff -u -r1.37 PKGBUILD --- base/man/PKGBUILD 16 Nov 2007 00:02:34 -0000 1.37 +++ base/man/PKGBUILD 26 Nov 2007 04:31:30 -0000 @@ -8,7 +8,7 @@ url="http://primates.ximian.com/~flucifredi/man/" license=('GPL') groups=('base') -depends=('groff' 'less' 'gzip' 'awk' 'coreutils' 'bash') +depends=('groff' 'less' 'gzip' 'awk' 'coreutils' 'sh') backup=(etc/man.conf) source=(http://primates.ximian.com/~flucifredi/man/man-$pkgver.tar.gz \ whatis.cron.daily man-troff.patch) Index: base/perl/PKGBUILD =================================================================== RCS file: /home/cvs-core/core/base/perl/PKGBUILD,v retrieving revision 1.52 diff -u -r1.52 PKGBUILD --- base/perl/PKGBUILD 7 Nov 2007 01:43:18 -0000 1.52 +++ base/perl/PKGBUILD 26 Nov 2007 04:31:30 -0000 @@ -8,7 +8,7 @@ license=('GPL' 'PerlArtistic') url="http://www.perl.org" groups=('base') -depends=('gdbm' 'db>=4.6' 'bash' 'coreutils' 'glibc') +depends=('gdbm' 'db>=4.6' 'coreutils' 'glibc' 'sh') source=(http://www.perl.com/CPAN/src/perl-$pkgver.tar.gz http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/DB_File-1.814.tar.gz http://search.cpan.org/CPAN/authors/id/S/SA/SAPER/Sys-Syslog-0.10.tar.gz Index: base/tar/PKGBUILD =================================================================== RCS file: /home/cvs-core/core/base/tar/PKGBUILD,v retrieving revision 1.25 diff -u -r1.25 PKGBUILD --- base/tar/PKGBUILD 16 Nov 2007 00:02:38 -0000 1.25 +++ base/tar/PKGBUILD 26 Nov 2007 04:31:30 -0000 @@ -8,7 +8,7 @@ license=('GPL') groups=('base') url="http://www.gnu.org/software/tar/tar.html" -depends=('glibc' 'bash') +depends=('glibc') source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.bz2 tar.1) md5sums=('bcc2e19b19823b9ab68c94586067a792' 'a5f8c5da7a9465ea1978145f3ef0610c') Index: base/tcp_wrappers/PKGBUILD =================================================================== RCS file: /home/cvs-core/core/base/tcp_wrappers/PKGBUILD,v retrieving revision 1.17 diff -u -r1.17 PKGBUILD --- base/tcp_wrappers/PKGBUILD 16 Nov 2007 00:02:38 -0000 1.17 +++ base/tcp_wrappers/PKGBUILD 26 Nov 2007 04:31:30 -0000 @@ -9,7 +9,7 @@ license=('custom') groups=('base') backup=(etc/hosts.allow etc/hosts.deny) -depends=('bash' 'glibc') +depends=('glibc') source=(ftp://ftp.porcupine.org/pub/security/${pkgname}_$pkgver.tar.gz \ hosts.allow hosts.deny try-from.8 safe_finger.8 gcc340.patch \ shared_lib_plus_plus-1.patch) Index: base/util-linux-ng/PKGBUILD =================================================================== RCS file: /home/cvs-core/core/base/util-linux-ng/PKGBUILD,v retrieving revision 1.3 diff -u -r1.3 PKGBUILD --- base/util-linux-ng/PKGBUILD 16 Nov 2007 00:02:39 -0000 1.3 +++ base/util-linux-ng/PKGBUILD 26 Nov 2007 04:31:31 -0000 @@ -6,7 +6,7 @@ pkgdesc="Miscellaneous system utilities for Linux" arch=('i686' 'x86_64') groups=('base') -depends=('bash' 'ncurses' 'zlib' 'e2fsprogs') +depends=('ncurses' 'zlib' 'e2fsprogs') replaces=('linux32' 'util-linux') conflicts=('linux32' 'util-linux') provides=('linux32' 'util-linux') Index: devel/autoconf/PKGBUILD =================================================================== RCS file: /home/cvs-core/core/devel/autoconf/PKGBUILD,v retrieving revision 1.26 diff -u -r1.26 PKGBUILD --- devel/autoconf/PKGBUILD 15 Nov 2007 23:53:12 -0000 1.26 +++ devel/autoconf/PKGBUILD 26 Nov 2007 04:31:31 -0000 @@ -8,7 +8,7 @@ license=('GPL') url="http://www.gnu.org/software/autoconf" groups=('base-devel') -depends=('awk' 'm4' 'diffutils' 'bash') +depends=('awk' 'm4' 'diffutils' 'sh') options=('!makeflags') source=(ftp://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.gz) md5sums=('51f472f71a6a04850a0f0126bf594cdb') Index: devel/automake/PKGBUILD =================================================================== RCS file: /home/cvs-core/core/devel/automake/PKGBUILD,v retrieving revision 1.42 diff -u -r1.42 PKGBUILD --- devel/automake/PKGBUILD 15 Nov 2007 23:53:12 -0000 1.42 +++ devel/automake/PKGBUILD 26 Nov 2007 04:31:31 -0000 @@ -8,7 +8,7 @@ license=('GPL') url="http://www.gnu.org/software/automake" groups=('base-devel') -depends=('perl' 'bash') +depends=('perl' 'sh') source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz) md5sums=('452163c32d061c53a7acc0e8c1b689ba') Index: devel/flex/PKGBUILD =================================================================== RCS file: /home/cvs-core/core/devel/flex/PKGBUILD,v retrieving revision 1.20 diff -u -r1.20 PKGBUILD --- devel/flex/PKGBUILD 15 Nov 2007 23:53:14 -0000 1.20 +++ devel/flex/PKGBUILD 26 Nov 2007 04:31:31 -0000 @@ -8,7 +8,7 @@ url="http://flex.sourceforge.net" license=('custom') groups=('base-devel') -depends=('glibc' 'bash') +depends=('glibc' 'sh') source=(http://downloads.sourceforge.net/sourceforge/flex/flex-$pkgver.tar.bz2 flex-yytext.patch) md5sums=('343374a00b38d9e39d1158b71af37150' '3aeab6871ea9fed8ed45db5692e390ca') Index: devel/libtool/PKGBUILD =================================================================== RCS file: /home/cvs-core/core/devel/libtool/PKGBUILD,v retrieving revision 1.31 diff -u -r1.31 PKGBUILD --- devel/libtool/PKGBUILD 15 Nov 2007 23:53:18 -0000 1.31 +++ devel/libtool/PKGBUILD 26 Nov 2007 04:31:31 -0000 @@ -8,7 +8,7 @@ license=('GPL') url="http://www.gnu.org/software/libtool" groups=('base-devel') -depends=('bash') +depends=('sh') source=(ftp://ftp.gnu.org/pub/gnu/libtool/$pkgname-$pkgver.tar.gz) md5sums=('d0071c890101fcf4f2be8934a37841b0') options=('!libtool') Index: devel/m4/PKGBUILD =================================================================== RCS file: /home/cvs-core/core/devel/m4/PKGBUILD,v retrieving revision 1.25 diff -u -r1.25 PKGBUILD --- devel/m4/PKGBUILD 16 Nov 2007 00:02:34 -0000 1.25 +++ devel/m4/PKGBUILD 26 Nov 2007 04:31:31 -0000 @@ -8,7 +8,7 @@ license=('GPL') url="http://www.gnu.org/software/m4" groups=('base-devel') -depends=('glibc' 'bash') +depends=('glibc') source=(ftp://ftp.gnu.org/gnu/m4/$pkgname-$pkgver.tar.gz) md5sums=('4f2cdda3328ec06198578596e8b12727') Index: devel/make/PKGBUILD =================================================================== RCS file: /home/cvs-core/core/devel/make/PKGBUILD,v retrieving revision 1.18 diff -u -r1.18 PKGBUILD --- devel/make/PKGBUILD 16 Nov 2007 00:02:34 -0000 1.18 +++ devel/make/PKGBUILD 26 Nov 2007 04:31:31 -0000 @@ -8,7 +8,7 @@ url="http://www.gnu.org/software/make" license=('GPL') groups=('base-devel') -depends=('glibc' 'bash') +depends=('glibc') source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz) md5sums=('a4e9494ac6dc3f6b0c5ff75c5d52abba')
On Nov 25, 2007 10:45 PM, Dan McGee <dan@archlinux.org> wrote:
On Nov 25, 2007 10:09 PM, Dan McGee <dan@archlinux.org> wrote:
To our bash maintainers- it would be cool if you could rebuild bash sometime with these changes, as adding the provides=('sh') line will really help me down the road when I am trying to make Arch a bit more shell-agnostic. I have another patch coming shortly (to the ML) that will make a lot of base packages depend on sh instead of bash when that is possible.
Of course, the rebuild can wait until the next patch level bump, but just know that these changes have been made.
And here is the patch I speak of. This is against the current CVS core HEAD checkout. I've went through each package that depends on bash, and tried to figure out whether the dependency could be switched to sh, should stay as bash, or be removed all together.
PLEASE give me feedback so I don't go blindly breaking things. I've posted my logic as well as a few other comments below. If you want to try things out, I have a statically built dash package (against klibc, so it is super light) here <http://www.archlinux.org/~dan/dash-changes/>. I would love to get this in the core repo if there are no objections. I would eventually like to have an Arch system that doesn't go to hell when the /bin/sh symlink is changed to dash, but I'm going to need help from other devs and users when doing this.
-Dan
automake -> sh autoconf -> sh gzip -> sh tar -> nothing? (no install) initscripts -> needs bash util-linux-ng -> nothing? (no install) coreutils -> nothing? (no install) man -> sh hwdetect -> needs fixing, #!/bin/sh line is a lie (see below) less -> nothing? (no install) grep -> nothing? (no install) tcp_wrappers -> nothing? (no install) filesystem -> sh? looks like only install script needs it findutils -> nothing? (no install) e2fsprogs -> nothing? (no install) perl -> sh? looks like only install script needs it pacman -> needs bash (makepkg) glibc -> sh? just install script gawk -> sh m4 -> nothing? (no install) flex -> sh make -> nothing? (no install) libtool -> sh capi4k-utils -> don't know, don't use it (can someone check?) wlan-ng26-utils -> don't know, don't use it (can someone check?)
$ hwdetect [: 57: ==: unexpected operator [: 58: ==: unexpected operator [: 59: ==: unexpected operator [: 70: ==: unexpected operator [: 126: ==: unexpected operator [: 166: ==: unexpected operator
This can be fixed by changing all occurances of "==" to a single "=", and the rm statement at the end must be expanded as {} expansion is a bash thing.
Speak up now or I'm going to make these changes in the next 2 days or so, and I will not listen to any bitching after the fact. Tpowa, let me know if you want to make the above changes to the hwdetect script, otherwise I will go ahead and do so. -Dan
On Nov 27, 2007 8:23 PM, Dan McGee <dan@archlinux.org> wrote:
Speak up now or I'm going to make these changes in the next 2 days or so, and I will not listen to any bitching after the fact.
I'm speaking up only to say I'm not speaking up - that is, silence == assent to most of us 8) I'm fine with these changes, assuming: a) you're only changing deps, right? b) the current bash package provides=(sh) - I know this was changed but was the package rebuilt?
Tpowa, let me know if you want to make the above changes to the hwdetect script, otherwise I will go ahead and do so.
tpowa, can you respond here. hwdetect if your baby, but if you don't have the time, someone else can make the changes for ya.
participants (2)
-
Aaron Griffin
-
Dan McGee