Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

man pages installed in wrong path #353

Closed
laris opened this issue Aug 4, 2011 · 8 comments
Closed

man pages installed in wrong path #353

laris opened this issue Aug 4, 2011 · 8 comments
Labels
Type: Documentation Indicates a requested change to the documentation
Milestone

Comments

@laris
Copy link

laris commented Aug 4, 2011

git version 2011.08.01 compiled successfully.

$ man zfs
man: can't resolve /usr/share/man/man8/zfs.8.gz: No such file or directory
No manual entry for zfs
See 'man 7 undocumented' for help when manual pages are not available.

$ dpkg -l|grep zfs
ii zfs 0.6.0-1 ZFS Library and Utils
ii zfs-devel 0.6.0-1 ZFS File System User Headers
ii zfs-dracut 0.6.0-1 ZFS Dracut Module
ii zfs-modules 0.6.0-1 ZFS File System
ii zfs-modules-devel 0.6.0-1 ZFS File System Headers and Symbols
ii zfs-test 0.6.0-1 ZFS File System Test Infrastructure
$ dpkg -L zfs
/.
/share
/share/man
/share/man/man8
/share/man/man8/zpool.8
/share/man/man8/zfs.8
/share/man/man8/zdb.8
/lib64
/lib64/libavl.so.1.0.0
/lib64/libuutil.a
/lib64/libefi.la
/lib64/libshare.la
/lib64/libavl.la
/lib64/libzpool.so.1.0.0
/lib64/libzfs.so.1.0.0
/lib64/libzfs.a
/lib64/libunicode.la
/lib64/libefi.a
/lib64/libspl.a
/lib64/libuutil.la
/lib64/libshare.a
/lib64/libunicode.a
/lib64/libavl.a
/lib64/libnvpair.a
/lib64/libshare.so.1.0.0
/lib64/libspl.so.1.0.0
/lib64/libzfs.la
/lib64/libunicode.so.1.0.0
/lib64/libspl.la
/lib64/libnvpair.so.1.0.0
/lib64/libnvpair.la
/lib64/libefi.so.1.0.0
/lib64/libzpool.a
/lib64/libuutil.so.1.0.0
/lib64/libzpool.la
/usr
/usr/share
/usr/share/doc
/usr/share/doc/zfs
/usr/share/doc/zfs/changelog.Debian.gz
/usr/share/doc/zfs/copyright
/usr/share/doc/zfs-0.6.0
/usr/share/doc/zfs-0.6.0/OPENSOLARIS.LICENSE.gz
/usr/share/doc/zfs-0.6.0/COPYING
/usr/share/doc/zfs-0.6.0/DISCLAIMER
/usr/share/doc/zfs-0.6.0/COPYRIGHT
/usr/share/doc/zfs-0.6.0/AUTHORS
/usr/share/doc/zfs-0.6.0/ZFS.RELEASE
/usr/share/doc/zfs-0.6.0/ChangeLog.gz
/usr/share/doc/zfs-0.6.0/README.markdown
/etc
/etc/init.d
/etc/init.d/zfs
/etc/zfs
/etc/zfs/zdev.conf.supermicro.example
/etc/zfs/zdev.conf
/etc/zfs/zdev.conf.dragon.example
/etc/zfs/zdev.conf.x4550.example
/etc/udev
/etc/udev/rules.d
/etc/udev/rules.d/60-zvol.rules
/etc/udev/rules.d/60-zpool.rules
/lib
/lib/udev
/lib/udev/zvol_id
/lib/udev/zpool_id
/lib/udev/zpool_layout
/lib/udev/sas_switch_id
/sbin
/sbin/zpool
/sbin/zfs
/sbin/zpios
/sbin/zdb
/sbin/zinject
/sbin/ztest
/sbin/mount.zfs
/lib64/libzpool.so
/lib64/libshare.so
/lib64/libefi.so.1
/lib64/libzpool.so.1
/lib64/libspl.so
/lib64/libshare.so.1
/lib64/libavl.so
/lib64/libuutil.so.1
/lib64/libavl.so.1
/lib64/libuutil.so
/lib64/libunicode.so
/lib64/libunicode.so.1
/lib64/libnvpair.so
/lib64/libspl.so.1
/lib64/libzfs.so
/lib64/libzfs.so.1
/lib64/libnvpair.so.1
/lib64/libefi.so

@behlendorf
Copy link
Contributor

On what distribution did you build the packages? I get the correct paths under Ubuntu.

behlendo@ubuntu-natty-amd64:~/src/git/zfs$ dpkg -L zfs | grep man
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/zdb.8.gz
/usr/share/man/man8/zfs.8.gz
/usr/share/man/man8/zpool.8.gz

@laris
Copy link
Author

laris commented Aug 5, 2011

build under Debian sid with kernel

