Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 675234 - app-shells/bash-4.3_p48-r2: ebuild does not install /bin/bash and /etc/bash
Summary: app-shells/bash-4.3_p48-r2: ebuild does not install /bin/bash and /etc/bash
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-01-11 21:44 UTC by segmentation fault
Modified: 2019-01-12 00:33 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description segmentation fault 2019-01-11 21:44:48 UTC
O.K. this looks crazy to me - and I'd rather admit that I made some terrible mistake...but: it looks like a bug and I have to report it: 

The ebuild of bash-4.3_p48-r2 does not install neither /bin/bash, nor /etc/bash!

The result is terrible: I had to make a symlink from /bin/bash to /bin/bash-4.3 - and I was completely without bash customization (colors etc., DIR_COLORS not set), since /etc/bash/bashrc was not there!

I am writing this from a Windows session, so I cannot past my system info - but you can see it in the many bug reports I reported on Jan. 10th, 2019 e.g. https://bugs.gentoo.org/675116 .

I also cannot paste any build.log because, in the meantime, I installed the 4.4 version which is unaffected from this issue and deleted the build directory of the old version. 

So now you have to take my word for it? Well, here is how to reproduce it:

- First, have a look at the bash-4.3_p48-r2.ebuild code, in the install phase. There is no code regarding /etc/bash. On the contrary, such code *is* present in the (now out-of-tree) bash-4.3_p48 ebuild. Installing bash from bash-4.3_p48.ebuild (no -r1 or -r2!) does create /bin/bash and /etc/bash (with bashrc etc. there).

- Second, be brave and enter a different shell, say csh. Now, delete /bin/bash and /etc/bash and reinstall from bash-4.3_p48-r2.ebuild. My bet is your /bin/bash and /etc/bash will still be missing.

Again, I find this too crazy to have happened only to me - maybe people did not notice because they carry /bin/bash and /etc/bash from version to version, while I did 'emerge -C app-shells/bash' at one point...from a C shell - and had to reinstall it from scratch. (Maybe I had to reinstall from a binary package at that time, I don't remember.) 

I apologize in advance if this is due to some silly mistake on my part that I still fail to see.
Comment 1 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2019-01-11 22:02:40 UTC
Unfortunately, this is a mistake on your side.

bash versions older than 4.4 are supposed to get installed _alongside_ bash-4.4 or newer.
Or in other words, you've uninstalled the wrong package slot. Only bash:0 (means bash which comes in package slot 0) is supposed to install /bin/bash, /etc/bash and other files. All non-zero bash slots only install a very reduced set of files in order to make older (mostly vulnerable) bash versions available for testing.
To fix this, please re-install >=bash-4.4_p12. You don't have to uninstall bash-4.3 for this. Both versions can co-exist as long as they have different package slots.
Comment 2 segmentation fault 2019-01-12 00:33:19 UTC
Wow...yes, it seems I had uninstalled the version that owned /bin/bash and /etc/bash at some point...but I didn't know that packages might omit parts depending on slot and/or installation history. It turns out I had a rather naive idea of how things work in the background - many thanks for the clarification!