Accepting request 69293 from home:jones_tony:branches:devel:tools
OBS-URL: https://build.opensuse.org/request/show/69293 OBS-URL: https://build.opensuse.org/package/show/devel:tools/oprofile?expand=0&rev=16
This commit is contained in:
parent
d50b65b611
commit
850e2fefb8
13
README-BEFORE-ADDING-PATCHES
Normal file
13
README-BEFORE-ADDING-PATCHES
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
All patches need to have a patch description header similar to what is used in
|
||||||
|
SuSE kernel git tree. Patches added without this will be reverted. Thanks.
|
||||||
|
|
||||||
|
From: Name <email>
|
||||||
|
Subject: Summary of fix
|
||||||
|
Date: date
|
||||||
|
References: bnc#xxxxxx (bugzilla reference if applicable)
|
||||||
|
Upstream: yes (provide repo/commit-id in description) or no (provide reason)
|
||||||
|
Signed-Off-by: Name <email> (same as From: if committer is patch author)
|
||||||
|
|
||||||
|
Short paragraph describing problem/fix.
|
||||||
|
|
||||||
|
References to upstream repo-path/commit-id if applicable.
|
@ -1 +1,2 @@
|
|||||||
oprofile
|
oprofile
|
||||||
|
libopagent1
|
||||||
|
402
oprofile-qt4.diff
Normal file
402
oprofile-qt4.diff
Normal file
@ -0,0 +1,402 @@
|
|||||||
|
From: maynardj <maynardj@us.ibm.com>
|
||||||
|
Date: Fri Feb 25 11:50:18 2011 -0600
|
||||||
|
Subject: Use qt3Support to allow building with either qt3 or qt4
|
||||||
|
Git-Repo: git://oprofile.git.sourceforge.net/gitroot/oprofile/oprofile
|
||||||
|
Git-Commit: 7e4a107edca55f01dc62d2351c85264a3bc97fd3
|
||||||
|
References: request by Ismail Dönme, rferencing redhat BZ#683923
|
||||||
|
Signed-Off-by: Tony Jones <tonyj@suse.de>
|
||||||
|
|
||||||
|
|
||||||
|
Signed-off-by: Gert Wollny <gw.fossdev@gmail.com>
|
||||||
|
Acked-by: Maynard Johnson <maynardj@us.ibm.com>
|
||||||
|
|
||||||
|
Description:
|
||||||
|
This patch makes changes to oprofile gui files to use qt3Support to facilitate
|
||||||
|
building with either qt3 or qt4. The configure script now has a new option:
|
||||||
|
--enable-gui=[qt3|qt4|yes|no]. If not given or set to yes, the gui build
|
||||||
|
defaults to qt3, which is the same as what it has done in the past.
|
||||||
|
|
||||||
|
---
|
||||||
|
configure.in | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++--
|
||||||
|
doc/oprofile.xml | 4 +--
|
||||||
|
gui/Makefile.am | 5 +--
|
||||||
|
gui/oprof_start.cpp | 64 ++++++++++++++++++++++++++++++------------------
|
||||||
|
gui/oprof_start.h | 14 +++++++---
|
||||||
|
gui/ui/Makefile.am | 2 -
|
||||||
|
6 files changed, 121 insertions(+), 36 deletions(-)
|
||||||
|
|
||||||
|
--- a/configure.in
|
||||||
|
+++ b/configure.in
|
||||||
|
@@ -18,6 +18,7 @@ AM_CONFIG_HEADER(config.h)
|
||||||
|
AC_CHECK_DECLS([basename], [], [], [[#include <libgen.h>]])
|
||||||
|
AC_PROG_RANLIB
|
||||||
|
AC_PROG_LIBTOOL
|
||||||
|
+PKG_PROG_PKG_CONFIG
|
||||||
|
|
||||||
|
dnl for the man page
|
||||||
|
DATE="`date '+%a %d %B %Y'`"
|
||||||
|
@@ -131,7 +132,61 @@ ORIG_X_SAVE_LIBS="$LIBS"
|
||||||
|
LIBS="$X_PRE_LIBS $LIBS $X_LIBS -lX11 $X_EXTRA_LIBS"
|
||||||
|
X_LIBS="$LIBS"
|
||||||
|
AC_SUBST(X_LIBS)
|
||||||
|
-QT_DO_IT_ALL
|
||||||
|
+
|
||||||
|
+AC_ARG_ENABLE(gui,[ --enable-gui compile with gui component (qt3|qt4|yes|no),
|
||||||
|
+ if not given or set to yes, gui defaults to qt3],, enable_gui=qt3)
|
||||||
|
+
|
||||||
|
+if test "x$enable_gui" = "xqt3" || test "x$enable_gui" = "xyes"; then
|
||||||
|
+ QT_VERSION=3
|
||||||
|
+ QT_DO_IT_ALL
|
||||||
|
+ QT_LIBS="$QT_LIB $QT_LDFLAGS"
|
||||||
|
+ QT_CFLAGS="$QT_INCLUDES"
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
+if test "x$enable_gui" = "xqt4"; then
|
||||||
|
+ QT_VERSION=4
|
||||||
|
+ PKG_CHECK_MODULES(QT, Qt3Support QtGui QtCore ,,[
|
||||||
|
+ echo "You requested QT4 but its build files are not available. Exiting now."
|
||||||
|
+ exit
|
||||||
|
+ ])
|
||||||
|
+ MOC=$(pkg-config --variable=moc_location QtCore)
|
||||||
|
+ UIC=$(pkg-config --variable=uic_location QtCore)3
|
||||||
|
+ QT_VERSION=$(pkg-config --modversion QtCore)
|
||||||
|
+
|
||||||
|
+dnl following are some sanity tests and workarounds for buggy QtCore.pc files
|
||||||
|
+ if test "x$MOC" = "x"; then
|
||||||
|
+ echo "WARNING: Your QtCore.pc file is buggy, it doesn't provide the variable 'moc_location'"
|
||||||
|
+ echo "WARNING: I will try to find it in your PATH ..."
|
||||||
|
+ AC_CHECK_PROG(MOC, moc, moc)
|
||||||
|
+ if test "x$MOC" = "x"; then
|
||||||
|
+ echo "WARNING: You can fix this by adding the location of moc to your path."
|
||||||
|
+ echo "WARNING: Exiting now."
|
||||||
|
+ exit
|
||||||
|
+ fi
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
+ if test "x$UIC" = "x3"; then
|
||||||
|
+ echo "WARNING: Your QtCore.pc file is buggy, it doesn't provide the variable 'uic_location'"
|
||||||
|
+ echo "WARNING: I will try to find it in your PATH ..."
|
||||||
|
+ AC_CHECK_PROG(UIChelp, uic3, uic3)
|
||||||
|
+ if test "x$UIChelp" = "x"; then
|
||||||
|
+ echo "WARNING: You can fix this by adding the location of uic3 to your path."
|
||||||
|
+ echo "WARNING: Exiting now."
|
||||||
|
+ exit
|
||||||
|
+ else
|
||||||
|
+ UIC="$UIChelp"
|
||||||
|
+ fi
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
+ flags_has_qt3support=$(echo $QT_CFLAGS | grep QT3_SUPPORT)
|
||||||
|
+ if test "x$flags_has_qt3support" = "x" ; then
|
||||||
|
+ echo "WARNING: Your Qt3Support package is buggy; it dosn't include the 'QT3_SUPPORT' flag"
|
||||||
|
+ echo "WARNING: adding it manually"
|
||||||
|
+ QT_CFLAGS="$QT_CFLAGS -DQT3_SUPPORT"
|
||||||
|
+ fi
|
||||||
|
+fi
|
||||||
|
+AM_CONDITIONAL(have_qt, test -n "$QT_LIBS")
|
||||||
|
+
|
||||||
|
LIBS="$ORIG_X_SAVE_LIBS"
|
||||||
|
|
||||||
|
dnl enable pch for c++
|
||||||
|
@@ -155,7 +210,6 @@ AC_SUBST(POPT_LIBS)
|
||||||
|
|
||||||
|
# do NOT put tests here, they will fail in the case X is not installed !
|
||||||
|
|
||||||
|
-AM_CONDITIONAL(have_qt, test -n "$QT_LIB")
|
||||||
|
|
||||||
|
AX_CFLAGS_OPTION(OP_CFLAGS,[-W])
|
||||||
|
AX_CXXFLAGS_OPTION(OP_CXXFLAGS,[-W])
|
||||||
|
@@ -268,6 +322,16 @@ AC_OUTPUT(Makefile \
|
||||||
|
|
||||||
|
AX_COPY_IF_CHANGE(doc/xsl/catalog-1.xml, doc/xsl/catalog.xml)
|
||||||
|
|
||||||
|
+if test "x$enable_gui" = "xno" ; then
|
||||||
|
+ echo "No GUI will be built as it was explicitly disabled."
|
||||||
|
+else
|
||||||
|
+ if test -z "$QT_LIBS"; then
|
||||||
|
+ echo "Warning: QT version $QT_VERSION was requested but not found. No GUI will be built."
|
||||||
|
+ else
|
||||||
|
+ echo "Building GUI with QT $QT_VERSION"
|
||||||
|
+ fi
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
if test -z "$QT_LIB"; then
|
||||||
|
echo "Warning: a working Qt not found; no GUI will be built"
|
||||||
|
fi
|
||||||
|
--- a/doc/oprofile.xml
|
||||||
|
+++ b/doc/oprofile.xml
|
||||||
|
@@ -190,8 +190,8 @@ For information on how to use OProfile's
|
||||||
|
<varlistentry>
|
||||||
|
<term>OProfile GUI</term>
|
||||||
|
<listitem><para>
|
||||||
|
- The use of the GUI to start the profiler requires the <filename>Qt 2</filename> library. <filename>Qt 3</filename> should
|
||||||
|
- also work.
|
||||||
|
+ The use of the GUI to start the profiler requires the <filename>Qt</filename> library.
|
||||||
|
+ Either <filename>Qt 3</filename> or <filename>Qt 4</filename> should work.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
--- a/gui/Makefile.am
|
||||||
|
+++ b/gui/Makefile.am
|
||||||
|
@@ -14,7 +14,7 @@ EXTRA_DIST = $(dist_sources)
|
||||||
|
if have_qt
|
||||||
|
|
||||||
|
AM_CPPFLAGS = \
|
||||||
|
- @QT_INCLUDES@ \
|
||||||
|
+ @QT_CFLAGS@ \
|
||||||
|
-I ${top_srcdir}/libop \
|
||||||
|
-I ${top_srcdir}/libutil++ \
|
||||||
|
-I ${top_srcdir}/libutil
|
||||||
|
@@ -30,8 +30,7 @@ oprof_start_LDADD = \
|
||||||
|
../libop/libop.a \
|
||||||
|
../libutil/libutil.a \
|
||||||
|
ui/liboprof_start.a \
|
||||||
|
- @QT_LDFLAGS@ \
|
||||||
|
- @QT_LIB@ \
|
||||||
|
+ @QT_LIBS@ \
|
||||||
|
@X_LIBS@
|
||||||
|
|
||||||
|
oprof_start.moc.cpp: ${top_srcdir}/gui/oprof_start.h
|
||||||
|
--- a/gui/oprof_start.cpp
|
||||||
|
+++ b/gui/oprof_start.cpp
|
||||||
|
@@ -20,21 +20,37 @@
|
||||||
|
#include <fstream>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
+#if QT3_SUPPORT
|
||||||
|
+#include <Qt/qlineedit.h>
|
||||||
|
+#include <Qt/qcheckbox.h>
|
||||||
|
+#include <Qt/qtabwidget.h>
|
||||||
|
+#include <Qt/qmessagebox.h>
|
||||||
|
+#include <Qt/qvalidator.h>
|
||||||
|
+#include <Qt/qlabel.h>
|
||||||
|
+#include <Qt/qpushbutton.h>
|
||||||
|
+#include <Qt/q3listview.h>
|
||||||
|
+#include <Qt/q3combobox.h>
|
||||||
|
+#include <Qt/q3listbox.h>
|
||||||
|
+#include <Qt/q3filedialog.h>
|
||||||
|
+#include <Qt/q3buttongroup.h>
|
||||||
|
+#include <Qt/q3header.h>
|
||||||
|
+#else
|
||||||
|
#include <qlineedit.h>
|
||||||
|
-#include <qlistview.h>
|
||||||
|
-#include <qcombobox.h>
|
||||||
|
-#include <qlistbox.h>
|
||||||
|
-#include <qfiledialog.h>
|
||||||
|
-#include <qbuttongroup.h>
|
||||||
|
#include <qcheckbox.h>
|
||||||
|
#include <qtabwidget.h>
|
||||||
|
#include <qmessagebox.h>
|
||||||
|
#include <qvalidator.h>
|
||||||
|
#include <qlabel.h>
|
||||||
|
#include <qpushbutton.h>
|
||||||
|
+#include <qlistview.h>
|
||||||
|
+#include <qcombobox.h>
|
||||||
|
+#include <qlistbox.h>
|
||||||
|
+#include <qfiledialog.h>
|
||||||
|
+#include <qbuttongroup.h>
|
||||||
|
#include <qheader.h>
|
||||||
|
+#define Q3ListView QListView
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
-#include "config.h"
|
||||||
|
#include "oprof_start.h"
|
||||||
|
#include "op_config.h"
|
||||||
|
#include "op_config_24.h"
|
||||||
|
@@ -268,10 +284,10 @@ void oprof_start::fill_events()
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
/// find the first item with the given text in column 0 or return NULL
|
||||||
|
-QListViewItem * findItem(QListView * view, char const * name)
|
||||||
|
+Q3ListViewItem * findItem(Q3ListView * view, char const * name)
|
||||||
|
{
|
||||||
|
// Qt 2.3.1 does not have QListView::findItem()
|
||||||
|
- QListViewItem * item = view->firstChild();
|
||||||
|
+ Q3ListViewItem * item = view->firstChild();
|
||||||
|
|
||||||
|
while (item && strcmp(item->text(0).latin1(), name))
|
||||||
|
item = item->nextSibling();
|
||||||
|
@@ -292,7 +308,7 @@ void oprof_start::setup_default_event()
|
||||||
|
event_cfgs[descr.name].user_ring_count = 1;
|
||||||
|
event_cfgs[descr.name].os_ring_count = 1;
|
||||||
|
|
||||||
|
- QListViewItem * item = findItem(events_list, descr.name);
|
||||||
|
+ Q3ListViewItem * item = findItem(events_list, descr.name);
|
||||||
|
if (item)
|
||||||
|
item->setSelected(true);
|
||||||
|
}
|
||||||
|
@@ -349,7 +365,7 @@ void oprof_start::read_set_events()
|
||||||
|
event_cfgs[ev_name].os_ring_count = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
- QListViewItem * item = findItem(events_list, ev_name.c_str());
|
||||||
|
+ Q3ListViewItem * item = findItem(events_list, ev_name.c_str());
|
||||||
|
if (item)
|
||||||
|
item->setSelected(true);
|
||||||
|
}
|
||||||
|
@@ -436,7 +452,7 @@ void oprof_start::fill_events_listbox()
|
||||||
|
|
||||||
|
for (vector<op_event_descr>::reverse_iterator cit = v_events.rbegin();
|
||||||
|
cit != v_events.rend(); ++cit) {
|
||||||
|
- new QListViewItem(events_list, cit->name.c_str());
|
||||||
|
+ new Q3ListViewItem(events_list, cit->name.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
setUpdatesEnabled(true);
|
||||||
|
@@ -467,7 +483,7 @@ void oprof_start::display_event(op_event
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-bool oprof_start::is_selectable_event(QListViewItem * item)
|
||||||
|
+bool oprof_start::is_selectable_event(Q3ListViewItem * item)
|
||||||
|
{
|
||||||
|
if (item->isSelected())
|
||||||
|
return true;
|
||||||
|
@@ -486,7 +502,7 @@ bool oprof_start::is_selectable_event(QL
|
||||||
|
|
||||||
|
void oprof_start::draw_event_list()
|
||||||
|
{
|
||||||
|
- QListViewItem * cur;
|
||||||
|
+ Q3ListViewItem * cur;
|
||||||
|
for (cur = events_list->firstChild(); cur; cur = cur->nextSibling()) {
|
||||||
|
if (is_selectable_event(cur))
|
||||||
|
cur->setPixmap(0, *green_pixmap);
|
||||||
|
@@ -500,7 +516,7 @@ bool oprof_start::alloc_selected_events(
|
||||||
|
{
|
||||||
|
vector<op_event const *> events;
|
||||||
|
|
||||||
|
- set<QListViewItem *>::const_iterator it;
|
||||||
|
+ set<Q3ListViewItem *>::const_iterator it;
|
||||||
|
for (it = selected_events.begin(); it != selected_events.end(); ++it)
|
||||||
|
events.push_back(find_event_by_name((*it)->text(0).latin1(),0,0));
|
||||||
|
|
||||||
|
@@ -520,24 +536,24 @@ void oprof_start::event_selected()
|
||||||
|
// (de)selected item so we record a set of selected items and diff
|
||||||
|
// it in the appropriate way with the previous list of selected items.
|
||||||
|
|
||||||
|
- set<QListViewItem *> current_selection;
|
||||||
|
- QListViewItem * cur;
|
||||||
|
+ set<Q3ListViewItem *> current_selection;
|
||||||
|
+ Q3ListViewItem * cur;
|
||||||
|
for (cur = events_list->firstChild(); cur; cur = cur->nextSibling()) {
|
||||||
|
if (cur->isSelected())
|
||||||
|
current_selection.insert(cur);
|
||||||
|
}
|
||||||
|
|
||||||
|
// First remove the deselected item.
|
||||||
|
- vector<QListViewItem *> new_deselected;
|
||||||
|
+ vector<Q3ListViewItem *> new_deselected;
|
||||||
|
set_difference(selected_events.begin(), selected_events.end(),
|
||||||
|
current_selection.begin(), current_selection.end(),
|
||||||
|
back_inserter(new_deselected));
|
||||||
|
- vector<QListViewItem *>::const_iterator it;
|
||||||
|
+ vector<Q3ListViewItem *>::const_iterator it;
|
||||||
|
for (it = new_deselected.begin(); it != new_deselected.end(); ++it)
|
||||||
|
selected_events.erase(*it);
|
||||||
|
|
||||||
|
// Now try to add the newly selected item if enough HW resource exists
|
||||||
|
- vector<QListViewItem *> new_selected;
|
||||||
|
+ vector<Q3ListViewItem *> new_selected;
|
||||||
|
set_difference(current_selection.begin(), current_selection.end(),
|
||||||
|
selected_events.begin(), selected_events.end(),
|
||||||
|
back_inserter(new_selected));
|
||||||
|
@@ -558,7 +574,7 @@ void oprof_start::event_selected()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-void oprof_start::event_over(QListViewItem * item)
|
||||||
|
+void oprof_start::event_over(Q3ListViewItem * item)
|
||||||
|
{
|
||||||
|
op_event_descr const & descr = locate_event(item->text(0).latin1());
|
||||||
|
|
||||||
|
@@ -566,10 +582,10 @@ void oprof_start::event_over(QListViewIt
|
||||||
|
if (!is_selectable_event(item)) {
|
||||||
|
help_str += " conflicts with:";
|
||||||
|
|
||||||
|
- set<QListViewItem *>::const_iterator it;
|
||||||
|
+ set<Q3ListViewItem *>::const_iterator it;
|
||||||
|
for (it = selected_events.begin();
|
||||||
|
it != selected_events.end(); ) {
|
||||||
|
- QListViewItem * temp = *it;
|
||||||
|
+ Q3ListViewItem * temp = *it;
|
||||||
|
selected_events.erase(it++);
|
||||||
|
if (is_selectable_event(item)) {
|
||||||
|
help_str += " ";
|
||||||
|
@@ -844,7 +860,7 @@ void oprof_start::on_start_profiler()
|
||||||
|
|
||||||
|
bool one_enable = false;
|
||||||
|
|
||||||
|
- QListViewItem * cur;
|
||||||
|
+ Q3ListViewItem * cur;
|
||||||
|
for (cur = events_list->firstChild(); cur; cur = cur->nextSibling()) {
|
||||||
|
if (!cur->isSelected())
|
||||||
|
continue;
|
||||||
|
@@ -946,7 +962,7 @@ bool oprof_start::save_config()
|
||||||
|
vector<string> tmpargs;
|
||||||
|
tmpargs.push_back("--setup");
|
||||||
|
|
||||||
|
- QListViewItem * cur;
|
||||||
|
+ Q3ListViewItem * cur;
|
||||||
|
for (cur = events_list->firstChild(); cur; cur = cur->nextSibling()) {
|
||||||
|
if (!cur->isSelected())
|
||||||
|
continue;
|
||||||
|
--- a/gui/oprof_start.h
|
||||||
|
+++ b/gui/oprof_start.h
|
||||||
|
@@ -16,11 +16,17 @@
|
||||||
|
#include <map>
|
||||||
|
#include <set>
|
||||||
|
|
||||||
|
+#include "config.h"
|
||||||
|
+
|
||||||
|
#include "ui/oprof_start.base.h"
|
||||||
|
#include "oprof_start_config.h"
|
||||||
|
|
||||||
|
#include "op_events.h"
|
||||||
|
|
||||||
|
+#ifndef QT3_SUPPORT
|
||||||
|
+#define Q3ListViewItem QListViewItem
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
class QIntValidator;
|
||||||
|
class QListViewItem;
|
||||||
|
class QTimerEvent;
|
||||||
|
@@ -62,7 +68,7 @@ protected slots:
|
||||||
|
/// events selection change
|
||||||
|
void event_selected();
|
||||||
|
/// the mouse is over an event
|
||||||
|
- void event_over(QListViewItem *);
|
||||||
|
+ void event_over(Q3ListViewItem *);
|
||||||
|
/// state of separate_kernel_cb changed
|
||||||
|
void on_separate_kernel_cb_changed(int);
|
||||||
|
/// reset sample files
|
||||||
|
@@ -121,7 +127,7 @@ private:
|
||||||
|
void draw_event_list();
|
||||||
|
|
||||||
|
/// return true if item is selectable or already selected
|
||||||
|
- bool is_selectable_event(QListViewItem * item);
|
||||||
|
+ bool is_selectable_event(Q3ListViewItem * item);
|
||||||
|
|
||||||
|
/// try to alloc counters for the selected_events
|
||||||
|
bool alloc_selected_events() const;
|
||||||
|
@@ -139,8 +145,8 @@ private:
|
||||||
|
/// The currently selected events. We must track this because
|
||||||
|
/// with multiple selection listbox QT doesn't allow to know
|
||||||
|
/// what is the last selected item. events_selected() update it
|
||||||
|
- std::set<QListViewItem *> selected_events;
|
||||||
|
- QListViewItem * current_event;
|
||||||
|
+ std::set<Q3ListViewItem *> selected_events;
|
||||||
|
+ Q3ListViewItem * current_event;
|
||||||
|
|
||||||
|
/// current config
|
||||||
|
config_setting config;
|
||||||
|
--- a/gui/ui/Makefile.am
|
||||||
|
+++ b/gui/ui/Makefile.am
|
||||||
|
@@ -2,7 +2,7 @@ EXTRA_DIST = oprof_start.base.ui
|
||||||
|
|
||||||
|
if have_qt
|
||||||
|
|
||||||
|
-AM_CPPFLAGS = @QT_INCLUDES@
|
||||||
|
+AM_CPPFLAGS = @QT_CFLAGS@
|
||||||
|
|
||||||
|
AM_CXXFLAGS = @OP_CXXFLAGS@
|
||||||
|
|
@ -1,3 +1,19 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 28 18:33:19 UTC 2011 - tonyj@novell.com
|
||||||
|
|
||||||
|
- Add support for building using qt4 (no bnc)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 28 18:14:54 UTC 2011 - tonyj@novell.com
|
||||||
|
|
||||||
|
- Add README-BEFORE-ADDING-PATCHES local file documenting required patch
|
||||||
|
header
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 29 15:10:22 UTC 2010 - coolo@novell.com
|
||||||
|
|
||||||
|
- fix baselibs.conf
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Jun 24 21:17:12 UTC 2010 - tonyj@novell.com
|
Thu Jun 24 21:17:12 UTC 2010 - tonyj@novell.com
|
||||||
|
|
||||||
|
@ -18,14 +18,14 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: oprofile
|
Name: oprofile
|
||||||
BuildRequires: binutils-devel fdupes java2-devel-packages libxslt popt-devel qt3-devel update-desktop-files
|
BuildRequires: binutils-devel fdupes java2-devel-packages libxslt popt-devel qt-devel update-desktop-files
|
||||||
Url: http://oprofile.sourceforge.net/
|
Url: http://oprofile.sourceforge.net/
|
||||||
License: GPLv2+ ; LGPLv2.1+
|
License: GPLv2+ ; LGPLv2.1+
|
||||||
Group: Development/Tools/Other
|
Group: Development/Tools/Other
|
||||||
AutoReqProv: on
|
AutoReqProv: on
|
||||||
PreReq: /usr/sbin/groupadd /usr/sbin/useradd
|
PreReq: /usr/sbin/groupadd /usr/sbin/useradd
|
||||||
Version: 0.9.6
|
Version: 0.9.6
|
||||||
Release: 2
|
Release: 3
|
||||||
Summary: System-Wide Profiler for Linux Systems
|
Summary: System-Wide Profiler for Linux Systems
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
Source: %{name}-%{version}.tar.bz2
|
Source: %{name}-%{version}.tar.bz2
|
||||||
@ -33,8 +33,10 @@ Source1: %{name}.desktop
|
|||||||
Source2: %{name}.rpmlintrc
|
Source2: %{name}.rpmlintrc
|
||||||
Source3: baselibs.conf
|
Source3: baselibs.conf
|
||||||
Source4: jvmpi.h
|
Source4: jvmpi.h
|
||||||
|
Source5: README-BEFORE-ADDING-PATCHES
|
||||||
Patch1: oprofile-0.9.5-buildfixes.diff
|
Patch1: oprofile-0.9.5-buildfixes.diff
|
||||||
Patch2: oprofile-0.9.4-fixes.diff
|
Patch2: oprofile-0.9.4-fixes.diff
|
||||||
|
Patch3: oprofile-qt4.diff
|
||||||
|
|
||||||
%description
|
%description
|
||||||
OProfile is a system-wide profiler for Linux systems, capable of
|
OProfile is a system-wide profiler for Linux systems, capable of
|
||||||
@ -57,15 +59,6 @@ warranty.
|
|||||||
|
|
||||||
This is the package containing the userspace tools.
|
This is the package containing the userspace tools.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Authors:
|
|
||||||
--------
|
|
||||||
John Levon <moz@compsoc.man.ac.uk>
|
|
||||||
Philippe Elie <phil_e@clubinternet.fr>
|
|
||||||
Dave Jones <davej@suse.de>
|
|
||||||
Bob Montgomery <bobm@fc.hp.com>
|
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: System-Wide Profiler for Linux Systems
|
Summary: System-Wide Profiler for Linux Systems
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
@ -81,15 +74,6 @@ the GNU GPL.
|
|||||||
This package contains the files needed to develop JIT agents for other
|
This package contains the files needed to develop JIT agents for other
|
||||||
virtual machines.
|
virtual machines.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Authors:
|
|
||||||
--------
|
|
||||||
John Levon <moz@compsoc.man.ac.uk>
|
|
||||||
Philippe Elie <phil_e@clubinternet.fr>
|
|
||||||
Dave Jones <davej@suse.de>
|
|
||||||
Bob Montgomery <bobm@fc.hp.com>
|
|
||||||
|
|
||||||
%package -n libopagent1
|
%package -n libopagent1
|
||||||
Summary: System-Wide Profiler for Linux Systems
|
Summary: System-Wide Profiler for Linux Systems
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
@ -104,19 +88,11 @@ the GNU GPL.
|
|||||||
This package contains the library needed at runtime when profiling JITed code
|
This package contains the library needed at runtime when profiling JITed code
|
||||||
from supported virtual machines.
|
from supported virtual machines.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Authors:
|
|
||||||
--------
|
|
||||||
John Levon <moz@compsoc.man.ac.uk>
|
|
||||||
Philippe Elie <phil_e@clubinternet.fr>
|
|
||||||
Dave Jones <davej@suse.de>
|
|
||||||
Bob Montgomery <bobm@fc.hp.com>
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch1
|
%patch1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
mkdir -p java/include
|
mkdir -p java/include
|
||||||
# copy files necessary to build Java agent libraries
|
# copy files necessary to build Java agent libraries
|
||||||
# libjvmpi_oprofile.so and libjvmti_oprofile.so
|
# libjvmpi_oprofile.so and libjvmti_oprofile.so
|
||||||
@ -129,7 +105,7 @@ autoreconf -fi
|
|||||||
./configure CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" \
|
./configure CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" \
|
||||||
--prefix=/usr --mandir=%{_mandir} --libdir=%{_libdir} \
|
--prefix=/usr --mandir=%{_mandir} --libdir=%{_libdir} \
|
||||||
--with-kernel-support --with-java=$PWD/java \
|
--with-kernel-support --with-java=$PWD/java \
|
||||||
--with-qt-libraries=%_libdir/qt3/%_lib
|
--enable-gui=qt4
|
||||||
make %{?jobs:-j%jobs}
|
make %{?jobs:-j%jobs}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
|
Loading…
Reference in New Issue
Block a user