[waf] Update to 1.6.8. Use rpm 4.9.X style provides/requires filtering. Move Python3 version to a subpacka

Thomas Moschny thm at fedoraproject.org
Sun Oct 16 12:50:03 UTC 2011


commit 7f3de811e903e54a0be60ecf1d7fa5604a4e468f
Author: Thomas Moschny <thm at fedoraproject.org>
Date:   Sun Oct 16 14:49:21 2011 +0200

    Update to 1.6.8.
    Use rpm 4.9.X style provides/requires filtering.
    Move Python3 version to a subpackage.
    Move HTML documentation to a subpackage.

 .gitignore             |    1 +
 repack.sh              |    2 +-
 sources                |    2 +-
 waf-1.6.8-syntax.patch |   12 +++++++
 waf.spec               |   81 +++++++++++++++++++++++++++++++++++++++++------
 5 files changed, 85 insertions(+), 13 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 9c30c9e..13e2821 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@ waf-1.5.18.stripped.tar.bz2
 /waf-1.6.3.stripped.tar.bz2
 /waf-1.6.4.stripped.tar.bz2
 /waf-1.6.6.stripped.tar.bz2
+/waf-1.6.8.stripped.tar.bz2
diff --git a/repack.sh b/repack.sh
index 9d60179..694119a 100755
--- a/repack.sh
+++ b/repack.sh
@@ -1,6 +1,6 @@
 #! /bin/bash
 
-version=1.6.6
+version=1.6.8
 
 src=waf-${version}.tar.bz2
 dst=${src%.tar.bz2}.stripped.tar.bz2
diff --git a/sources b/sources
index 959f892..b68777c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-70d0e550f91880c0f5ce72147c3688f3  waf-1.6.6.stripped.tar.bz2
+a27fd4c936a2dc608ff203da9cce0742  waf-1.6.8.stripped.tar.bz2
diff --git a/waf-1.6.8-syntax.patch b/waf-1.6.8-syntax.patch
new file mode 100644
index 0000000..bde20e4
--- /dev/null
+++ b/waf-1.6.8-syntax.patch
@@ -0,0 +1,12 @@
+diff -up waf-1.6.8/waflib/extras/qnxnto.py.orig waf-1.6.8/waflib/extras/qnxnto.py
+--- waf-1.6.8/waflib/extras/qnxnto.py.orig	2011-10-01 19:06:38.000000000 +0200
++++ waf-1.6.8/waflib/extras/qnxnto.py	2011-10-03 12:29:27.970114038 +0200
+@@ -34,7 +34,7 @@ class Popen(object):
+ 			else:
+ 				if Popen.verbose:
+ 					print("Emulating")
+-		except Exception, e:
++		except Exception as e:
+ 			if Popen.verbose:
+ 				print("Exception: %s" % e)
+ 			raise
diff --git a/waf.spec b/waf.spec
index 4e11da9..f850a76 100644
--- a/waf.spec
+++ b/waf.spec
@@ -2,6 +2,7 @@
 %global with_python3 1
 # Turn off the brp-python-bytecompile script
 %global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')
+%{!?python3_version: %global python3_version %(%{__python3} -c "import sys; sys.stdout.write(sys.version[:3])")}
 %endif
 
 # Enable building without html docs (e.g. in case no recent sphinx is
@@ -9,7 +10,7 @@
 %global with_docs 1
 
 Name:           waf
-Version:        1.6.6
+Version:        1.6.8
 Release:        1%{?dist}
 Summary:        A Python-based build system
 Group:          Development/Tools
@@ -26,8 +27,7 @@ URL:            http://code.google.com/p/waf/
 Source:         waf-%{version}.stripped.tar.bz2
 # use _datadir instead of /usr/lib
 Patch0:         waf-1.6.2-libdir.patch
-# upstream r11402
-Patch1:         waf-1.6.6-syntax.patch
+Patch1:         waf-1.6.8-syntax.patch
 BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
 BuildArch:      noarch
 BuildRequires:  python-devel
@@ -43,13 +43,18 @@ BuildRequires:  python-sphinx10
 BuildRequires:  graphviz
 BuildRequires:  ImageMagick
 %endif # with_docs
+%if "%{?python_version}" != ""
 # Seems like automatic ABI dependency is not detected since the files are
 # going to a non-standard location