ii linux-headers-3.0.0-1-all 3.0.0-1 All header files for Linux 3.0.0 (meta-package)
ii linux-headers-3.0.0-1-all-amd64 3.0.0-1 All header files for Linux 3.0.0 (meta-package)
ii linux-headers-3.0.0-1-amd64 3.0.0-1 Header files for Linux 3.0.0-1-amd64
ii linux-headers-3.0.0-1-common 3.0.0-1 Common header files for Linux 3.0.0-1
ii linux-headers-3.0.0-1-common-rt 3.0.0-1 Common header files for Linux 3.0.0-1-rt
ii linux-headers-3.0.0-1-rt-amd64 3.0.0-1 Header files for Linux 3.0.0-1-rt-amd64
ii linux-image-3.0.0-1-amd64 3.0.0-1 Linux 3.0.0 for 64-bit PCs
ii linux-image-3.0.0-1-rt-amd64 3.0.0-1 Linux 3.0.0 for 64-bit PCs, PREEMPT_RT
ii linux-kbuild-3.0.0 3.0.0-2 Kbuild infrastructure for Linux 3.0.0
ii linux-libc-dev 3.0.0-1 Linux support headers for userspace development

@laris
Copy link
Author

laris commented Aug 5, 2011

$ lsb_release -a
LSB Version: core-2.0-amd64:core-2.0-noarch:core-3.0-amd64:core-3.0-noarch:core-3.1-amd64:core-3.1-noarch:core-3.2-amd64:core-3.2-noarch
Distributor ID: Debian
Description: Debian GNU/Linux unstable (sid)
Release: unstable
Codename: sid

@dechamps
Copy link
Contributor

Same here. What's strange is that I have this issue on one system only, whereas several other Debian machines have the ZFS manpages in the correct path. Thing is, that's my first machine with ZFS on Sid; maybe the issue only occurs on this version of Debian.

Calling configure with --mandir=/usr/share/man has no effect.

Result of make rpm is also wrong:

zfs                       /share/man/man8/zdb.8
zfs                       /share/man/man8/zfs.8
zfs                       /share/man/man8/zpool.8

The make output is interesting:

/usr/bin/install -c -d -m 0755 "/tmp/zfs-build-root-yI8ITfBj/BUILDROOT/zfs-0.6.0-rc6.x86_64//share/man/man8"
test -z "//share/man/man8" || /bin/mkdir -p "/tmp/zfs-build-root-yI8ITfBj/BUILDROOT/zfs-0.6.0-rc6.x86_64//share/man/man8"
/usr/bin/install -c -m 644 zdb.8 zfs.8 zpool.8 '/tmp/zfs-build-root-yI8ITfBj/BUILDROOT/zfs-0.6.0-rc6.x86_64//share/man/man8'

Notice the // path component.

@dechamps
Copy link
Contributor

Workaround: downgrade rpm (4.9.1.1-1+b1 in Sid) to the Squeeze version (4.8.1-6). Seems like changes between rpm versions 4.8 and 4.9 are causing this issue.

@behlendorf
Copy link
Contributor

You can work around this for now by setting --datadir=/usr/share. The packaging for the man pages mistakenly references datadir instead of mandir (although mandir is defined in terms of datadir).

@dechamps
Copy link
Contributor

dechamps commented Nov 1, 2011

Nope, same issue with ./configure --datadir=/usr/share.

@aozsyn
Copy link

aozsyn commented Aug 10, 2012

This is fixable by specifying --prefix=/usr/local or --prefix=/usr (not --mandir or --datadir, as behlendorf correctly notes that they reference datadir, which is based on --prefix). Something about that particular configuration is setting autoconf and/or friends to basically set --prefix=/.

Ignoring manual --datadir and --mandir values is a bug, but for autoconf and not ZFS - the 'configure' script is automatically generated from configure.ac - probably a bug with the particular autoconf that's being used to cut releases.

nedbass added a commit to nedbass/zfs that referenced this issue Aug 10, 2012
RPM versions 4.8 and 4.9 differ in the definition of macro %_mandir:

$ rpm --version ; rpm --showrc | grep ^-14:._mandir
RPM version 4.9.0
-14: _mandir	%{_prefix}/share/man

$ rpm --version ; rpm --showrc | grep ^-14:._mandir
RPM version 4.8.0
-14: _mandir	/usr/share/man

zfs.spec.in defines %_prefix as /, so man pages end up getting
installed in /share/man on RPM 4.9 systems.  To fix this, define
%_mandir relative to %_datadir in the spec file.

Issue openzfs#353
sdimitro pushed a commit to sdimitro/zfs that referenced this issue May 23, 2022
The `print_stdout`, `print_stderr`, and `dbg_macro` lints can't be set 
at the crate level.  Rather than setting them in every file, we set them 
as compiler options.

See rust-lang/rust-clippy#6610
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Documentation Indicates a requested change to the documentation
Projects
None yet
Development

No branches or pull requests

4 participants