From 91aa54e1f064792c3754d78d483a2785cc716fa6 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 8 Jul 2012 12:29:21 -0400 Subject: add ~lukeshu/codeanalyst, modified from AUR --- ~lukeshu/codeanalyst/PKGBUILD | 67 +++++++++++++++++++++++++++++ ~lukeshu/codeanalyst/codeanalyst.desktop | 9 ++++ ~lukeshu/codeanalyst/codeanalyst.install | 32 ++++++++++++++ ~lukeshu/codeanalyst/codeanalyst.sudo | 1 + ~lukeshu/codeanalyst/codeanalyst.svg | 59 ++++++++++++++++++++++++++ ~lukeshu/codeanalyst/gcc47.patch | 72 ++++++++++++++++++++++++++++++++ ~lukeshu/codeanalyst/skipSetup.patch | 68 ++++++++++++++++++++++++++++++ 7 files changed, 308 insertions(+) create mode 100644 ~lukeshu/codeanalyst/PKGBUILD create mode 100644 ~lukeshu/codeanalyst/codeanalyst.desktop create mode 100755 ~lukeshu/codeanalyst/codeanalyst.install create mode 100644 ~lukeshu/codeanalyst/codeanalyst.sudo create mode 100644 ~lukeshu/codeanalyst/codeanalyst.svg create mode 100644 ~lukeshu/codeanalyst/gcc47.patch create mode 100644 ~lukeshu/codeanalyst/skipSetup.patch diff --git a/~lukeshu/codeanalyst/PKGBUILD b/~lukeshu/codeanalyst/PKGBUILD new file mode 100644 index 000000000..5cbab45dc --- /dev/null +++ b/~lukeshu/codeanalyst/PKGBUILD @@ -0,0 +1,67 @@ +# Maintainer (Parabola): Luke Shumaker +# Maintainer (AUR): Felipe Bugno + +# A note about the oprofile fork: +# The docs claim that the fork is just for adding support for +# processors that aren't upstream yet (at the time, they are now that +# 0.9.7 is out). So, shouldn't we just link against 0.9.7? Well: +# * AMD also added a bunch of CodeAnalyst-specific code. Also some of +# the external. +# * Several external variables/types have different names; the API is +# incompatible. +# * [extra]/oprofile-0.9.7-3 only includes about half of the headers. + +pkgbase=CodeAnalyst +pkgname=codeanalyst +pkgver=3.3.18.0361 +_pkgver="${pkgver//./_}" +pkgrel=4.1 +pkgdesc="AMD performance profiler. Includes a fork of oprofile." +url="http://developer.amd.com/tools/${pkgbase}/" +arch=('i686' 'x86_64') +license=('GPL') +depends=('gcc' 'sudo' 'qt>=4.1' 'oprofile' 'libdwarf') +makedepends=('linux-headers' 'elfutils' 'findutils' 'file') +provides=('oprofile=0.9.6cvs') +conflicts=('oprofile') +options=('!strip') +install=codeanalyst.install +source=("http://download2-developer.amd.com/amd/${pkgbase}/${pkgbase}${_pkgver}Public.tar.gz" + 'gcc47.patch' + 'skipSetup.patch' + 'codeanalyst.sudo' + 'codeanalyst.desktop' + 'codeanalyst.svg') + +build() { + cd "${srcdir}/${pkgbase}-${_pkgver}-Public" + patch -Np1 -i "${srcdir}/gcc47.patch" + patch -Np1 -i "${srcdir}/skipSetup.patch" + rm -rf src/dwarf-* # easiest way to ensure using the system install + + ./autogen.sh + ./configure --prefix=/usr \ + --with-libdwarf-includes=/usr/include/libdwarf \ + --with-libdwarf-libraries=/usr/lib + make +} + +package() { + cd "${srcdir}/${pkgbase}-${_pkgver}-Public" + make DESTDIR="${pkgdir}" install + rm -f "${pkgdir}/usr/sbin/ca_user_manager" # either codeanalyst.install does this, or it is trivial + + find "${pkgdir}"/usr/{bin,sbin} -type f -exec file '{}' +|sed -n 's/:\s*ELF .*//p'|xargs strip + + cd "${srcdir}" + install -D -m644 codeanalyst.sudo "${pkgdir}/etc/sudoers.d/codeanalyst" + install -D -m644 codeanalyst.svg "${pkgdir}/usr/share/icons/hicolor/scalable/apps/codeanalyst.svg" + install -D -m644 codeanalyst.desktop "${pkgdir}/usr/share/applications/codeanalyst.desktop" +} + +md5sums=('f1e29bc7c7da259df228ce59281ee1d7' + '063d0fc9680641a92ce5e310ffe1c9c0' + 'ce549e59c4a5916fd19e8d085e863627' + '3cc8f64fe84c5a886d0172ee8d99f690' + '3a18d3f7fb01f199a8ed5ae2908c18e4' + '1822a4157b82904b82e72fc1e9bcbd42') diff --git a/~lukeshu/codeanalyst/codeanalyst.desktop b/~lukeshu/codeanalyst/codeanalyst.desktop new file mode 100644 index 000000000..56d54f884 --- /dev/null +++ b/~lukeshu/codeanalyst/codeanalyst.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=AMD CodeAnalyst +Comment=AMD profiler and performance analyzer +Exec=/usr/bin/CodeAnalyst +Icon=codeanalyst +Terminal=false +Encoding=UTF-8 +Type=Application +Categories=Development; diff --git a/~lukeshu/codeanalyst/codeanalyst.install b/~lukeshu/codeanalyst/codeanalyst.install new file mode 100755 index 000000000..8edb4adc2 --- /dev/null +++ b/~lukeshu/codeanalyst/codeanalyst.install @@ -0,0 +1,32 @@ +post_install() { + getent group amdca &>/dev/null || /usr/bin/groupadd amdca &>/dev/null + echo " ==> To use CodeAnalyst as non-root, you must be in the 'amdca' group" + echo " ie: gpasswd -a USERNAME amdca" + + chown root:amdca /usr/bin/calog_report + chown root:amdca /usr/bin/capackage.sh + chown root:amdca /usr/bin/careport.sh + chown root:amdca /usr/bin/cgreport + chown root:amdca /usr/bin/CodeAnalyst + chown root:amdca /usr/bin/opannotate + chown root:amdca /usr/bin/oparchive + chown root:amdca /usr/bin/opcontrol + chown root:amdca /usr/bin/opgprof + chown root:amdca /usr/bin/ophelp + chown root:amdca /usr/bin/opimport + chown root:amdca /usr/bin/opjitconv + chown root:amdca /usr/bin/opreport + chown root:amdca /usr/bin/oprofiled + chown root:amdca /usr/sbin/ca_oprofile_controller + #chown root:amdca /usr/sbin/ca_user_manager + + update-desktop-database -q +} + +post_remove() { + if getent group amdca &>/dev/null; then + groupdel amdca + fi + + update-desktop-database -q +} diff --git a/~lukeshu/codeanalyst/codeanalyst.sudo b/~lukeshu/codeanalyst/codeanalyst.sudo new file mode 100644 index 000000000..1c3173bdb --- /dev/null +++ b/~lukeshu/codeanalyst/codeanalyst.sudo @@ -0,0 +1 @@ +%amdca ALL= NOPASSWD: /usr/sbin/ca_oprofile_controller diff --git a/~lukeshu/codeanalyst/codeanalyst.svg b/~lukeshu/codeanalyst/codeanalyst.svg new file mode 100644 index 000000000..8febf725b --- /dev/null +++ b/~lukeshu/codeanalyst/codeanalyst.svg @@ -0,0 +1,59 @@ + + + +image/svg+xml + + + + + + \ No newline at end of file diff --git a/~lukeshu/codeanalyst/gcc47.patch b/~lukeshu/codeanalyst/gcc47.patch new file mode 100644 index 000000000..dfec4a0c4 --- /dev/null +++ b/~lukeshu/codeanalyst/gcc47.patch @@ -0,0 +1,72 @@ +diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca/cg/Makefile.am CodeAnalyst-3_3_18_0361-Public/src/ca/cg/Makefile.am +*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca/cg/Makefile.am 2012-04-13 02:41:43.000000000 -0300 +--- CodeAnalyst-3_3_18_0361-Public/src/ca/cg/Makefile.am 2012-04-22 17:55:01.227439003 -0300 +*************** +*** 25,31 **** + cgcvt.cpp + + +! cgreport_LDFLAGS = -Wl -fPIC @QT_LDFLAGS@ + + AM_CPPFLAGS= $(INCLUDES) $(more_flags) \ + $(FLAG64) -Wno-unused -Wno-parentheses \ +--- 25,31 ---- + cgcvt.cpp + + +! cgreport_LDFLAGS = -fPIC @QT_LDFLAGS@ + + AM_CPPFLAGS= $(INCLUDES) $(more_flags) \ + $(FLAG64) -Wno-unused -Wno-parentheses \ +diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca/gui/MonitorDockView.cpp CodeAnalyst-3_3_18_0361-Public/src/ca/gui/MonitorDockView.cpp +*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca/gui/MonitorDockView.cpp 2012-04-13 02:41:43.000000000 -0300 +--- CodeAnalyst-3_3_18_0361-Public/src/ca/gui/MonitorDockView.cpp 2012-04-22 17:38:14.884058192 -0300 +*************** +*** 17,22 **** +--- 17,23 ---- + */ + + #include ++ #include + + #include "MonitorDockView.h" + +diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca/libs/libca/dwarfengine.cpp CodeAnalyst-3_3_18_0361-Public/src/ca/libs/libca/dwarfengine.cpp +*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca/libs/libca/dwarfengine.cpp 2012-04-13 02:41:43.000000000 -0300 +--- CodeAnalyst-3_3_18_0361-Public/src/ca/libs/libca/dwarfengine.cpp 2012-04-22 17:34:45.670714989 -0300 +*************** +*** 21,26 **** +--- 21,27 ---- + #include + #include + #include ++ #include + + #include "dwarfengine.h" + #define DWARF_DEBUG 0 +diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca/libs/libopdata/opdata_handler.cpp CodeAnalyst-3_3_18_0361-Public/src/ca/libs/libopdata/opdata_handler.cpp +*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca/libs/libopdata/opdata_handler.cpp 2012-04-13 02:41:43.000000000 -0300 +--- CodeAnalyst-3_3_18_0361-Public/src/ca/libs/libopdata/opdata_handler.cpp 2012-04-22 17:32:30.780708624 -0300 +*************** +*** 29,34 **** +--- 29,35 ---- + #include + #include + #include ++ #include + + // CodeAnalyst headers + #include "CaProfileWriter.h" +diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca_agent/libCAagent/slock.cpp CodeAnalyst-3_3_18_0361-Public/src/ca_agent/libCAagent/slock.cpp +*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca_agent/libCAagent/slock.cpp 2012-04-13 02:41:43.000000000 -0300 +--- CodeAnalyst-3_3_18_0361-Public/src/ca_agent/libCAagent/slock.cpp 2012-04-22 17:26:58.424026278 -0300 +*************** +*** 13,18 **** +--- 13,19 ---- + #include + #include + #include ++ #include + + #include "slock.h" + #include "smm.h" diff --git a/~lukeshu/codeanalyst/skipSetup.patch b/~lukeshu/codeanalyst/skipSetup.patch new file mode 100644 index 000000000..fdc9bf42f --- /dev/null +++ b/~lukeshu/codeanalyst/skipSetup.patch @@ -0,0 +1,68 @@ +diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca/Makefile.am CodeAnalyst-3_3_18_0361-Public/src/ca/Makefile.am +*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca/Makefile.am 2012-04-13 02:41:43.000000000 -0300 +--- CodeAnalyst-3_3_18_0361-Public/src/ca/Makefile.am 2012-04-22 20:44:07.437917684 -0300 +*************** +*** 8,19 **** + # FIXME [3.0] diffgui \ + # $(CA_RELEASE_TYPE) + +! install-exec-hook: +! @if test -e "scripts/Setup.sh"; then \ +! scripts/Setup.sh $(DESTDIR)$(prefix); \ +! fi + +! uninstall-hook: +! @if test -e "scripts/Uninstall.sh"; then \ +! scripts/Uninstall.sh $(DESTDIR)$(prefix);\ +! fi +--- 8,19 ---- + # FIXME [3.0] diffgui \ + # $(CA_RELEASE_TYPE) + +! #install-exec-hook: +! # @if test -e "scripts/Setup.sh"; then \ +! # scripts/Setup.sh $(DESTDIR)$(prefix); \ +! # fi + +! #uninstall-hook: +! # @if test -e "scripts/Uninstall.sh"; then \ +! # scripts/Uninstall.sh $(DESTDIR)$(prefix);\ +! # fi +diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca_agent/jvmpi/Makefile.am CodeAnalyst-3_3_18_0361-Public/src/ca_agent/jvmpi/Makefile.am +*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca_agent/jvmpi/Makefile.am 2012-04-13 02:41:43.000000000 -0300 +--- CodeAnalyst-3_3_18_0361-Public/src/ca_agent/jvmpi/Makefile.am 2012-04-22 20:47:21.604593511 -0300 +*************** +*** 15,20 **** + libCAJVMPIA_so_SOURCES = \ + jpa.cpp + +! install-exec-hook: +! @/sbin/ldconfig + +--- 15,20 ---- + libCAJVMPIA_so_SOURCES = \ + jpa.cpp + +! #install-exec-hook: +! # @/sbin/ldconfig + +diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/Makefile.am CodeAnalyst-3_3_18_0361-Public/src/Makefile.am +*** CodeAnalyst-3_3_18_0361-Public.orig/src/Makefile.am 2012-04-13 02:41:43.000000000 -0300 +--- CodeAnalyst-3_3_18_0361-Public/src/Makefile.am 2012-04-22 20:44:57.674586720 -0300 +*************** +*** 8,21 **** + install-exec-hook: + @if test -e "${LIBDWARF_DIR}libdwarf.so"; then \ + install -pD -m 755 ${LIBDWARF_DIR}libdwarf.so $(DESTDIR)$(prefix)/lib/libdwarf.so ; \ +- /sbin/ldconfig ;\ + fi + + uninstall-hook: + @if test -e "${LIBDWARF_DIR}libdwarf.so"; then \ + if test -e "$(DESTDIR)$(prefix)/lib/libdwarf.so"; then \ + rm -f $(DESTDIR)$(prefix)/lib/libdwarf.so ; \ +- /sbin/ldconfig ; \ + fi ; \ + fi + +--- 8,19 ---- -- cgit v1.2.3-2-g168b