[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: bash should not be essential



-----BEGIN PGP SIGNED MESSAGE-----

> Santiago> I want to change the policy. I think bash should not be
> Santiago> essential.

> Manoj> Why?

Because this seems to be the only way of encouraging #!/bin/sh
in favour of #!/bin/bash...

> Manoj> Do we have any alternatives?

Currently, maybe not.

In fact, I am not worried by the fact that bash is essential or not.
I am worried by the fact that so many packages depend on it.

I would like bash to be non-essential if only to know how many packages
would have to add a Depends: line in the control file.

This is about portability in the general sense.

One of the features of free software is that you are free to use it or not
to use it. For example, if you need an awk implementation and you don't
like mawk, you can use gawk, or viceversa.

If so many packages depend on bash, users who symlink
sh ->someotherPOSIXshell will never be able to get rid of bash, if they do
not like it.

We started talking about bashisms in debian/rules. Ian said debian/rules
was just for building Debian/Linux packages, so bash should be always
there and we do not have to worry about it.

Well, I'm not saying that our packages should build on every Unix
platform, as GNU software does. I'm saying just that allowing #!/bin/bash
for shell scripts is a bad idea.

I would like everybody to consider the teTeX case: It started as a TeX
distribution for Linux. Well, nowadays, teTeX is the most famous
ready-to-run TeX distribution for *Unix*, and it runs on *a lot* of
different architectures.

Its "texconfig" script is #!/bin/sh. Yes, 36594 bytes of
non-bash-dependent Bourne shell scripting language. Maybe when Thomas
Esser released the first version of teTeX, he didn't imagine that some
years later it was going to be a general Unix distribution. But I'm sure
that if he would have thought from the beginning "teTeX will always be for
Linux", we would not have now teTeX for a lot of architectures.

So if we have to admit bashisms in debian/rules, we are in fact saying
"Debian packages will always be for Debian/Linux distributions".

We have already seen that this is not completely true with Debian/Solaris.
I still don't see why people who want to port *some* Debian packages
to Solaris (not the *entire* Debian distribution) should be forced to port
bash as the first package, if /bin/sh has (or should have) the same basic
functionality.

> I think we need to be able to depend on having *some* POSIX-like sh
> available on the system, and it seems to me that only marking a package
> essential can ensure that.

As I said, if this is a technical problem, we could just keep bash
as essential, but treat it as if it not were essential (i.e having
explicit Depends: lines on packages that depend on it).

-----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia
Charset: latin1

iQCVAgUBNGrqGSqK7IlOjMLFAQHJlAP/Xd4iRFLSse/+fLBfPmERPFwoOZ0/NrWz
sdWVkFzdXyh8rN23WNA8MiKPYn/0lDYZNO1sSKTSDD9kNvkgobQ0D43KF80SKwBt
g5FEcjWaheYdMgEJ7KYucGVG+fi7UuYC7mQFr9nd/HplLX+4AP6SimNv1281QR7O
Er1pp440RRI=
=8zRa
-----END PGP SIGNATURE-----



Reply to: