Opened 21 months ago

Closed 21 months ago

Last modified 21 months ago

#66846 closed defect (fixed)

gawk @5.2.1_2 does not install (register) all its texinfo file in dir file

Reported by: ballapete (Peter "Pete" Dyballa) Owned by: Marius Schamschula <mschamschula@…>
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc: mps@…
Port: gawk

Description

sh-3.2# pushd /opt/local/share/info ; for INFO in *.info ; do INFO="`echo $INFO | awk -F. '{ print $1 }'`"; printf "»» $INFO: ";  if [ `grep "\($INFO\)" dir | wc -l` -gt 0 ] ; then echo OK ; else echo "** missing **" ; fi; done

reports

»» pm-gawk: ** missing **

Three other INFO files, gawk.info, gawkinet.info, and gawkworkflow.info, are already registered, but all hints of pm-gawk are missing in dir file.

install-info pm-gawk.info dir

would do the job.

Change History (8)

comment:1 Changed 21 months ago by Marius Schamschula <mschamschula@…>

Owner: set to Marius Schamschula <mschamschula@…>
Resolution: fixed
Status: newclosed

In 09c042e9f40ccb3404e864635babd558940c3f8d/macports-ports (master):

gawk: se gnu_info PG

Closes: #66846

comment:2 Changed 21 months ago by ballapete (Peter "Pete" Dyballa)

The upgraded version of Portfile only installs one of four INFO files:

DEBUG: activating file: /opt/local/share/man/man3/time.3am.gz
DEBUG: Executing proc-post-org.macports.activate-activate-0
DEBUG: Registering GNU info file /opt/local/share/info/gawk.info in /opt/local/share/info/dir using /opt/local/bin/install-info
DEBUG: system: /opt/local/bin/install-info /opt/local/share/info/gawk.info /opt/local/share/info/dir
DEBUG: Executing portactivate::activate_finish
DEBUG: Executing org.macports.main (gawk)

All the INFO files are these:

-rw-r--r-- 1 root wheel 1738240 2023-02-06 12:52 gawk.info
-rw-r--r-- 1 root wheel  214303 2023-02-06 12:52 gawkinet.info
-rw-r--r-- 1 root wheel   90097 2023-02-06 12:52 gawkworkflow.info
-rw-r--r-- 1 root wheel   59906 2023-02-06 12:52 pm-gawk.info

comment:3 Changed 21 months ago by Schamschula (Marius Schamschula)

What? I checked each and every one.

comment:4 Changed 21 months ago by Schamschula (Marius Schamschula)

And rechecked on my work machine after the revision bump: all good!

comment:5 Changed 21 months ago by ballapete (Peter "Pete" Dyballa)

Right now I have on macOS Monterey, Version 12.6.3:

root 354 /\  port provides /opt/local/share/info/*gawk*info
/opt/local/share/info/gawk.info is provided by: gawk
/opt/local/share/info/gawkinet.info is provided by: gawk
/opt/local/share/info/gawkworkflow.info is provided by: gawk
/opt/local/share/info/pm-gawk.info is provided by: gawk
The following ports are currently installed:
  gawk @5.2.1_3+mpfr (active)

From the last two days I have:

root 359 /\  grep -n gawk /opt/local/share/info/dir
140:* awk: (gawk)Invoking Gawk.                     Text scanning and processing.
397:* Gawk: (gawk).                 A text scanning and processing language.
400:* pm-gawk: (pm-gawk).           Persistent memory version of gawk.

I performed a minute ago:

root 360 /\  port uninstall gawk
Note: It is not recommended to uninstall/deactivate a port that has dependents as it breaks the dependents.
The following ports will break: p5.34-config-autoconf @0.320.0_0
Continue? [y/N]: y
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating gawk @5.2.1_3+mpfr
--->  Cleaning gawk
--->  Uninstalling gawk @5.2.1_3+mpfr
--->  Cleaning gawk
root 361 /\  grep -n gawk /opt/local/share/info/dir
398:* pm-gawk: (pm-gawk).           Persistent memory version of gawk.

and then I used to tidy up the dir file and removed the entry for pm-gawk.info:

root 362 /\  vi dir
root 363 /\  grep -n gawk /opt/local/share/info/dir

I launched GNU Emacs (GNU Emacs 28.2 (build 2, x86_64-apple-darwin21.6.0, X toolkit, cairo version 1.17.4, Xaw3d scroll bars) of 2023-02-06) in Terminal to perform port -vd install gawk +mpfr. It succeeded. On the *compile* buffer I could apply the shell command "grep /dir". Its output is:

DEBUG: Deleting stray share/info/dir file.
DEBUG: Registering GNU info file /opt/local/share/info/gawk.info in /opt/local/share/info/dir using /opt/local/bin/install-info
DEBUG: system: /opt/local/bin/install-info /opt/local/share/info/gawk.info /opt/local/share/info/dir

GNU Emacs is parked in the background and I have:

root 365 /\  emacs -nw

[1]  + 68701 Suspended                     emacs -nw
root 366 /\  grep -n gawk /opt/local/share/info/dir
140:* awk: (gawk)Invoking Gawk.                     Text scanning and processing.
397:* Gawk: (gawk).                 A text scanning and processing language.

Three of four INFO files

root 367 /\  port contents gawk | grep info/
  /opt/local/share/info/gawk.info
  /opt/local/share/info/gawkinet.info
  /opt/local/share/info/gawkworkflow.info
  /opt/local/share/info/pm-gawk.info

are not installed/registered.

comment:6 Changed 21 months ago by Schamschula (Marius Schamschula)

I wasn't looking at /opt/local/share/info/dir, but invoking info gawkinet, etc.

I have no idea why the gnu_info PortGroup isn't doing its job. I didn't see any errors.

comment:7 in reply to:  6 Changed 21 months ago by ballapete (Peter "Pete" Dyballa)

Replying to Schamschula:

I wasn't looking at /opt/local/share/info/dir, but invoking info gawkinet, etc.

Strange! It works here too, they do work here, the macOS and the MacPorts versions – each info version displays the correct documentation…

I am mostly using GNU Emacs to read texinfo documentation. Its info mode depends on the dir entries because it starts with a concatenation of all dir file entries. Without them I cannot visit the other Gawk documentation, i.e., gawkinet, gawkworkflow, and pm-gawk. (Or GCC related material.)

Assuring myself that info performs correctly, I checked with info -w gawkinet – and it shows the proper INFO file. Even as env INFOPATH="" info -w gawkinet. (OTOH, info -w sed leads to the man page because gsed.info is installed.) So info must be able to find somehow the INFO files without reading dir.

xinfo or tkman are other, quite old, texinfo clients/users. They are not provided by MacPorts, so it's not easy to check whether the achieved status is alright. (Not OK for all Emacsen, except there is another texinfo mode I do not know of yet.)

Even both info gcc work, using /opt/local/share/info/gcc-mp-12.info.

comment:8 Changed 21 months ago by ballapete (Peter "Pete" Dyballa)

OTOH, how would info behave when there is more than one GCC version installed and none has registered its INFO files in dir?

Note: See TracTickets for help on using tickets.