Upstream have released 4.0.1 * changes to ebuild needed * changes to patches needed Reproducible: Always Steps to Reproduce: bump for a new version
Created attachment 409842 [details] likwid-4.0.1.ebuild Attaching new ebuild, not just a pure version bump, ebuild needed changes.
Created attachment 409844 [details, diff] likwid-4.0.1-lua-makefile.patch Lua makefile patch
Created attachment 409846 [details, diff] likwid-4.0.1-Makefile.patch Top level Makefile patches
Created attachment 409850 [details, diff] likwid-4.0.1-fix-gnustack.patch Fix QA warnings gnu stack patch
Created attachment 409852 [details] likwid-4.0.1.ebuild woops, fixed the SRC_URI=
Created attachment 409854 [details] likwid-4.0.1.ebuild
The patches might all work but they require some final touches. e.g.' there is duplication between sed statements and patches both patching the same file(s). Easier to finalise in the channel.
Created attachment 410004 [details, diff] likwid-4.0.1-lua-makefile.patch Added comment in patch to ref upstream fix
Created attachment 410006 [details, diff] likwid-4.0.1-Makefile.patch Removed all sed statements from ebuild for the "Makefile" section and placed into patch file.
Created attachment 410008 [details, diff] likwid-4.0.1-config.mk.patch Added a new patch to break out all but one sed statement for "config.mk.
Created attachment 410010 [details] likwid-4.0.1.ebuild updated ebuild with comments, new patches I get a repoman warning on " Malformed Id header on line: 3" not sure why.
Created attachment 410012 [details] likwid-4.0.1.ebuild
Created attachment 410016 [details] likwid-4.0.1.ebuild Added better patch syntax, cleaned up unneeded sections and added fortran eclass stuff.
Created attachment 410018 [details] likwid-4.0.1.ebuild
Created attachment 410020 [details] likwid-4.0.1.ebuild fixed depends/rdeends.
~/github/gentoo/sys-apps/likwid $ sudo ebuild likwid-4.0.1.ebuild clean install yielded >>> Completed installing likwid-4.0.1 into /mnt/gen2/TmpDir/portage/sys-apps/likwid-4.0.1/image/ Files matching a file type that is not allowed: usr/lib/liblikwid.so.4 usr/lib/liblikwidpin.so.4 usr/lib/liblikwid-hwloc.so.4 usr/lib/liblikwid-lua.so.4 * ERROR: sys-apps/likwid-4.0.1::gentoo failed: * multilib-strict check failed! * * Call stack: * misc-functions.sh, line 592: Called install_qa_check * misc-functions.sh, line 217: Called source 'install_symlink_html_docs' * 80multilib-strict, line 47: Called multilib_strict_check * 80multilib-strict, line 43: Called die * The specific snippet of code: * [[ ${abort} == yes ]] && die "multilib-strict check failed!"
Created attachment 410052 [details, diff] likwid-4.0.1-config.mk.patch Set the install path to "/usr/lib64". config.mk was hard coding this to "/usr/lib" This application can never work on x86 cpu's so this seems fine. Advice taken from https://devmanual.gentoo.org/archs/amd64/index.html
(In reply to Ian Delaney from comment #16) > ~/github/gentoo/sys-apps/likwid $ sudo ebuild likwid-4.0.1.ebuild clean > install > > yielded > > >>> Completed installing likwid-4.0.1 into /mnt/gen2/TmpDir/portage/sys-apps/likwid-4.0.1/image/ > > Files matching a file type that is not allowed: > usr/lib/liblikwid.so.4 > usr/lib/liblikwidpin.so.4 > usr/lib/liblikwid-hwloc.so.4 > usr/lib/liblikwid-lua.so.4 > * ERROR: sys-apps/likwid-4.0.1::gentoo failed: > * multilib-strict check failed! > * > * Call stack: > * misc-functions.sh, line 592: Called install_qa_check > * misc-functions.sh, line 217: Called source 'install_symlink_html_docs' > * 80multilib-strict, line 47: Called multilib_strict_check > * 80multilib-strict, line 43: Called die > * The specific snippet of code: > * [[ ${abort} == yes ]] && die "multilib-strict check failed!" I've updated the likwid-4.0.1-config.mk.patch to resolve this I hope.
~/github/gentoo/sys-apps/likwid $ sudo ebuild likwid-4.0.1.ebuild clean install yielded >>> Completed installing likwid-4.0.1 into /mnt/gen2/TmpDir/portage/sys-apps/likwid-4.0.1/image/ likwid-4.0.1-config.mk.patch needed editing with following changes; -LIBPREFIX = $(PREFIX)/lib#NO SPACE +LIBPREFIX = $(PREFIX)/$(get_libdir)#NO SPACE -INSTALLED_LIBPREFIX = $(INSTALLED_PREFIX)/lib#NO SPACE +INSTALLED_LIBPREFIX = $(INSTALLED_PREFIX)/$(get_libdir)#NO SPACE while $(PREFIX)/lib64 works, $(get_libdir) is better form. commit 10cd91a253aeb95771eb745363414685b3a78c9a Author: Ian Delaney <idella4@gentoo.org> Date: Tue Aug 25 00:22:24 2015 +0800 sys-apps/likwid: bump; new patches supporting changes All patches by maintainer (undersys), fixes bug #558402
you too
Created attachment 416976 [details] Fixed library path, fixed access to daemon.
Created attachment 416978 [details] likwid-4.0.1-r1.ebuild
Created attachment 416980 [details, diff] likwid-4.0.1-access-daemon.patch
As the $(get_libdir) is not expanded in the configuration file, it is necessary to replace it with the right value. I have fixed it in a new ebuild likwid-4.0.1-r1.ebuild. Besides that, a new patch (likwid-4.0.1-access-daemon.patch) has to be applied to enable normal users to use likwid tools because the read permission is removed from /usr/sbin/likwid-accessD file during installation. Moreover, to allow the users to access performance counters right permissions (i.e. 666) have to be set to msr devices since "setcap cap_sys_rawio=ep" is not enough, see e.g. http://icl.cs.utk.edu/projects/papi/wiki/PAPITopics:RAPL_Access for the explanation. After the package installation a message is printed to inform about msr permissions.
(In reply to Libor Bukata from comment #24) > As the $(get_libdir) is not expanded in the configuration file, it is > necessary to replace it with the right value. I have fixed it in a new > ebuild likwid-4.0.1-r1.ebuild. Besides that, a new patch > (likwid-4.0.1-access-daemon.patch) has to be applied to enable normal users > to use likwid tools because the read permission is removed from > /usr/sbin/likwid-accessD file during installation. Moreover, to allow the > users to access performance counters right permissions (i.e. 666) have to be > set to msr devices since "setcap cap_sys_rawio=ep" is not enough, see e.g. > http://icl.cs.utk.edu/projects/papi/wiki/PAPITopics:RAPL_Access for the > explanation. After the package installation a message is printed to inform > about msr permissions. Hi Libor, Thank you for the additions and your efforts. It would be better (and preferred by most Gentoo devs) if you could supply unified diff/patch, rather then a new ebuild. Once I have the diff/patches I will test them with the in tree ebuild and work to get the fixes into the main tree. Thanks once again.
Created attachment 417014 [details, diff] likwid-4.0.1-r1.ebuild.patch
A unified diff of the ebuild file was added. I noticed (and also fixed) that the file capabilities (cap_sys_rawio) have to be dealt in pkg_postinst. Please test a new ebuild (likwid-4.0.1-r1.ebuild.patch + likwid-4.0.1-access-daemon.patch) and let me know whether it works and whether the permissions are set correctly. Thank you for your testing.
(In reply to Libor Bukata from comment #27) > A unified diff of the ebuild file was added. I noticed (and also fixed) that > the file capabilities (cap_sys_rawio) have to be dealt in pkg_postinst. > Please test a new ebuild (likwid-4.0.1-r1.ebuild.patch + > likwid-4.0.1-access-daemon.patch) and let me know whether it works and > whether the permissions are set correctly. Thank you for your testing. Thanks for the patch Libor. Some quick feedback. You don't need to use "fcaps" in the pkg_postinst(), but rather just call fcaps_pkg_postinst() this makes use of the "FILECAPS=()" array. I have edited the pkg_postinst() section to reflect this. See : https://devmanual.gentoo.org/eclass-reference/fcaps.eclass/index.html I have tested the following changes : 1) "${FILESDIR}"/${P}-access-daemon.patch No issues. Happy to include the patch. 2) # Set the path to library directory No issues. Happy to include the fix I have attached a new ebuild patch. This will be reviewed by the proxy maint project.
Created attachment 417170 [details, diff] likwid-4.0.1-r1.ebuild.patch Adding tested patch. This patch now needs "likwid-4.0.1-access-daemon.patch" that has previously been attached to this bug.
Will try get this patch pushed with the help of proxy-maint.
Author: Ian Delaney <idella4@gentoo.org> Date: Tue Nov 17 15:14:00 2015 +0800 sys-apps/likwid: revbump to vn. 4.0.1-r1, sourced from gentoo bug Patches, ack to user Libor Bukata, final patches by proxy maintainer sourced from the gentoo bug used for initial version bump to likwid-4.0.1 likwid-4.0.1-access-daemon.patch added to reset perms and set libdir correctly at install phase, rm broken 4.0.1 ebuild Gentoo bug: # 558402
As per request, successfully runtested clean install with no issues/concerns.
Thank you all for your testing and suggestions. I have only a minor remark, according to my experiments likwid-{perfctr,bench,powermeter} tools are over-granted, it is enough to set extended capabilities (extra permissions) to likwid-accessD daemon. The tools are using this daemon only if they need extra privileges.