Compare commits

..

No commits in common. "rawhide" and "f17" have entirely different histories.

4 changed files with 179 additions and 3 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/undertaker-1.2.tar.gz

View file

@ -1,3 +0,0 @@
2016-05-19: Retired orphaned package, because it was orphaned for
more than six weeks.

1
sources Normal file
View file

@ -0,0 +1 @@
455613fb59573a12d5b30abcd87d474b undertaker-1.2.tar.gz

177
undertaker.spec Normal file
View file

@ -0,0 +1,177 @@
Name: undertaker
Version: 1.2
Release: 5%{?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
BuildRequires: ncurses-devel
BuildRequires: picosat-devel
BuildRequires: python2-devel
BuildRequires: xemacs
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
# Fix a python dependency
sed 's|env python|python|' undertaker/undertaker-calc-coverage > foo
chmod a+x foo
touch -r undertaker/undertaker-calc-coverage foo
mv -f foo undertaker/undertaker-calc-coverage
# 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}" \
HOSTLDFLAGS="${RPM_LD_FLAGS} -Wl,--as-needed"
%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 Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-5
- Rebuilt for c++ ABI breakage
* Tue Jan 10 2012 Jerry James <loganjerry@gmail.com> - 1.2-4
- Rebuild to fix python dependencies
- Drop unnecessary BRs
- Ensure correct LDFLAGS
* Mon Jan 6 2012 Jerry James <loganjerry@gmail.com> - 1.2-3
- Rebuild for GCC 4.7
* Sun Nov 20 2011 Jerry James <loganjerry@gmail.com> - 1.2-2
- Rebuild for new boost
* Tue Sep 20 2011 Jerry James <loganjerry@gmail.com> - 1.2-1
- Initial RPM