Package Details: xdgmenumaker 2.0-1

Git Clone URL: https://aur.archlinux.org/xdgmenumaker.git (read-only, click to copy)
Package Base: xdgmenumaker
Description: A command line tool that generates XDG menus for several window managers
Upstream URL: https://github.com/gapan/xdgmenumaker
Licenses: GPL3
Submitter: Gaming4JC
Maintainer: franch
Last Packager: franch
Votes: 6
Popularity: 0.000004
First Submitted: 2016-03-02 01:16 (UTC)
Last Updated: 2022-07-15 08:49 (UTC)

Required by (0)

Sources (1)

Latest Comments

Le_Limule commented on 2019-08-06 19:10 (UTC)

even with the 'rhash' package i still have this whirlpoolsum problem. so i commented the whirlpoolsum line in the PKGBUILD to skip this problem.

dreieck commented on 2018-01-28 09:54 (UTC) (edited on 2018-01-28 10:00 (UTC) by dreieck)

What is 'whirlpoolsums' for? The executable that whould check for them is provided in the package 'rhash'. And makepkg also does a "Validating source files with whirlpoolsums...". So, rhash needs to be part of makedepends, right? Please add.

dreieck commented on 2018-01-28 09:42 (UTC) (edited on 2018-01-30 11:58 (UTC) by dreieck)

You have a problem in the package()-function.

When I want to install the build package, it bails ot at "checking for file conflicts" with "conflicting files":

xdgmenumaker: /usr/local/share/man exists in filesystem

.. well, two points:

(1) it should silently suceed and write into that directory if the user has already created it. I have it a symlink to /usr/local/man. Since /usr/local does not strictly follow standards, a package wanting to install there needs to accept what the user already did and needs to also write into symlink-dirs. It should only bail out if something would be really overwritten (I think that here the installation would remove the symlink and create a directory, which of course it should not do; instead it should write into the directory specified by the symlink).

But, more general, installing into /usr/local is a bad idea at all, see (2):

(2) Since /usr/local is somehow arbitrary with the content, and packages installed with official packaging tools should not install there: Change the PKGBUILD to not install in /usr/local.

Also a quick check with namcap on the built package would have revealed the issue ('xdgmenumaker W: File (usr/local/share/man/man1/xdgmenumaker.1.gz) exists in a non-standard directory.', 'xdgmenumaker W: File (usr/local/share/desktop-directories/xdgmenumaker-accessories.directory) exists in a non-standard directory.' and such).

The 'README.md' provided with the package states how to do it properly: Set PREFIX=/usr to the 'make install'-command. This solves all those problems, and you also can remove then your added '## begin fix for depreciated /usr/local install location ##'-section in the PKGBUILD, as well as the 'mkdir -p $pkgdir/usr/local/share/desktop-directories'-line.

Please correct.

For your simplicity, I provided a patch for the current PKGBUILD: http://ix.io/ENT

.. it fixes also a few other smaller issues: "license" should be "GPL3", not "GPLv3"; making indentation consistent (same width, and not a mixture of tabs and spaces), removing $pkgname from the description.

And the patch http://ix.io/ENW adds a few more optional things: Installs the 'ASCII' information files provided by upstream to /usr/share/doc/xdgmenumaker, and adds a check()-function which invokes make test. And also adds 'rhash' to 'makedepends', because 'whirlpoolsums=' are defined.