Hello community,

here is the log from the commit of package python-qt4 for openSUSE:Factory 
checked in at 2017-06-12 15:26:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-qt4 (Old)
 and      /work/SRC/openSUSE:Factory/.python-qt4.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-qt4"

Mon Jun 12 15:26:11 2017 rev:83 rq:502724 version:4.12

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-qt4/python-qt4.changes    2017-06-01 
16:23:05.736671064 +0200
+++ /work/SRC/openSUSE:Factory/.python-qt4.new/python-qt4.changes       
2017-06-12 15:26:13.716859550 +0200
@@ -1,0 +2,10 @@
+Sun Jun  4 15:21:57 UTC 2017 - [email protected]
+
+- Move requirements for development package to correct place.
+
+-------------------------------------------------------------------
+Mon May 22 20:19:36 UTC 2017 - [email protected]
+
+- Add reproducible.patch to sort input files to make build fully reproducible
+
+-------------------------------------------------------------------

New:
----
  reproducible.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-qt4.spec ++++++
--- /var/tmp/diff_new_pack.bt6FiP/_old  2017-06-12 15:26:15.292637188 +0200
+++ /var/tmp/diff_new_pack.bt6FiP/_new  2017-06-12 15:26:15.296636624 +0200
@@ -28,17 +28,19 @@
 Source99:       %{name}-rpmlintrc
 # PATCH-FIX-UPSTREAM: Fix .pro files not being generated by configure.py
 Patch0:         pyqt4_add_pro_files.diff
+# PATCH-FIX-UPSTREAM -- TODO
+Patch1:         reproducible.patch
+BuildRequires:  %{python_module devel}
+BuildRequires:  %{python_module sip >= 4.19.1}
+BuildRequires:  %{python_module sip-devel >= 4.19.1}
 BuildRequires:  dbus-1-devel
+BuildRequires:  dbus-1-python-devel
+BuildRequires:  dbus-1-python3-devel
 BuildRequires:  fdupes
 BuildRequires:  libQtWebKit-devel
 BuildRequires:  libqt4-devel
 BuildRequires:  phonon-devel
 BuildRequires:  python-rpm-macros
-BuildRequires:  %{python_module devel}
-BuildRequires:  dbus-1-python-devel
-BuildRequires:  dbus-1-python3-devel
-BuildRequires:  %{python_module sip >= 4.19.1}
-BuildRequires:  %{python_module sip-devel >= 4.19.1}
 Requires:       %{name}-utils
 Requires:       python-sip(api) = %python_sip_api_ver
 %requires_ge    python-dbus-python
@@ -72,6 +74,9 @@
 %ifpython3
 Requires:       dbus-1-python3-devel
 %endif
+Requires:       libQtWebKit-devel
+Requires:       libqt4-devel
+Requires:       phonon-devel
 Requires:       python-qt4-utils = %{version}
 Requires:       python-sip-devel >= 4.19.1
 Recommends:     python-qscintilla
@@ -93,10 +98,6 @@
 %package -n %{name}-utils
 Summary:        Common files for PyQt4 for python2 and python3
 Group:          Development/Libraries/Python
-Requires:       dbus-1-devel
-Requires:       libQtWebKit-devel
-Requires:       libqt4-devel
-Requires:       phonon-devel
 Provides:       %{python_module qt4-utils = %{version}}
 
 %description -n %{name}-utils
@@ -114,7 +115,7 @@
 %prep
 %setup -q -n PyQt4_gpl_x11-%{version}
 %patch0 -p1
-
+%patch1 -p1
 
 %build
 export CXXFLAGS="%{optflags}"
@@ -135,7 +136,6 @@
 
 }
 
-
 %install
 mkdir -p %{buildroot}%{_sysconfdir}/alternatives
 
@@ -167,7 +167,6 @@
 %preun devel
 %python_uninstall_alternative pyuic4
 
