From 11743df0958d1c0a126e6e04ec065eb6140ac23ec903e7d00c346695f9ae4f3a Mon Sep 17 00:00:00 2001 From: Andreas Stieger Date: Wed, 4 Oct 2017 18:52:25 +0000 Subject: [PATCH 1/2] Accepting request 531442 from home:AndreasStieger:branches:devel:tools:building SCons 3.0.0 OBS-URL: https://build.opensuse.org/request/show/531442 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/scons?expand=0&rev=47 --- scons-1.2.0-fix-install.patch | 26 -------------------------- scons-1.2.0-noenv.patch | 30 ------------------------------ scons-2.5.1.tar.gz | 3 --- scons-3.0.0-fix-install.patch | 26 ++++++++++++++++++++++++++ scons-3.0.0.tar.gz | 3 +++ scons-rpmlintrc | 4 ---- scons-user.html-2.5.1.tar.bz2 | 3 --- scons-user.html-3.0.0.tar.bz2 | 3 +++ scons.changes | 16 ++++++++++++++++ scons.spec | 10 +++------- 10 files changed, 51 insertions(+), 73 deletions(-) delete mode 100644 scons-1.2.0-fix-install.patch delete mode 100644 scons-1.2.0-noenv.patch delete mode 100644 scons-2.5.1.tar.gz create mode 100644 scons-3.0.0-fix-install.patch create mode 100644 scons-3.0.0.tar.gz delete mode 100644 scons-rpmlintrc delete mode 100644 scons-user.html-2.5.1.tar.bz2 create mode 100644 scons-user.html-3.0.0.tar.bz2 diff --git a/scons-1.2.0-fix-install.patch b/scons-1.2.0-fix-install.patch deleted file mode 100644 index 5451233..0000000 --- a/scons-1.2.0-fix-install.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- - setup.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: scons-2.4.0/setup.py -=================================================================== ---- scons-2.4.0.orig/setup.py -+++ scons-2.4.0/setup.py -@@ -375,7 +375,7 @@ class install_data(_install_data): - if is_win32: - dir = 'Doc' - else: -- dir = os.path.join('man', 'man1') -+ dir = os.path.join('share', 'man', 'man1') - self.data_files = [(dir, man_pages)] - man_dir = os.path.join(self.install_dir, dir) - msg = "Installed SCons man pages into %s" % man_dir -@@ -493,7 +493,7 @@ arguments = { - 'docbook-xsl-1.76.1/xhtml/*', - 'docbook-xsl-1.76.1/xhtml-1_1/*', - 'utils/*']}, -- 'data_files' : [('man/man1', man_pages)], -+ 'data_files' : [('share/man/man1', man_pages)], - 'scripts' : scripts, - 'cmdclass' : {'install' : install, - 'install_lib' : install_lib, diff --git a/scons-1.2.0-noenv.patch b/scons-1.2.0-noenv.patch deleted file mode 100644 index 41423e5..0000000 --- a/scons-1.2.0-noenv.patch +++ /dev/null @@ -1,30 +0,0 @@ -Index: script/scons -=================================================================== ---- script/scons.orig -+++ script/scons -@@ -1,4 +1,4 @@ --#! /usr/bin/env python -+#!/usr/bin/python - # - # SCons - a Software Constructor - # -Index: script/scons-time -=================================================================== ---- script/scons-time.orig -+++ script/scons-time -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/python - # - # scons-time - run SCons timings and collect statistics - # -Index: script/sconsign -=================================================================== ---- script/sconsign.orig -+++ script/sconsign -@@ -1,4 +1,4 @@ --#! /usr/bin/env python -+#!/usr/bin/python - # - # SCons - a Software Constructor - # diff --git a/scons-2.5.1.tar.gz b/scons-2.5.1.tar.gz deleted file mode 100644 index fdb91f2..0000000 --- a/scons-2.5.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0b25218ae7b46a967db42f2a53721645b3d42874a65f9552ad16ce26d30f51f2 -size 620909 diff --git a/scons-3.0.0-fix-install.patch b/scons-3.0.0-fix-install.patch new file mode 100644 index 0000000..a2bac1e --- /dev/null +++ b/scons-3.0.0-fix-install.patch @@ -0,0 +1,26 @@ +--- + setup.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: scons-3.0.0/setup.py +=================================================================== +--- scons-3.0.0.orig/setup.py ++++ scons-3.0.0/setup.py +@@ -386,7 +386,7 @@ class install_data(_install_data): + if is_win32: + dir = 'Doc' + else: +- dir = os.path.join('man', 'man1') ++ dir = os.path.join('share', 'man', 'man1') + self.data_files = [(dir, man_pages)] + man_dir = os.path.join(self.install_dir, dir) + msg = "Installed SCons man pages into %s" % man_dir +@@ -506,7 +506,7 @@ arguments = { + 'docbook-xsl-1.76.1/xhtml/*', + 'docbook-xsl-1.76.1/xhtml-1_1/*', + 'utils/*']}, +- 'data_files': [('man/man1', man_pages)], ++ 'data_files': [('share/man/man1', man_pages)], + 'scripts': scripts, + 'cmdclass': {'install': install, + 'install_lib': install_lib, diff --git a/scons-3.0.0.tar.gz b/scons-3.0.0.tar.gz new file mode 100644 index 0000000..2a5c3fc --- /dev/null +++ b/scons-3.0.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f532f405b98c60b731d231b3c503ab5bf47d89a6f66f70cb62c9249e9f45216 +size 630418 diff --git a/scons-rpmlintrc b/scons-rpmlintrc deleted file mode 100644 index 2c6475b..0000000 --- a/scons-rpmlintrc +++ /dev/null @@ -1,4 +0,0 @@ -# Source URL pointed to upstream release, tar.gz -addFilter("W: source-or-patch-not-bzipped") -# It's not really an extension/module (is it?) -addFilter("W: python-naming-policy-not-applied") diff --git a/scons-user.html-2.5.1.tar.bz2 b/scons-user.html-2.5.1.tar.bz2 deleted file mode 100644 index 5005155..0000000 --- a/scons-user.html-2.5.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6250b583d1d905b479bf75b7d1e48fda11009abfb10c41b8e7545e76472388ac -size 152937 diff --git a/scons-user.html-3.0.0.tar.bz2 b/scons-user.html-3.0.0.tar.bz2 new file mode 100644 index 0000000..ed72fa1 --- /dev/null +++ b/scons-user.html-3.0.0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e0198ce5b1b561a8ba6887be2b9eb38dac3c7b56d269188a9740252c3fdfe51 +size 153266 diff --git a/scons.changes b/scons.changes index 9f33e0e..3985f6a 100644 --- a/scons.changes +++ b/scons.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Wed Oct 4 18:49:41 UTC 2017 - astieger@suse.com + +- SCons 3.0.0, a major release: + * Some targets may rebuild when upgrading. + * Significant changes in some python action signatures + * Supports Python version earlier than 2.7 and 3.5+ + * Switching between PY 2.7 and PY 3.5, 3.6 will cause rebuilds + * Updated language support: D, LaTeX, docbook + * Remove deprecated tools CVS, Perforce, BitKeeper, RCS, SCCS, Subversion + * Removed deprecated module SCons.Sig +- refresh scons-1.2.0-fix-install.patch to + scons-3.0.0-fix-install.patch +- drop scons-1.2.0-noenv.patch, fix is done in spec +- drop rpmlintrc, no longer needed + ------------------------------------------------------------------- Tue Nov 22 12:44:48 UTC 2016 - astieger@suse.com diff --git a/scons.spec b/scons.spec index 3400d0d..9447a4e 100644 --- a/scons.spec +++ b/scons.spec @@ -1,7 +1,7 @@ # # spec file for package scons # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -22,7 +22,7 @@ %{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} %endif Name: scons -Version: 2.5.1 +Version: 3.0.0 Release: 0 Summary: Replacement for Make License: MIT @@ -31,11 +31,8 @@ Url: http://www.scons.org/ Source0: http://prdownloads.sourceforge.net/scons/%{name}-%{version}.tar.gz #http://www.scons.org/doc/%%{version}/HTML/scons-user.html Source1: scons-user.html-%{version}.tar.bz2 -# rpmlintrc -Source99: %{name}-rpmlintrc # Sets _mandir to _datadir/man instead of _prefix/man -Patch0: %{name}-1.2.0-fix-install.patch -Patch1: %{name}-1.2.0-noenv.patch +Patch0: %{name}-3.0.0-fix-install.patch BuildRequires: fdupes BuildRequires: python-devel >= 2.7 BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -56,7 +53,6 @@ full power of Python to control compilation. %prep %setup -q -a1 %patch0 -p1 -%patch1 -p0 # fix libdir for qt patch -p0 < Date: Wed, 4 Oct 2017 19:19:18 +0000 Subject: [PATCH 2/2] - prevent a regression that would require Python3 syntax for print statements, add scons-3.0.0-support-python-2-prints.patch OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/scons?expand=0&rev=48 --- scons-3.0.0-support-python-2-prints.patch | 91 +++++++++++++++++++++++ scons.changes | 4 +- scons.spec | 2 + 3 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 scons-3.0.0-support-python-2-prints.patch diff --git a/scons-3.0.0-support-python-2-prints.patch b/scons-3.0.0-support-python-2-prints.patch new file mode 100644 index 0000000..5e1b659 --- /dev/null +++ b/scons-3.0.0-support-python-2-prints.patch @@ -0,0 +1,91 @@ +From 2e0de3c55f22b3eaa7767b69740b898f3d2f46bf Mon Sep 17 00:00:00 2001 +From: Thomas Berg +Date: Wed, 20 Sep 2017 13:24:22 +0200 +Subject: [PATCH] Support python 2 print statements in SConscripts + +This fixes a regression introduced in scons-3.0.0, where +SConscripts containing python 2 print statements would cause +syntax errors even when executing scons with python 2.7. + +This ensures backward compatibility, allowing users to build +legacy code with scons-3.0.0 without having to patch it. +--- + src/engine/SCons/Script/SConscript.py | 2 -- + test/print_statement.py | 56 +++++++++++++++++++++++++++++++++++ + 3 files changed, 59 insertions(+), 2 deletions(-) + create mode 100644 test/print_statement.py + +Index: scons-3.0.0/engine/SCons/Script/SConscript.py +=================================================================== +--- scons-3.0.0.orig/engine/SCons/Script/SConscript.py ++++ scons-3.0.0/engine/SCons/Script/SConscript.py +@@ -5,8 +5,6 @@ files. + + """ + +-from __future__ import print_function +- + # + # Copyright (c) 2001 - 2017 The SCons Foundation + # +Index: scons-3.0.0/print_statement.py +=================================================================== +--- /dev/null ++++ scons-3.0.0/print_statement.py +@@ -0,0 +1,56 @@ ++#!/usr/bin/env python ++# ++# __COPYRIGHT__ ++# ++# Permission is hereby granted, free of charge, to any person obtaining ++# a copy of this software and associated documentation files (the ++# "Software"), to deal in the Software without restriction, including ++# without limitation the rights to use, copy, modify, merge, publish, ++# distribute, sublicense, and/or sell copies of the Software, and to ++# permit persons to whom the Software is furnished to do so, subject to ++# the following conditions: ++# ++# The above copyright notice and this permission notice shall be included ++# in all copies or substantial portions of the Software. ++# ++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY ++# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE ++# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE ++# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION ++# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION ++# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++# ++ ++__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" ++ ++import sys ++import TestSCons ++ ++test = TestSCons.TestSCons() ++ ++ ++test.write('SConstruct', """\ ++print('python 3 style statement') ++Exit(0) ++""") ++ ++test.run() ++ ++test.write('SConstruct', """\ ++print 'python 2 style statement' ++Exit(0) ++""") ++ ++if sys.version_info >= (3,0): ++ test.skip_test('Python 2 print statement test, skipping on Python 3.\n') ++else: ++ test.run() ++ ++test.pass_test() ++ ++# Local Variables: ++# tab-width:4 ++# indent-tabs-mode:nil ++# End: ++# vim: set expandtab tabstop=4 shiftwidth=4: diff --git a/scons.changes b/scons.changes index 3985f6a..0f084fd 100644 --- a/scons.changes +++ b/scons.changes @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -Wed Oct 4 18:49:41 UTC 2017 - astieger@suse.com +Wed Oct 4 19:09:07 UTC 2017 - astieger@suse.com - SCons 3.0.0, a major release: * Some targets may rebuild when upgrading. @@ -13,6 +13,8 @@ Wed Oct 4 18:49:41 UTC 2017 - astieger@suse.com scons-3.0.0-fix-install.patch - drop scons-1.2.0-noenv.patch, fix is done in spec - drop rpmlintrc, no longer needed +- prevent a regression that would require Python3 syntax for + print statements, add scons-3.0.0-support-python-2-prints.patch ------------------------------------------------------------------- Tue Nov 22 12:44:48 UTC 2016 - astieger@suse.com diff --git a/scons.spec b/scons.spec index 9447a4e..adaa149 100644 --- a/scons.spec +++ b/scons.spec @@ -33,6 +33,7 @@ Source0: http://prdownloads.sourceforge.net/scons/%{name}-%{version}.tar. Source1: scons-user.html-%{version}.tar.bz2 # Sets _mandir to _datadir/man instead of _prefix/man Patch0: %{name}-3.0.0-fix-install.patch +Patch1: scons-3.0.0-support-python-2-prints.patch BuildRequires: fdupes BuildRequires: python-devel >= 2.7 BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -53,6 +54,7 @@ full power of Python to control compilation. %prep %setup -q -a1 %patch0 -p1 +%patch1 -p1 # fix libdir for qt patch -p0 <