[frysk] Add frysk-0.4-configure-enable-gnome.patch as no vte/java bindings. Use installed antlr, frysk-0.4-b
cagney
cagney at fedoraproject.org
Sat Feb 11 17:09:14 UTC 2012
commit 98dfc69ea80ed8316dcbebe3c0f661bc16d02d94
Author: Andrew Cagney <cagney at fedora.lan>
Date: Sat Feb 11 12:08:54 2012 -0500
Add frysk-0.4-configure-enable-gnome.patch as no vte/java bindings.
Use installed antlr, frysk-0.4-bin-antlr.patch
Fix scope warning from latest c++, frysk-04-cxx-scope.patch
Makefile | 106 +++++++++++++++++-----
frysk-0.4-bin-antlr.patch | 14 +++
frysk-0.4-configure-enable-gnome.patch | 153 ++++++++++++++++++++++++++++++++
frysk-0.4-cxx-scope.patch | 12 +++
frysk.spec | 69 ++++++++++++---
5 files changed, 317 insertions(+), 37 deletions(-)
---
diff --git a/Makefile b/Makefile
index 37d4c26..f47ec5e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,37 +1,97 @@
# Make mock usable. The only standard target is mockbuild which
# doesn't do what you typically want.
-SRPM := $(PWD)/$(shell fedpkg verrel).src.rpm
-RESULTDIR := $(PWD)/$(shell fedpkg verrel)
+#MOCKCFG = fedora-devel-x86_64
MOCKCFG = fedora-devel-i386
+# Order that dependent libraries need to be built and installed.
+
+comma := ,
+empty :=
+space := $(empty) $(empty)
+
+ORDER = \
+ glib-java \
+ cairo-java \
+ libgtk-java \
+ libgconf-java \
+ libvte-java libgnome-java \
+ libglade-java \
+ frysk
+
+MOCK_WORDS := $(subst -, , $(MOCKCFG))
+MOCK_OS := $(word 1,$(MOCK_WORDS))
+MOCK_RELEASE := $(word 2,$(MOCK_WORDS))
+MOCK_ARCH := $(word 3,$(MOCK_WORDS))
+MOCK_RESULTS := results.$(MOCKCFG)
+
+ARCH := $(if $(findstring i386,$(MOCK_ARCH)),i686,$(MOCK_ARCH))
+
+# --offline?
+NO_CLEAN := --no-clean --no-cleanup-after
+MOCK := mock $(MOCKARGS) -r $(MOCKCFG) --resultdir=$(MOCK_RESULTS)
+
+SOURCES := *.spec *.patch
+
+SPEC_FILE = $(shell fedpkg gimmespec)
+# VERREL is very slow
+VERREL = $(shell fedpkg verrel)
+RPM = $(VERREL).$(ARCH).rpm
+
help:
@echo "Mock targets"
- @echo " mock-local mock-build: Build from scratch using mock; keep the results"
- @echo " mock-shell: Start a chrooted shell in the build-chroot"
- @echo " mock-init: Initialize a new clean build-chroot"
- @echo " mock-clean: Purge the build-chroot"
- @echo " mock-update: Run yum update in the build-chroot"
- @echo " mock-orphanskill: Kill any stray processes from the build"
- @echo " mock-install PACKAGE=rpm: Install PACKAGE"
- @echo " mock-installdeps PACKAGE=rpm: Install dependencies for PACKAGE"
+ @echo ""
+ @echo " init: Initialize the $(MOCKCFG) chroot (if needed)"
+ @echo " local|build: Build, logs in $(MOCK_RESULTS)"
+ @echo " shell: Start a shell in the chroot"
+ @echo " deploy: Build/Deploy $(ARCH) package"
+ @echo ""
+ @echo " clean: Purge the $(ARCH) chroot tree"
+ @echo " scrub: Completely remove Purge the chroot tree"
+ @echo ""
+ @echo " update: Run yum update in the chroot"
+ @echo " orphanskill: Kill any stray processes from the build"
+ @echo " installdeps: Install dependencies for this package"
+ @echo ""
@echo "Use MOCKARGS= for extra arguments"
.PHONY:: help
-# -prep -compile -install -compile-short -install-short
-local build: srpm
- mock --no-clean --no-cleanup-after $(MOCKARGS) -r $(MOCKCFG) --resultdir=$(RESULTDIR) --rebuild $(SRPM)
+init:
+ $(MOCK) -q --chroot pwd \
+ || $(MOCK) --init
+.PHONY:: init
+
+local build $(MOCK_RESULTS)/$(RPM): init $(SOURCES)
+ rm -f $(MOCK_RESULTS)/*.src.rpm
+ $(MOCK) $(NO_CLEAN) --buildsrpm --spec $(SPEC_FILE) --source $(PWD)
+ $(MOCK) $(NO_CLEAN) --rebuild $(MOCK_RESULTS)/*.src.rpm
.PHONY:: local build
-init clean shell update orphanskill:
- mock $(MOCKARGS) -r $(MOCKCFG) --resultdir=$(RESULTDIR) --$@
-.PHONY:: init clean shell update orphanskill
+# rpmspec -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}\n' $(SPEC_FILE)
+deploy: $(MOCK_RESULTS)/$(RPM)
+ $(MOCK) -q --chroot 'rm -f /tmp/*.rpm'
+ for rpm in $(MOCK_RESULTS)/*.rpm ; do \
+ case $$rpm in \
+ *.src.rpm | *-debuginfo-* ) ;; \
+ * ) $(MOCK) -q --copyin $$rpm /tmp ;; \
+ esac ; \
+ done
+ $(MOCK) -q --chroot "rpm -Uvh --force /tmp/*.rpm"
+.PHONY:: deploy
+
+world gnome:
+ set -e ; \
+ for d in $(ORDER) ; do \
+ pushd ../$$d ; \
+ $(MAKE) -f $(PWD)/Makefile deploy ; \
+ popd ; \
+ done
+.PHONY:: world
-install installdeps:
- if test x"$(PACKAGE)" = x ; then echo Supply PACKAGE ; exit 1 ; fi
- mock $(MOCKARGS) -r $(MOCKCFG) --resultdir=$(RESULTDIR) --$@ $(PACKAGE)
-.PHONY:: install installdeps
+usable: init
+ $(MOCK) install vi less emacs
+.PHONY:: usable
-srpm:
- fedpkg srpm
-.PHONY:: srpm
+clean shell install update remove orphanskill scrub copyin copyout:
+ $(MOCK) --$@ $(ARGS) $(PACKAGE)
+.PHONY:: clean shell install update remove orphanskill scrub copyin copyout
diff --git a/frysk-0.4-bin-antlr.patch b/frysk-0.4-bin-antlr.patch
new file mode 100644
index 0000000..de00f18
--- /dev/null
+++ b/frysk-0.4-bin-antlr.patch
@@ -0,0 +1,14 @@
+diff -up frysk-0.4/frysk-common/Makefile.rules.bin-antlr frysk-0.4/frysk-common/Makefile.rules
+--- frysk-0.4/frysk-common/Makefile.rules.bin-antlr 2012-01-23 20:47:12.479000002 -0500
++++ frysk-0.4/frysk-common/Makefile.rules 2012-01-23 20:48:29.693998397 -0500
+@@ -567,9 +567,7 @@ endif
+ # running the generated files through the compiler and then "fix" the
+ # warnings. Reuse the tmp directory for successive runs on related .g files.
+
+-ANTLR = $(JAVA) \
+- -classpath @abs_builddir@/../frysk-imports/antlr.jar \
+- antlr.Tool
++ANTLR = antlr
+
+ SUFFIXES += .antlred .g
+ .g.antlred:
diff --git a/frysk-0.4-configure-enable-gnome.patch b/frysk-0.4-configure-enable-gnome.patch
new file mode 100644
index 0000000..3f948e5
--- /dev/null
+++ b/frysk-0.4-configure-enable-gnome.patch
@@ -0,0 +1,153 @@
+commit 3fbf17b6271ca389cd4de1e33d6ec33708261228
+Author: Andrew Cagney <cagney at sourceware.org>
+Date: Sat Jul 17 13:06:46 2010 -0400
+
+ Add --enable-gnome; make gnome interface optional.
+
+ 2010-07-17 Andrew Cagney <cagney at gnu.org>
+
+ * configure.ac: Add --enable-gnome option; only check for
+ java-gnome when enabled.
+
+ * Makefile.am (manpages manpages/index.html): Only include
+ frysk-gui when ENABLE_GNOME.
+
+diff --git a/frysk-top/ChangeLog b/frysk-top/ChangeLog
+index 00498f2..0c72180 100644
+--- a/frysk-top/ChangeLog
++++ b/frysk-top/ChangeLog
+@@ -1,3 +1,11 @@
++2010-07-17 Andrew Cagney <cagney at gnu.org>
++
++ * configure.ac: Add --enable-gnome option; only check for
++ java-gnome when enabled.
++
++ * Makefile.am (manpages manpages/index.html): Only include
++ frysk-gui when ENABLE_GNOME.
++
+ 2008-06-06 Rick Moseley <rmoseley at redhat.com>
+
+ * NEWS: Add bz #'s; add item on hover-over variable.
+diff --git a/frysk-top/Makefile.am b/frysk-top/Makefile.am
+index d852fba..49444fb 100644
+--- a/frysk-top/Makefile.am
++++ b/frysk-top/Makefile.am
+@@ -41,30 +41,35 @@
+ include common/Makefile.rules
+
+
+-SUBDIRS = \
+- frysk-imports \
+- frysk-sys \
+- frysk-core \
+- frysk-gtk \
+- frysk-gui
++SUBDIRS =
++SUBDIRS += frysk-imports
++SUBDIRS += frysk-sys
++SUBDIRS += frysk-core
++if ENABLE_GNOME
++SUBDIRS += frysk-gtk
++SUBDIRS += frysk-gui
++endif
+
+ # Note the dir/. is needed, causes the file copy to put the contents
+ # into the top level directory.
+
+-SOURCEDIRS = \
+- $(patsubst %,$(srcdir)/%/frysk,$(SUBDIRS)) \
+- $(patsubst %,$(top_builddir)/%/frysk,$(SUBDIRS)) \
+- $(srcdir)/frysk-sys/lib \
+- $(top_builddir)/frysk-sys/lib \
+- $(srcdir)/frysk-sys/inua \
+- $(top_builddir)/frysk-sys/inua \
+- $(srcdir)/frysk-imports/getopt/src/getopt/gnu \
+- $(srcdir)/frysk-imports/jline/src/jline \
+- $(srcdir)/frysk-imports/junit/src/junit \
+- $(srcdir)/frysk-core/frysk/pkglibdir/. \
+- $(srcdir)/frysk-core/frysk/bindir/. \
+- $(srcdir)/frysk-gui/frysk/bindir/. \
+- $(empty)
++SOURCEDIRS =
++SOURCEDIRS += $(patsubst %,$(srcdir)/%/frysk,$(SUBDIRS))
++SOURCEDIRS += $(patsubst %,$(top_builddir)/%/frysk,$(SUBDIRS))
++SOURCEDIRS += $(srcdir)/frysk-sys/lib
++SOURCEDIRS += $(top_builddir)/frysk-sys/lib
++SOURCEDIRS += $(srcdir)/frysk-sys/inua
++SOURCEDIRS += $(top_builddir)/frysk-sys/inua
++SOURCEDIRS += $(srcdir)/frysk-imports/getopt/src/getopt/gnu
++SOURCEDIRS += $(srcdir)/frysk-imports/jline/src/jline
++SOURCEDIRS += $(srcdir)/frysk-imports/junit/src/junit
++SOURCEDIRS += $(srcdir)/frysk-core/frysk/pkglibdir/.
++SOURCEDIRS += $(srcdir)/frysk-core/frysk/bindir/.
++SOURCEDIRS += $(srcdir)/frysk-gui/frysk/bindir/.
++
++if ENABLE_GNOME
++SOURCEDIRS += $(srcdir)/frysk-gui/frysk/bindir/.
++endif
+
+
+ # Generate html manpages. Use same xml sources, but generate html.
+@@ -78,6 +83,7 @@ TEMPLATE = $(srcdir)/htdocs/template.html
+ manpages manpages/index.html:
+ rm -rf manpages
+ mkdir -p manpages
++if ENABLE_GNOME
+ XMLTO=$(XMLTO) \
+ sh $(srcdir)/frysk-common/manpages.sh \
+ $(TEMPLATE) \
+@@ -89,6 +95,17 @@ manpages manpages/index.html:
+ frysk-gui/frysk/bindir/*.xml \
+ -"Test framework" \
+ */frysk/pkglibdir/*.xml
++else
++ XMLTO=$(XMLTO) \
++ sh $(srcdir)/frysk-common/manpages.sh \
++ $(TEMPLATE) \
++ -"Overview" \
++ frysk-common/frysk.xml \
++ -"Command Line Utilities" \
++ frysk-core/frysk/bindir/*.xml \
++ -"Test framework" \
++ */frysk/pkglibdir/*.xml
++endif
+ mv manpages/index.new manpages/index.html
+
+ # Generate JAVADOC documentation.
+diff --git a/frysk-top/configure.ac b/frysk-top/configure.ac
+index 6e1d234..bf122ce 100644
+--- a/frysk-top/configure.ac
++++ b/frysk-top/configure.ac
+@@ -43,11 +43,24 @@ sinclude(common/version.ac)
+ AC_INIT(frysk,defn([FRYSK_VERSION]))
+ m4_include([common/frysk-common.ac])
+
++AC_ARG_ENABLE(gnome,
++AC_HELP_STRING(
++ [--enable-gnome],
++ [enable gnome user interface (default no)]),
++[enable_gnome=$enableval],
++[enable_gnome=no])
++AM_CONDITIONAL([ENABLE_GNOME], [test x$enable_gnome = xyes])
++
+ AM_INIT_AUTOMAKE([subdir-objects foreign no-installinfo no-exeext no-dist])
+ AC_CONFIG_FILES([Makefile])
+-AC_CONFIG_SUBDIRS([frysk-imports frysk-sys frysk-core frysk-gtk frysk-gui])
++
++AC_CONFIG_SUBDIRS([frysk-imports frysk-sys frysk-core])
++if test x$enable_gnome = xyes; then
++ AC_CONFIG_SUBDIRS([frysk-gtk frysk-gui])
++fi
+
+ # Need to call PKG_CHECK_MODULES to get PKG_CONFIG set; used by javadoc.
++if test x$enable_gnome = xyes ; then
+ PKG_CHECK_MODULES(FRYSK_GNOME, [gtk+-2.0 >= 2.7.0 gtk2-java >= 2.7.0
+ glade-java >= 2.7.0 glib-java >= 0.2 cairo-java >= 1.0 vte-java >=
+ 0.11.11 pango >= 1.10.0 pangox >= 1.10.0 pangoft2 >= 1.10.0])
+@@ -55,5 +68,6 @@ FRYSK_PKG_MODULE_VARIABLE(FRYSK_GNOME_JARS, classpath, [gtk+-2.0 >= 2.7.0
+ gtk2-java >= 2.7.0 glade-java >= 2.7.0 glib-java >= 0.2
+ cairo-java >= 1.0 vte-java
+ >= 0.11.11 pango >= 1.10.0 pangox >= 1.10.0 pangoft2 >= 1.10.0])
++fi
+
+ AC_OUTPUT
diff --git a/frysk-0.4-cxx-scope.patch b/frysk-0.4-cxx-scope.patch
new file mode 100644
index 0000000..3ec1f8c
--- /dev/null
+++ b/frysk-0.4-cxx-scope.patch
@@ -0,0 +1,12 @@
+diff -up frysk-0.4/frysk-sys/jnixx/elements.hxx.cxx-scope frysk-0.4/frysk-sys/jnixx/elements.hxx
+--- frysk-0.4/frysk-sys/jnixx/elements.hxx.cxx-scope 2012-01-22 21:21:58.336000647 -0500
++++ frysk-0.4/frysk-sys/jnixx/elements.hxx 2012-01-22 21:22:13.119000651 -0500
+@@ -207,7 +207,7 @@ private:
+ char file[FILENAME_MAX];
+ public:
+ void operator=(const FileElements& src) {
+- copy(src);
++ this->copy(src);
+ ::strcpy(this->file, src.file);
+ // Don't copy the pointer.
+ }
diff --git a/frysk.spec b/frysk.spec
index 01268b3..760e665 100644
--- a/frysk.spec
+++ b/frysk.spec
@@ -1,7 +1,10 @@
Summary: Execution analysis and debugging tool-suite.
Name: frysk
Version: 0.4
-Release: 33%{?dist}
+Release: 34%{?dist}
+
+# Fedora 17+ doesn't have libvte et.al.
+%define enable_gnome %{fedora}0 < 170
# antlrv2 is Public Domain; antlrv3 is BSD.
# getopt is GPLv2 with exception
@@ -38,8 +41,11 @@ Patch15: frysk-0.4-skipdecl.patch
Patch16: frysk-0.4-flushstat.patch
Patch17: frysk-0.4-ftrace.patch
Patch18: frysk-0.4-usererrno.patch
+Patch19: frysk-0.4-configure-enable-gnome.patch
+Patch20: frysk-0.4-bin-antlr.patch
Patch100: frysk-0.4-aclocaljavac.patch
+Patch101: frysk-0.4-cxx-scope.patch
# Do not push these upstream
Patch1003: frysk-0.4-nogtkwerror.patch
@@ -61,21 +67,12 @@ BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
BuildRequires: gcc-java >= 4.1.2
BuildRequires: junit >= 3.8.1
+BuildRequires: jre >= 1.7.0
BuildRequires: antlr >= 2.7.4
BuildRequires: jdom >= 1.0
-BuildRequires: glib-java >= 0.2.6
-BuildRequires: libgtk-java-devel >= 2.8.7-6
-BuildRequires: libglade-java-devel >= 2.12.3
-BuildRequires: cairo-java-devel >= 1.0.3
-BuildRequires: cairo-devel >= 1.0.0
-BuildRequires: gtk2-devel >= 2.8.0
-BuildRequires: libglade2-devel >= 2.5.1
-BuildRequires: libvte-java-devel >= 0.12.0
-BuildRequires: vte-devel >= 0.12.1
BuildRequires: xmlto
BuildRequires: sharutils
BuildRequires: transfig >= 3.2.0
-BuildRequires: gnome-python2-gconf
BuildRequires: audit-libs-devel
BuildRequires: autoconf automake libtool
BuildRequires: bison >= 1.875
@@ -85,10 +82,26 @@ BuildRequires: bzip2-devel
BuildRequires: xz-devel
# Some generation scripts are being written in python
BuildRequires: python
+
+# Fedora 15+'s elfutils is usable.
%if %{fedora}0 >= 150
BuildRequires: elfutils-devel >= 0.151
%endif
+%if %{enable_gnome}
+BuildRequires: glib-java >= 0.2.6
+BuildRequires: cairo-java-devel >= 1.0.3
+BuildRequires: cairo-devel >= 1.0.0
+BuildRequires: gtk2-devel >= 2.8.0
+BuildRequires: libgtk-java-devel >= 2.8.7-6
+BuildRequires: libvte-java-devel >= 0.12.0
+BuildRequires: libglade-java-devel >= 2.12.3
+BuildRequires: libglade2-devel >= 2.5.1
+BuildRequires: vte-devel >= 0.12.1
+BuildRequires: gnome-python2-gconf
+%endif
+
+
# Bug #305611: PPC Build problems with libunwind
# Bug #416961: ALPHA not supported by frysk and libunwind.
# Bug #467970: SPARC/SPARC64 not supported by frysk and libunwind.
@@ -116,10 +129,12 @@ system.
Summary: The development part of Frysk
Group: Development/System
Requires: %{name} = %{version}-%{release}
+%if %{enable_gnome}
Requires: dogtail >= 0.5.2
# Needed by "dogtail-run-headless -n":
Requires: metacity
Requires: python
+%endif
%description devel
Frysk is an execution-analysis technology implemented using native
@@ -132,6 +147,7 @@ system.
This package contains the development components of Frysk.
+%if %{enable_gnome}
%package gnome
Summary: The GNOME front-end of Frysk
Requires: %{name} = %{version}-%{release}
@@ -150,6 +166,7 @@ expose deadlocks, gather data and debug any given process in the
system.
This package contains the GNOME front end for Frysk.
+%endif
%prep
@@ -178,11 +195,19 @@ mv frysk-core/frysk/util/ProcStopUtil.java frysk-core/frysk/util/TaskStopUtil.ja
%patch16 -p1 -z .flushstat
%patch17 -p1 -z .ftrace
%patch18 -p1 -z .usererrno
+%patch19 -p1 -z .configure-enable-gnome
+%patch20 -p1 -z .bin-antlr
%if %{fedora}0 >= 130
%patch100 -p1 -z .aclocaljavac
%endif
+%if %{enable_gnome}
+# don't apply - leaves default as build gnome
+%else
+%patch101 -p1 -z .configure-enable-gnome
+%endif
+
%patch1003 -p1 -z .nogtkwerror
%if %{fedora}0 >= 150
@@ -243,6 +268,7 @@ pwd
cd build
make DESTDIR=$RPM_BUILD_ROOT install %{?_smp_mflags}
+%if %{enable_gnome}
# Fix timestamp of a generated script:
touch -r \
../frysk-gui/frysk/gui/FryskGui.java-in \
@@ -253,6 +279,7 @@ for f in test2866.py test2985.py test3380.py; do
../frysk-gui/frysk/gui/test/dogtail_scripts/$f \
$RPM_BUILD_ROOT%{_datadir}/%{name}/dogtail_scripts/$f
done
+%endif
# Workaround for #211824:
rm $RPM_BUILD_ROOT%{_datadir}/java/*.jar
@@ -263,7 +290,9 @@ rm $RPM_BUILD_ROOT%{_datadir}/%{name}/ChangeLog
rm $RPM_BUILD_ROOT%{_datadir}/%{name}/test-exe-x86.c.source
# We are not yet ready to be in the menu:
+%if %{enable_gnome}
echo "Hidden=true" >> $RPM_BUILD_ROOT%{_datadir}/applications/frysk.desktop
+%endif
# Remove duplicates; causes tools to complain.
rm $RPM_BUILD_ROOT%{_libdir}/%{name}/funit-exec-alias
@@ -305,7 +334,6 @@ rm -rf %{buildroot}
%{_libdir}/libfrysk-jline.so
%dir %{_datadir}/%{name}
-%{_datadir}/%{name}/messages.properties
%{_datadir}/%{name}/test-core-x86
%{_datadir}/%{name}/test-core-x8664
%{_datadir}/%{name}/test-exe-x86
@@ -335,7 +363,6 @@ rm -rf %{buildroot}
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/FunitSimpleInterfaceMain
%{_libdir}/%{name}/fsystest
-%{_libdir}/%{name}/ftail
%{_libdir}/%{name}/funit*
%{_libdir}/%{name}/hpd-c
%{_libdir}/%{name}/sys-tests
@@ -343,9 +370,15 @@ rm -rf %{buildroot}
%{_libdir}/%{name}/test1
%{_datadir}/%{name}/helloworld.o
%{_datadir}/%{name}/test_looper.xml
-%{_datadir}/%{name}/dogtail_scripts
+
%{_mandir}/man8/*
+%if %{enable_gnome}
+%{_libdir}/%{name}/ftail
+%{_datadir}/%{name}/dogtail_scripts
+%endif
+
+%if %{enable_gnome}
%files gnome
%defattr(-,root,root)
@@ -361,6 +394,7 @@ rm -rf %{buildroot}
%{_datadir}/%{name}/glade
%{_datadir}/%{name}/images
+%{_datadir}/%{name}/messages.properties
%{_datadir}/applications/frysk.desktop
%{_datadir}/pixmaps/fryskTrayIcon48.png
@@ -369,7 +403,14 @@ rm -rf %{buildroot}
%{_mandir}/man1/frysk.1.gz
+%endif
+
%changelog
+* Sat Jan 21 2012 Andrew Cagney <cagney at fedoraproject.org> - 0.4-34
+- Add frysk-0.4-configure-enable-gnome.patch as no vte/java bindings.
+- Use installed antlr - frysk-0.4-bin-antlr.patch
+- Fix scope warning from latest c++ - frysk-04-cxx-scope.patch
+
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.4-33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
More information about the scm-commits
mailing list