#74 make install wronglets

closed-fixed
None
5
2007-07-10
2007-05-22
No

Sorry for the dense way, but I need this issue sorted out, to have less hacks in the davfs2 rpm specfile.

`make install` of davfs2-1.2.1 installs the following files:

/etc/davfs2/davfs2.conf
/etc/davfs2/secrets
/sbin/mount.davfs
/sbin/umount.davfs
/usr/sbin/mount.davfs
/usr/sbin/umount.davfs
/usr/share/davfs2/davfs2.conf
/usr/share/davfs2/secrets
/usr/share/doc/davfs2/AUTHORS
/usr/share/doc/davfs2/BUGS
/usr/share/doc/davfs2/COPYING
/usr/share/doc/davfs2/FAQ
/usr/share/doc/davfs2/INSTALL
/usr/share/doc/davfs2/NEWS
/usr/share/doc/davfs2/README
/usr/share/doc/davfs2/README.translators
/usr/share/doc/davfs2/THANKS
/usr/share/doc/davfs2/TODO
/usr/share/locale/de/LC_MESSAGES/davfs2.mo
/usr/share/locale/en@boldquot/LC_MESSAGES/davfs2.mo
/usr/share/locale/en@quot/LC_MESSAGES/davfs2.mo
/usr/share/man/de/man5/davfs2.conf.5.gz
/usr/share/man/de/man8/mount.davfs.8.gz
/usr/share/man/de/man8/umount.davfs.8.gz
/usr/share/man/es/man5/davfs2.conf.5.gz
/usr/share/man/man5/davfs2.conf.5.gz
/usr/share/man/man8/mount.davfs.8.gz
/usr/share/man/man8/umount.davfs.8.gz

Comments:

* /sbin should carry the {,u}mount.davfs programs

* /usr/sbin should not

* get rid of the symbolic links for {,u}mount.davfs

* the --docdir option is ignored. I specify
--docdir=%_datadir/doc/packages/davfs2 in the RPM
specfile, but files still get put into
/usr/share/doc/davfs2 instead

* files are unconditionally put into /sbin.
See the --ssbindir option of [1] how to "fix" this.

[1] http://pam-mount.svn.sourceforge.net/viewvc/\*checkout*/pam-mount/trunk/configure.ac

Thanks,
Jan Engelhardt

Discussion

  • Werner Baumann

    Werner Baumann - 2007-05-22

    Logged In: YES
    user_id=1260327
    Originator: NO

    Hello Jan,

    > /sbin should carry the {,u}mount.davfs programs

    I can't see this. mount.davfs is *not* needed to boot the system in maintainance mode. It will not run before /var is mounted, and I can't see any scenario where a davfs2 file system should be mounted before /usr. davfs2 is *not* suited to host any files essential for the system. Anyone using a davfs2 file system for essential system files is just asking for a system crash.

    When davfs2 is installed locally, it *must* install in /usr/local.
    Of course a distribution may decide to put mount.davfs into /sbin. That is ok. But you will have to adapt the package. Option --sbindir should do the trick.

    Or did I miss any important development in the FHS?

    - symbolic links

    I agree that they are ugly. In my opinion, mount should look for mount helpers in /usr/sbin and /usr/local/sbin, as davfs2 is not the only file system, that is not intended to hold system files, but intended to be mounted by ordinary users in most cases.
    If you install mount.davfs in /sbin, you will have to remove the symlink lines from Makefile.am.
    At the moment I can not see a way around that symbolic link. I would prefer to leave this to the local administrator (with some hints in the INSTALL file). It is in Makefile.am only for convenience.

    > See the --ssbindir option of [1] how to "fix" this.

    They just removed it. But I did not see how it solves the problem anyway.

    > the --docdir option is ignored.

    This is a bug in the davfs2 Makefile.am. But I can not fix it at the moment, because it would get mixed up with other changes. So please patch it for your rpm, and I will fix it for the next release. It is in the top level Makefile.am. Replacing

    pkgdocdir = $(datadir)/doc/@PACKAGE@

    by

    pkgdocdir = $(docdir)

    should do it, but I did no tests.

    The symbolic links are in src/Makefile.am. Just removing everything from

    install-exec-hook:

    to the end of file should work, together with the --sbindir option.

    Cheers
    Werner

     
  • Werner Baumann

    Werner Baumann - 2007-05-22
    • assigned_to: nobody --> wbaumann
    • status: open --> open-later
     
  • Jan Engelhardt

    Jan Engelhardt - 2007-05-22

    Logged In: YES
    user_id=1287009
    Originator: YES

    >mount.davfs is *not* needed to boot the system in maintainance mode.

    Then, why is mount.cifs and mount.fuse in /sbin?
    Because `mount -t foo` _only_ looks in /sbin, not /usr/sbin.

    # strace -fe stat64 mount -t foo x /mnt
    stat64("/sbin/mount.foo", 0xbfdd1750) = -1 ENOENT (No such file or directory)
    stat64("/sbin/mount.foo", 0xbfdd1720) = -1 ENOENT (No such file or directory)
    mount: unknown filesystem type 'foo'

    >When davfs2 is installed locally, it *must* install in /usr/local.

    Ah, ok, I should use --sbindir.

    >They just removed it. But I did not see how it solves the problem anyway.

    Right, that's because pam_mount does not have any binaries to put in /sbin. (But see --slibdir.)

     
  • Werner Baumann

    Werner Baumann - 2007-07-10
    • status: open-later --> closed-fixed
     

Log in to post a comment.