LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   A weird "conflict" between texinfo and Alien's libconfig. (https://www.linuxquestions.org/questions/slackware-14/a-weird-conflict-between-texinfo-and-aliens-libconfig-4175649326/)

Lockywolf 03-01-2019 09:22 AM

A weird "conflict" between texinfo and Alien's libconfig.
 
I installed libconfig from Eric's repository.

And then I grepped /var/log/packages with the following pattern:

Code:

grep -Rn info/dir /var/log/packages/*
The result is the following:

Code:

/var/log/packages/emacs-26.1-x86_64-1:45:usr/info/dired-x.info.gz
/var/log/packages/libconfig-1.6-x86_64-2alien:52:usr/share/info/dir
/var/log/packages/texinfo-6.6-x86_64-1:44:usr/info/dir.new

Please, ignore dired-x for a second.

Libconfig's /usr/share/info/dir is a very small file, only listing the texinfo's directory for itself, and a couple other packages:

Code:

* Menu:

Development
* libext2fs: (libext2fs).      The EXT2FS library.

Individual utilities
* libtool-invocation: (libtool)Invoking libtool.
                                                Running the 'libtool' script.
* libtoolize: (libtool)Invoking libtoolize.    Adding libtool support.

Software development
* Libtool: (libtool).          Generic shared library support script.

Software libraries
* libconfig: (libconfig).      A Library For Processing Structured
                                  Configuration Files

The /usr/share/info/dir.new lists the actual texinfo directory, which is huge, as it should be.

Code:

lockywolf@delllaptop:/usr/share/info$ cat dir.new | wc -l
314

But as a result, info's index page, the one you get in console by running info, or in Emacs by issuing M-x info, is the smaller libconfig's one.

I am not sure how this happened, but if that is also the case on other people's machines, perhaps these two packages need to be fixed.

Didier Spaier 03-01-2019 10:11 AM

I think that you upgraded texinfo and forgot to take care of /usr/info/dir.new that you should have renamed /usr/info/dir after having checked the differences with the previous one, and this issue is unrelated to libconfig's installation.

phenixia2003 03-01-2019 10:16 AM

Hello,

libconfig from slackbuilds.org does not have this issue. The file usr/info/dir is deleted before the package is created. Below a snippet of this slackbuild:

Code:

[...]
autoreconf -if

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
  --prefix=/usr \
  --libdir=/usr/lib${LIBDIRSUFFIX} \
  --sysconfdir=/etc \
  --localstatedir=/var \
  --mandir=/usr/man \
  --infodir=/usr/info \
  --docdir=/usr/doc/$PRGNAM-$VERSION \
  --disable-static \
  --disable-examples \
  --build=$ARCH-slackware-linux

make
make install DESTDIR=$PKG

find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
  | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true

rm -f $PKG/usr/info/dir
gzip -9 $PKG/usr/info/*.info*

[...]

--
SeB

phenixia2003 03-01-2019 10:26 AM

Hello,

Quote:

Originally Posted by Didier Spaier (Post 5968693)
I think that you upgraded texinfo and forgot to take care of /usr/info/dir.new that you should have renamed /usr/info/dir after having checked the differences with the previous one, and this issue is unrelated to libconfig's installation.

Seems that file /usr/info/dir from texinfo is overwritten by the version from alien's libconfig (which is not a .new file).

--
SeB

Didier Spaier 03-01-2019 10:57 AM

Hello,
Quote:

Originally Posted by phenixia2003 (Post 5968702)
Seems that file /usr/info/dir from texinfo is overwritten by the version from alien's libconfig (which is not a .new file).

You are right and I stand corrected, I just checked:
Code:


cp /usr/info.dir /usr/info/dir.prev
slapt-get -i libconfig  # My settings in /etc/slapt-get/slapt-getrc source a sbrepo from Eric
...
ls -l /usr/info/dir{,.prev}
-rw-r--r-- 1 root root  684 nov.  15  2016 /usr/info/dir
-rw-r--r-- 1 root root 17595 mars  1 17:47 /usr/info/dir.prev


Lockywolf 03-01-2019 11:33 PM

I reported this in Alienbob's blog comments:
https://alien.slackbook.org/blog/gcc...kware-current/

Maybe not the best place, but I know that he does read them.

Meanwhile, what's the easiest way to merge these two files? dir and dir.new?

UPDATE: Texinfo's dir file is also not correct, at least on my machine (which is a bit of a mess, I have to admit, uses compat32, sbo, etc).

For example, when trying to browse an entry for chroot:

Code:

* chroot(sh-utils)      Specify the root directory.
The response is:

Code:

Info file textutils does not exist
So, apparently, there is some other way to properly populate the dir file.

Code:

info chroot
meanwhile, opens a man page, briefly complaining that the info node doesn't exist.

(The node's non-existence is not surprising, since:

Quote:

Fileutils, Shellutils, and Textutils have been combined into the GNU Coreutils package. All further development and discussion is now taking place as Coreutils. The last separate versions were fileutils-4.1.11, textutils-2.1, and sh-utils-2.0.15. The first major release of coreutils-5.0 was announced on Fri, 4 April 2003.
)

And the SlackBuild has:

Code:

# Be sure this is "fresh"
zcat $CWD/dir.gz > $PKG/usr/info/dir
mv $PKG/usr/info/dir $PKG/usr/info/dir.new

And the dir file is shipped with the slackbuild in current/source/ap/texinfo/

Possibly, this can be fixed with the `install-info' command, or somehow similarly, but I'm too ignorant about that.


All times are GMT -5. The time now is 02:55 PM.