[undertaker] Initial import.

Jerry James jjames at fedoraproject.org
Tue Oct 18 03:30:16 UTC 2011


commit 3af91cfea2c5b9117386531e20ab6818552a2ee6
Author: Jerry James <loganjerry at gmail.com>
Date:   Mon Oct 17 21:30:08 2011 -0600

    Initial import.

 .gitignore      |    1 +
 sources         |    1 +
 undertaker.spec |  161 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 163 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..067d0f5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/undertaker-1.2.tar.gz
diff --git a/sources b/sources
index e69de29..4c612f0 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+455613fb59573a12d5b30abcd87d474b  undertaker-1.2.tar.gz
diff --git a/undertaker.spec b/undertaker.spec
new file mode 100644
index 0000000..2af2a2d
--- /dev/null
+++ b/undertaker.spec
@@ -0,0 +1,161 @@
+Name:           undertaker
+Version:        1.2
+Release:        1%{?dist}
+Summary:        Find always-on and always-off conditional C code
+
+Group:          Development/Languages
+License:        GPLv2 and GPLv3+
+URL:            http://vamos.informatik.uni-erlangen.de/trac/undertaker
+Source0:        http://vamos.informatik.uni-erlangen.de/files/%{name}-%{version}.tar.gz
+
+BuildRequires:  boost-devel
+BuildRequires:  emacs-nox
+BuildRequires:  emacs-el
+BuildRequires:  ncurses-devel
+BuildRequires:  picosat-devel
+BuildRequires:  python2-devel
+BuildRequires:  xemacs-devel
+BuildRequires:  xemacs-packages-extra
+
+# Needed for undertaker-calc-coverage
+Requires:       cpp
+Requires:       git
+Requires:       make
+Requires:       sparse
+
+%description
+The undertaker is an implementation of the Vamos project's preprocessor
+and configuration analysis approaches.  It can check the structure of
+preprocessor directives against different configuration models to find
+blocks that can't be selected or deselected. 
+
+%package emacs
+Summary:        Emacs support for %{name}
+Group:          Development/Languages
+Requires:       emacs(bin) >= %{_emacs_version}
+Requires:       %{name} = %{version}-%{release}
+BuildArch:      noarch
+
+%description emacs
+Emacs support for %{name}.
+
+%package emacs-el
+Summary:        Source for Emacs support for %{name}
+Group:          Development/Languages
+Requires:       %{name}-emacs = %{version}-%{release}
+BuildArch:      noarch
+
+%description emacs-el
+Source Elisp code for Emacs support for %{name}.
+
+%package xemacs
+Summary:        XEmacs support for %{name}
+Group:          Development/Languages
+Requires:       xemacs(bin) >= %{_xemacs_version}, xemacs-packages-extra
+Requires:       %{name} = %{version}-%{release}
+BuildArch:      noarch
+
+%description xemacs
+XEmacs support for %{name}.
+
+%package xemacs-el
+Summary:        Source for XEmacs support for %{name}
+Group:          Development/Languages
+Requires:       %{name}-xemacs = %{version}-%{release}
+BuildArch:      noarch
+
+%description xemacs-el
+Source Elisp code for XEmacs support for %{name}.
+
+%prep
+%setup -q -n vamos-%{version}
+
+# Fix up one include path
+sed -i 's|picosat/picosat.h|picosat.h|' undertaker/SatChecker.h
+
+# Fix a python path
+sed -i "s|^PYTHONPATH=.*|PYTHONPATH=\""%{_python_sitelib}"\"|" \
+    rsf2model/undertaker-kconfigdump.in
+
+# Use the right flags when building and linking
+sed -e "s|-Wall -Wextra -O2|$RPM_OPT_FLAGS|" \
+    -e "s|^LDFLAGS =.*|LDFLAGS = $RPM_OPT_FLAGS|" \
+    -i undertaker/Makefile
+sed -e "s|^LDXX=.*|LDXX=g++ \$(CXXFLAGS)|" \
+    -e "s|^DEBUG =.*|DEBUG=|" \
+    -e "s|-Wall -Wextra -O2|$RPM_OPT_FLAGS|" \
+    -i ziz/Makefile
+
+# Fix the Makefile so we don't rebuild everything when installing
+sed -e "s|^all:.*|all: \$(PROGS) \$(TEMPLATED) \$(MANPAGES)|" \
+    -e "s|^install: all.*|install:|" \
+    -e "s|check undertaker-lcov|check install undertaker-lcov|" \
+    -i Makefile
+
+# Remove prebuilt objects
+make clean
+rm -f scripts/basic/docproc scripts/basic/fixdep scripts/basic/hash \
+   scripts/kconfig/dumpconf undertaker/test-ConditionalBlock \
+   undertaker/test-SatChecker undertaker/undertaker ziz/zizler
+
+# Fix end-of-line encodings
+for f in DeadAnalysis ElDocumentation Interactive ModelFiles Preconditions; do
+  sed -i.orig 's/\r//' doc/Undertaker$f
+  touch -r doc/Undertaker$f.orig doc/Undertaker$f
+  rm -f doc/Undertaker$f.orig
+done
+
+%build
+# FIXME: building with %%{?_smp_mflags} sometimes fails
+make PREFIX=%{_prefix} LIBDIR=%{_libdir} \
+  HOSTCFLAGS="${RPM_OPT_FLAGS}" HOSTCXXFLAGS="${RPM_OPT_FLAGS}"
+
+# Relink one binary to eliminate an unused shared library dependency
+gcc $RPM_OPT_FLAGS -o scripts/kconfig/dumpconf scripts/kconfig/dumpconf.o \
+    scripts/kconfig/zconf.tab.o
+
+%install
+make install DESTDIR=$RPM_BUILD_ROOT PREFIX=%{_prefix} LIBDIR=%{_libdir}
+
+# The rsf2model script is installed in two places.  We only need one.
+rm -f $RPM_BUILD_ROOT%{_bindir}/rsf2model
+
+# Copy the Emacs support to the appropriate XEmacs dir and byte compile
+mkdir -p $RPM_BUILD_ROOT%{_xemacs_sitelispdir}
+cp -a $RPM_BUILD_ROOT%{_emacs_sitelispdir}/%{name} \
+   $RPM_BUILD_ROOT%{_xemacs_sitelispdir}
+cd $RPM_BUILD_ROOT%{_xemacs_sitelispdir}/%{name}
+%{_xemacs_bytecompile} *.el
+
+# Byte compile the Emacs support file
+cd $RPM_BUILD_ROOT%{_emacs_sitelispdir}/%{name}
+%{_emacs_bytecompile} *.el
+
+%files
+%doc AUTHORS LICENSE README
+%doc doc/UndertakerDeadAnalysis doc/UndertakerInteractive
+%doc doc/UndertakerModelFiles doc/UndertakerPreconditions
+%{_bindir}/*
+%{_libdir}/undertaker
+%{_mandir}/man1/*
+%{python_sitelib}/undertaker*
+
+%files emacs
+%doc doc/UndertakerElDocumentation
+%dir %{_emacs_sitelispdir}/%{name}
+%{_emacs_sitelispdir}/%{name}/*.elc
+
+%files emacs-el
+%{_emacs_sitelispdir}/%{name}/*.el
+
+%files xemacs
+%doc doc/UndertakerElDocumentation
+%dir %{_xemacs_sitelispdir}/%{name}
+%{_xemacs_sitelispdir}/%{name}/*.elc
+
+%files xemacs-el
+%{_xemacs_sitelispdir}/%{name}/*.el
+
+%changelog
+* Tue Sep 20 2011 Jerry James <loganjerry at gmail.com> - 1.2-1
+- Initial RPM


More information about the scm-commits mailing list