-Requires:       python(abi) %(%{__python} -c "import sys ; print \"=\", sys.version[:3]")
+Requires:       python(abi) = %{python_version}
+%endif
 
 
 # the demo suite contains a perl module, which draws in unwanted
 # provides and requires
+%global __requires_exclude_from %{_docdir}
+%global __provides_exclude_from %{_docdir}
+# for EPEL, we need the old filters
 %global __perl_provides %{nil}
 %global __perl_requires %{nil}
 
@@ -60,10 +65,39 @@ installing applications. It is a replacement for other tools such as
 Autotools, Scons, CMake or Ant.
 
 
+%if 0%{?with_python3}
+%package -n %{name}-python3
+Summary:        Python3 support for %{name}
+%if "%{?python3_version}" != ""
+Requires:       python(abi) = %{python3_version}
+%endif
+
+%description -n %{name}-python3
+Waf is a Python-based framework for configuring, compiling and
+installing applications. It is a replacement for other tools such as
+Autotools, Scons, CMake or Ant.
+
+This package contains the Python 3 version of %{name}.
+%endif # with_python3
+
+
+%if 0%{?with_docs}
+%package -n %{name}-docs
+Summary:        Documentation for %{name}
+
+%description -n %{name}-docs
+Waf is a Python-based framework for configuring, compiling and
+installing applications. It is a replacement for other tools such as
+Autotools, Scons, CMake or Ant.
+
+This package contains the HTML documentation for %{name}.
+%endif # with_docs
+
+
 %prep
 %setup -q
 %patch0 -p0 -b .libdir
-%patch1 -p0
+%patch1 -p1 -b .syntax
 
 
 %build
@@ -106,17 +140,26 @@ find . -name '*.py' -printf '%%P\0' |
 popd
 %endif # with_python3
 popd
-install -m 0755 -p -D waf-light %{buildroot}%{_bindir}/waf
+
+# install the frontend
+install -m 0755 -p -D waf-light %{buildroot}%{_bindir}/waf-%{python_version}
+%if 0%{?with_python3}
+install -m 0755 -p -D waf-light %{buildroot}%{_bindir}/waf-%{python3_version}
+%endif # with_python3
+ln -s waf-%{python_version} %{buildroot}%{_bindir}/waf
 
 # remove shebangs from and fix EOL for all scripts in wafadmin
 find %{buildroot}%{_datadir}/ -name '*.py' \
      -exec sed -i -e '1{/^#!/d}' -e 's|\r$||g' {} \;
 
 # fix waf script shebang line
-sed -i "1c#! /usr/bin/python" %{buildroot}%{_bindir}/waf
+sed -i "1c#! %{__python}" %{buildroot}%{_bindir}/waf-%{python_version}
+%if 0%{?with_python3}
+sed -i "1c#! %{__python3}" %{buildroot}%{_bindir}/waf-%{python3_version}
+%endif # with_python3
 
 # remove x-bits from everything going to doc
-find demos utils -type f -exec %{__chmod} 0644 {} \;
+find demos utils -type f -exec chmod 0644 {} \;
 
 # remove hidden file
 rm -f docs/sphinx/build/html/.buildinfo
@@ -135,17 +178,33 @@ rm -rf %{buildroot}
 %files
 %defattr(-,root,root,-)
 %doc README TODO ChangeLog demos
-%if 0%{?with_docs}
-%doc docs/sphinx/build/html
-%endif # with_docs
 %{_bindir}/waf
+%{_bindir}/waf-%{python_version}
 %{_datadir}/waf
+
+
 %if 0%{?with_python3}
+%files -n %{name}-python3
+%defattr(-,root,root,-)
+%{_bindir}/waf-%{python3_version}
 %{_datadir}/waf3
 %endif # with_python3
 
 
+%if 0%{?with_docs}
+%files -n %{name}-docs
+%defattr(-,root,root,-)
+%doc docs/sphinx/build/html
+%endif # with_docs
+
+
 %changelog
+* Mon Oct  3 2011 Thomas Moschny <thomas.moschny at gmx.de> - 1.6.8-1
+- Update to 1.6.8.
+- Use rpm 4.9.X style provides/requires filtering.
+- Move Python3 version to a subpackage.
+- Move HTML documentation to a subpackage.
+
 * Sat Jun 18 2011 Thomas Moschny <thomas.moschny at gmx.de> - 1.6.6-1
 - Update to 1.6.6.
 - Remove unused extras/subprocess.py.


More information about the scm-commits mailing list