From: Lars-Peter Clausen Date: Fri, 30 Jan 2009 01:14:47 +0000 (+0000) Subject: Add oprofile package. X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=commitdiff_plain;h=81cb80e5cc29bde4e01bdccae56f51996393aae2 Add oprofile package. SVN-Revision: 14275 --- diff --git a/utils/oprofile/Makefile b/utils/oprofile/Makefile new file mode 100644 index 0000000000..6faccdfe9d --- /dev/null +++ b/utils/oprofile/Makefile @@ -0,0 +1,73 @@ +# +# Copyright (C) 2009 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +# $Id$ + +include $(TOPDIR)/rules.mk + +PKG_NAME:=oprofile +PKG_VERSION:=0.9.4 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=@SF/oprofile/ +PKG_MD5SUM:=82b059379895cf125261d7d773465915 +PKG_INSTALL:=1 +PKG_BUILD_DEPENDS:=libbfd + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/kernel.mk + +define KernelPackage/oprofile + SUBMENU:=Other modules + TITLE:=OProfile profiling support + KCONFIG:=CONFIG_OPROFILE + FILES:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/oprofile/oprofile.$(LINUX_KMOD_SUFFIX) + DEPENDS:=@KERNEL_PROFILING +endef + +define KernelPackage/oprofile/description + Kernel module for support for oprofile system profiling. +endef + +define Package/oprofile + SECTION:=utils + CATEGORY:=Utilities + TITLE:=OProfile System Profiler + URL:=http://oprofile.sourceforge.net + DEPENDS:=+libpopt +kmod-oprofile +endef + +define Package/oprofile/description + A transparent low-overhead system-wide profiler. +endef + +define Build/Configure + $(call Build/Configure/Default, \ + --with-kernel-support \ + --without-x \ + ) +endef + +define Package/oprofile/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) \ + $(PKG_INSTALL_DIR)/usr/bin/* \ + $(1)/usr/bin + + $(INSTALL_DIR) $(1)/usr/lib/oprofile + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/oprofile/*.so* \ + $(1)/usr/lib/oprofile/ + + $(INSTALL_DIR) $(1)/usr/share/oprofile + $(CP) \ + $(PKG_INSTALL_DIR)/usr/share/oprofile/* \ + $(1)/usr/share/oprofile/ +endef + +$(eval $(call BuildPackage,oprofile)) +$(eval $(call KernelPackage,oprofile)) diff --git a/utils/oprofile/patches/10-use-insmod-instead-of-modprobe.patch b/utils/oprofile/patches/10-use-insmod-instead-of-modprobe.patch new file mode 100644 index 0000000000..c55dbce975 --- /dev/null +++ b/utils/oprofile/patches/10-use-insmod-instead-of-modprobe.patch @@ -0,0 +1,22 @@ +diff --git a/utils/opcontrol b/utils/opcontrol +index ce53010..60a7e64 100644 +--- a/utils/opcontrol ++++ b/utils/opcontrol +@@ -170,7 +170,7 @@ load_module_26() + { + grep oprofilefs /proc/filesystems >/dev/null + if test "$?" -ne 0; then +- modprobe oprofile ++ insmod oprofile + if test "$?" != "0"; then + # couldn't load the module + return +@@ -200,7 +200,7 @@ load_module_24() + { + grep oprof /proc/devices >/dev/null + if test "$?" -ne 0; then +- modprobe oprofile ++ insmod oprofile + if test "$?" != "0"; then + # couldn't load a module + return