-
 %files %{python_files}
 %defattr(-,root,root)
 %doc build_%{python_bin_suffix}/README
@@ -177,7 +176,6 @@
 %{python_sitearch}/PyQt4/
 %{python_sitelib}/dbus/mainloop/qt.so
 
-
 %files %{python_files devel}
 %defattr(-,root,root)
 %python_alternative %{_bindir}/pyuic4
@@ -189,10 +187,8 @@
 %dir %{_datadir}/qt4/qsci/api/python_%{python_bin_suffix}/
 %{_datadir}/qt4/qsci/api/python_%{python_bin_suffix}/PyQt4.api
 
-
 %files -n %{name}-utils
 %defattr(-,root,root)
 %{_datadir}/sip/PyQt4/
 
-
 %changelog

++++++ reproducible.patch ++++++
have constant link order
to make builds reproducible.
See https://reproducible-builds.org/ for why this is good.

Without this patch g++ would order functions in .so files
depending on random order of files in the build system's filesystem.

Note that we also need to sort .h files because those are used
to create .cpp files with moc.

diff -ru PyQt4_gpl_x11-4.12.orig/configure-ng.py 
PyQt4_gpl_x11-4.12/configure-ng.py
--- PyQt4_gpl_x11-4.12.orig/configure-ng.py     2016-12-26 13:47:10.000000000 
+0000
+++ PyQt4_gpl_x11-4.12/configure-ng.py  2017-05-22 17:37:42.867428681 +0000
@@ -1337,11 +1337,11 @@
             sp_qpy_dir = source_path('qpy', mname)
 
             qpy_c_sources = [os.path.relpath(f, mname)
-                    for f in glob.glob(os.path.join(sp_qpy_dir, '*.c'))]
+                    for f in sorted(glob.glob(os.path.join(sp_qpy_dir, 
'*.c')))]
             qpy_cpp_sources = [os.path.relpath(f, mname)
-                    for f in glob.glob(os.path.join(sp_qpy_dir, '*.cpp'))]
+                    for f in sorted(glob.glob(os.path.join(sp_qpy_dir, 
'*.cpp')))]
             qpy_headers = [os.path.relpath(f, mname)
-                    for f in glob.glob(os.path.join(sp_qpy_dir, '*.h'))]
+                    for f in sorted(glob.glob(os.path.join(sp_qpy_dir, 
'*.h')))]
 
             qpy_sources = qpy_c_sources + qpy_cpp_sources
         else:
@@ -1597,7 +1597,7 @@
 
     pro_lines = []
 
-    headers = [os.path.basename(f) for f in glob.glob('%s/*.h' % src_dir)]
+    headers = [os.path.basename(f) for f in sorted(glob.glob('%s/*.h' % 
src_dir))]
 
     if other_headers is not None:
         headers += other_headers
@@ -1605,9 +1605,9 @@
     if len(headers) != 0:
         pro_lines.append('HEADERS = %s' % ' '.join(headers))
 
-    sources = [os.path.basename(f) for f in glob.glob('%s/*.c' % src_dir)]
+    sources = [os.path.basename(f) for f in sorted(glob.glob('%s/*.c' % 
src_dir))]
 
-    for f in glob.glob('%s/*.cpp' % src_dir):
+    for f in sorted(glob.glob('%s/*.cpp' % src_dir)):
         f = os.path.basename(f)
 
         # Exclude any moc generated C++ files that might be around from a
@@ -2378,7 +2378,7 @@
 
     if target_config.pyqt_sip_dir:
         sip_files = [os.path.relpath(f, mname)
-                for f in glob.glob(source_path('sip', mname, '*.sip'))]
+                for f in sorted(glob.glob(source_path('sip', mname, '*.sip')))]
         if len(sip_files) != 0:
             pro_lines.append('sip.path = %s/%s' % (target_config.pyqt_sip_dir, 
mname))
             pro_lines.append('sip.files = %s' % ' '.join(sip_files))

Reply via email to