patchThe GNU Bourne-Again SHell - Patches: patch #9592, doc: Fix referenced man page paths.

 
 

You are not allowed to post comments on this tracker with your current authentication level.

patch #9592: doc: Fix referenced man page paths.

Submitted by:  orbea <orbea>
Submitted on:  Tue 13 Mar 2018 03:08:46 AM UTC  
 
Category:  None Priority:  5 - Normal
Status:  Wont Do Privacy:  Public
Assigned to:  None Open/Closed:  Open

( Jump to the original submission)

Sat 17 Mar 2018 02:47:33 PM UTC, comment #7: 

I can't comment on what slackware does. I can only describe what bash does as I distribute it, and there has been an install_builtins target in doc/Makefile.in since bash-4.0. The builtins.1 man page hasn't been installed by default since at least that time.

Chet Ramey <chet>
Project Administrator
Sat 17 Mar 2018 04:53:25 AM UTC, comment #6: 

Thanks for taking the time to explain this, but this doesn't seem to actually match what is being done.

The bash.SlackBuild does this.

CFLAGS="$SLKCFLAGS" \
./configure \
  --prefix=/usr \
  --mandir=/usr/man \
  --infodir=/usr/info \
  --build=$TARGET || exit 1

make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1

Where the following man pages are installed by default.

usr/man/man1/rbash.1.gz
usr/man/man1/builtins.1.gz
usr/man/man1/bash.1.gz

Given they are installed by default bash should also make sure they correctly have.

.so man1/bash.1

Additionally there is no "install_builtins" target in the Makefile being used.

orbea <orbea>
Tue 13 Mar 2018 06:20:55 PM UTC, comment #5: 

OK. Let's run it back from the top.

The current man page source (builtins.1) allows me to easily build formatted versions for the bash distribution and accommodates those systems for which the page can be installed without change.

Users and distributions who want to install the page for some reason -- it is not installed by default -- can use the existing install_builtins target, which changes bash.1 to man1/bash.1 before copying the file into ${man1dir}. If a user or distribution wants to install the page without using the Makefile target, they are responsible for performing whatever actions are appropriate for their system. If that means editing builtins.1 manually, instead of letting the Makefile do it, then so be it. But if they don't want to use what's provided, they are on the hook for doing it themselves.

The example in the README file you keep pointing to is not for the builtins.1 file itself. It is for additional files, not part of the bash distribution, that would allow individual man entries for the bash builtin commands.

Chet Ramey <chet>
Project Administrator
Tue 13 Mar 2018 03:08:30 PM UTC, comment #4: 

Why can't it just be fixed in the man pages? Its fixed everywhere else including your own documentation.

If I submit this patch to Slackware they will just tell me its a bash bug and that I should submit it to upstream (You).

orbea <orbea>
Tue 13 Mar 2018 02:53:24 PM UTC, comment #3: 

If that's important, there is an install_builtins target in the Makefile that does the edit in the man page before installing it.

Chet Ramey <chet>
Project Administrator
Tue 13 Mar 2018 02:45:10 PM UTC, comment #2: 

Can you please reconsider? This is not a problem with the man implementation. Mandoc is just a little bit more strict about correct man pages.

Literally every single other man page in Slackware except for builtins.1 and rbash.1 follow this standard.

For example from zcat.1

.so man1/gzip.1

Additionally this is even correct in doc/README in the bash source which contains:

.so man1/builtins.1

Its only the actual man pages that are not right.

orbea <orbea>
Tue 13 Mar 2018 01:32:07 PM UTC, comment #1: 

You've hit on the problem: your solution does not work across all implementations of `man'. If a distribution wants to install the builtins or rbash man pages, they should modify the .so directive to whatever's appropriate.

Chet Ramey <chet>
Project Administrator
Tue 13 Mar 2018 03:08:46 AM UTC, original submission:  

With mandoc opening these man pages will print the following error.

man: bash.1: ERROR: No such file or directory

The issue is that .so requires the prefix path such as man1 while some man implementations seemingly ignore this.

orbea <orbea>

 

Attached Files
file #43534:  bash_manpages.patch added by orbea (1KiB - text/x-patch)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by chet (Posted a comment)
  • -email is unavailable- added by orbea (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

     

     

    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2018-03-13 chet StatusNone => Wont Do
    2018-03-13 orbea Attached File- => Added bash_manpages.patch, #43534

    Back to the top


    Powered by Savane 3.6