[odb-users] Issue with uninstall

Alex B intord at gmail.com
Tue Nov 21 10:24:34 EST 2023


Listen, your statement about "personal offense" is just funny.

Anyways, here is a short story which I thought was not needed here, but
here it is. In Gentoo it's not recommended to install software bypassing
portage (package manager) and once you will do it, you will always get the
message that the system is "in the inconsistent state". Gentoo has ebuild
for build2/odb as bundled all in one package here -
https://packages.gentoo.org/packages/dev-cpp/libodb - but it does not work
correctly. So the first thing I did was install that but it could not even
create those .*xx files. Wrote to maintiner, no response. So I had to
install manually following instructions on your site and this time it
worked.

Talking about dir where it's installed - ebuild documentation does not
mention anywhere that /usr/local/include might collide with portage
processing and that was just pointed to me recently at Gentoo forum.

Now, say i will want to make a proper ebuild (this is instructions file
used by portage to compile/install software) so i will need to write
something in the rm* functions, i.e. which steps portage has to follow to
completely remove EVERYTHING from the system to the pre-install state. I
tried to guess those steps from your site, while install is clear,
uninstall is not that clear at all. So reading your manual I tried this:

cd /opt/odb*
bpkg uninstall --all --recursive

it ran fine for the first time. I still saw a lot of files left in the
directories but I guess it is expected?
Nest i tried to go to another dir like

cd /opt/libodb*
bpkg uninstall --all --recursive

but got the error.
To uninstall the build2 I tried

cd /opt/build2
sh build2-install-0.16.0.sh --uninstall

and got the message that bpkg is not found at line 67.

So what I asked in my last email, if that was tested, can you just provide
exact steps which you will be using on the Linux system to uninstall
build2/odb from your system.
Note - since build2 is an alternative build system and Gentoo already uses
gcc + portage, there is no reason to install/uninstall it separately from
odb.


On Tue, Nov 21, 2023 at 8:58 AM Boris Kolpackov <boris at codesynthesis.com>
wrote:

> Alex B <intord at gmail.com> writes:
>
> > Another part of problem is uninstall doesn't work as it should. I tried
> to
> > explain the steps above. It's not clear from documentation the exact
> steps
> > of removing everything if needed as a whole process. So once I tried to
> run
> > the steps from within odb directories, others written for the build2
> > failed. As for me, that was never tested properly. I mean removing
> packages
> > processing with the package manager in the Linux system should produce
> the
> > same result as it was before the install but not in half state. This will
> > potentially put the system in the bad state regardless of Linux
> > distribution. Again I am not sure will you be interested in working on
> > this, but just letting you know.
>
> There is nothing to fix and I take personal offense at your suggestion
> that build2 is just another half-baked build system that cannot even
> uninstall cleanly. We took great care in making sure uninstall works
> correctly and reliably and it has been (and is continuously being)
> "tested properly".
>
> Your description of what happened is neither detailed nor precise
> enough for me to figure out the cause. But if you install/uninstall
> custom-built software to the same place as the system package manager,
> sooner or later (and most likely sooner) you will end up with a broken
> system where nothing makes sense anymore.
>
> This is the reason why on most Linux distributions the system package
> manager installs to /usr/{bin/,lib/,...} while custom-built software
> goes to /usr/local/{bin/,lib/,...}. Gentoo does it differently, you
> choose to use it, and it's your responsibility to know to adjust the
> default installation location, which customarily /usr/local/.
>


More information about the odb-users mailing list