From 7f90d7237fc0dcdc564497a835d0a7c8a528683c Mon Sep 17 00:00:00 2001 From: Jos de Kloe Date: Nov 26 2016 17:30:03 +0000 Subject: fix the patch for the setup script --- diff --git a/pygrib-2.0.2-2-build.patch b/pygrib-2.0.2-2-build.patch new file mode 100644 index 0000000..e2d05c4 --- /dev/null +++ b/pygrib-2.0.2-2-build.patch @@ -0,0 +1,94 @@ +--- setup.py.orig 2016-11-18 20:23:03.000000000 +0100 ++++ setup.py 2016-11-26 17:48:07.178253948 +0100 +@@ -122,23 +122,33 @@ + if zlib_incdir is None and zlib_dir is not None: + incdirs.append(os.path.join(zlib_dir,'include')) + +-g2clib_deps = glob.glob('g2clib_src/*.c') +-g2clib_deps.append(g2clib_pyx) +-incdirs.append("g2clib_src") ++#g2clib_deps = glob.glob('g2clib_src/*.c') ++#g2clib_deps.append(g2clib_pyx) ++g2clib_deps = [g2clib_pyx,] ++g2clib_dir = '/usr/lib64' ++g2clib_incdir = '/usr/include' ++libdirs.append(g2clib_dir) ++incdirs.append(g2clib_incdir) ++libraries.append('grib2c') ++#incdirs.append("g2clib_src") + macros=[] + +-# if jasper or openjpeg lib not available... +-if 'jasper' not in libraries and 'openjpeg' not in libraries: +- g2clib_deps.remove(os.path.join('g2clib_src', 'jpcpack.c')) +- g2clib_deps.remove(os.path.join('g2clib_src', 'jpcunpack.c')) +-else: +- macros.append(('USE_JPEG2000',1)) +-# if png lib not available... +-if 'png' not in libraries: +- g2clib_deps.remove(os.path.join('g2clib_src', 'pngpack.c')) +- g2clib_deps.remove(os.path.join('g2clib_src', 'pngunpack.c')) +-else: +- macros.append(('USE_PNG',1)) ++# the USE_JPEG2000 and USE_PNG defines are only used inside ++# g2clib_src, which is removed before doing the fedora rpm build ++# anyway, so these lines can be safely discarded: ++ ++## if jasper or openjpeg lib not available... ++#if 'jasper' not in libraries and 'openjpeg' not in libraries: ++# g2clib_deps.remove('g2clib_src/jpcpack.c') ++# g2clib_deps.remove('g2clib_src/jpcunpack.c') ++#else: ++# macros.append(('USE_JPEG2000',1)) ++## if png lib not available... ++#if 'png' not in libraries: ++# g2clib_deps.remove('g2clib_src/pngpack.c') ++# g2clib_deps.remove('g2clib_src/pngunpack.c') ++#else: ++# macros.append(('USE_PNG',1)) + + if hasattr(sys,'maxsize'): + if sys.maxsize > 2**31-1: macros.append(('__64BIT__',1)) +@@ -146,12 +156,12 @@ + if sys.maxint > 2**31-1: macros.append(('__64BIT__',1)) + + g2clibext = Extension("g2clib",g2clib_deps,include_dirs=incdirs,\ +- library_dirs=libdirs,libraries=libraries,runtime_library_dirs=libdirs,define_macros=macros) ++ library_dirs=libdirs,libraries=libraries,define_macros=macros) + redtoregext =\ + Extension("redtoreg",[redtoreg_pyx],include_dirs=[numpy.get_include()]) + pygribext =\ + Extension("pygrib",[pygrib_pyx],include_dirs=incdirs,library_dirs=libdirs,\ +- runtime_library_dirs=libdirs,libraries=libraries) ++ libraries=libraries) + + # man pages installed in man_dir/man1 + if man_dir is not None: +@@ -161,7 +171,16 @@ + else: + data_files = None + +- ++# don't provide the scripts and man pages for the python2 version, ++# to prevent rpm ownership collisions in case a user installs both ++# a python2 and a python3 version of the module ++scripts_list = [] ++if sys.version_info[0] >= 3: ++ scripts_list = ['utils/grib_list','utils/grib_repack', ++ 'utils/cnvgrib1to2','utils/cnvgrib2to1'] ++if sys.version_info[0] < 3: ++ data_files = None ++ + + setup(name = "pygrib", + version = "2.0.2", +@@ -184,8 +203,7 @@ + "License :: OSI Approved", + "Topic :: Software Development :: Libraries :: Python Modules"], + cmdclass = cmdclass, +- scripts = +- ['utils/grib_list','utils/grib_repack','utils/cnvgrib1to2','utils/cnvgrib2to1'], ++ scripts = scripts_list, + ext_modules = [pygribext,g2clibext,redtoregext], + py_modules = ["ncepgrib2"], + data_files = data_files) diff --git a/pygrib-2.0.2-build.patch b/pygrib-2.0.2-build.patch deleted file mode 100644 index 1703084..0000000 --- a/pygrib-2.0.2-build.patch +++ /dev/null @@ -1,94 +0,0 @@ ---- setup.py.orig 2016-11-18 20:23:03.000000000 +0100 -+++ setup.py 2016-11-20 11:31:48.042087899 +0100 -@@ -122,23 +122,33 @@ - if zlib_incdir is None and zlib_dir is not None: - incdirs.append(os.path.join(zlib_dir,'include')) - --g2clib_deps = glob.glob('g2clib_src/*.c') --g2clib_deps.append(g2clib_pyx) --incdirs.append("g2clib_src") -+#g2clib_deps = glob.glob('g2clib_src/*.c') -+#g2clib_deps.append(g2clib_pyx) -+g2clib_deps = [g2clib_pyx,] -+g2clib_dir = '/usr/lib64' -+g2clib_incdir = '/usr/include' -+libdirs.append(g2clib_dir) -+incdirs.append(g2clib_incdir) -+libraries.append('grib2c') -+#incdirs.append("g2clib_src") - macros=[] - --# if jasper or openjpeg lib not available... --if 'jasper' not in libraries and 'openjpeg' not in libraries: -- g2clib_deps.remove(os.path.join('g2clib_src', 'jpcpack.c')) -- g2clib_deps.remove(os.path.join('g2clib_src', 'jpcunpack.c')) --else: -- macros.append(('USE_JPEG2000',1)) --# if png lib not available... --if 'png' not in libraries: -- g2clib_deps.remove(os.path.join('g2clib_src', 'pngpack.c')) -- g2clib_deps.remove(os.path.join('g2clib_src', 'pngunpack.c')) --else: -- macros.append(('USE_PNG',1)) -+# the USE_JPEG2000 and USE_PNG defines are only used inside -+# g2clib_src, which is removed before doing the fedora rpm build -+# anyway, so these lines can be safely discarded: -+ -+## if jasper or openjpeg lib not available... -+#if 'jasper' not in libraries and 'openjpeg' not in libraries: -+# g2clib_deps.remove('g2clib_src/jpcpack.c') -+# g2clib_deps.remove('g2clib_src/jpcunpack.c') -+#else: -+# macros.append(('USE_JPEG2000',1)) -+## if png lib not available... -+#if 'png' not in libraries: -+# g2clib_deps.remove('g2clib_src/pngpack.c') -+# g2clib_deps.remove('g2clib_src/pngunpack.c') -+#else: -+# macros.append(('USE_PNG',1)) - - if hasattr(sys,'maxsize'): - if sys.maxsize > 2**31-1: macros.append(('__64BIT__',1)) -@@ -146,12 +156,12 @@ - if sys.maxint > 2**31-1: macros.append(('__64BIT__',1)) - - g2clibext = Extension("g2clib",g2clib_deps,include_dirs=incdirs,\ -- library_dirs=libdirs,libraries=libraries,runtime_library_dirs=libdirs,define_macros=macros) -+ library_dirs=libdirs,libraries=libraries,define_macros=macros) - redtoregext =\ - Extension("redtoreg",[redtoreg_pyx],include_dirs=[numpy.get_include()]) - pygribext =\ - Extension("pygrib",[pygrib_pyx],include_dirs=incdirs,library_dirs=libdirs,\ -- runtime_library_dirs=libdirs,libraries=libraries) -+ libraries=libraries) - - # man pages installed in man_dir/man1 - if man_dir is not None: -@@ -161,7 +171,16 @@ - else: - data_files = None - -- -+# don't provide the scripts and man pages for the python3 version, -+# to prevent rpm ownership collisions in case a user installs both -+# a python2 and a python3 version of the module -+scripts_list = [] -+if sys.version_info[0] < 3: -+ scripts_list = ['utils/grib_list','utils/grib_repack', -+ 'utils/cnvgrib1to2','utils/cnvgrib2to1'] -+if sys.version_info[0] >= 3: -+ data_files = None -+ - - setup(name = "pygrib", - version = "2.0.2", -@@ -184,8 +203,7 @@ - "License :: OSI Approved", - "Topic :: Software Development :: Libraries :: Python Modules"], - cmdclass = cmdclass, -- scripts = -- ['utils/grib_list','utils/grib_repack','utils/cnvgrib1to2','utils/cnvgrib2to1'], -+ scripts = scripts_list, - ext_modules = [pygribext,g2clibext,redtoregext], - py_modules = ["ncepgrib2"], - data_files = data_files) diff --git a/pygrib.spec b/pygrib.spec index 45636ac..bf5e30f 100644 --- a/pygrib.spec +++ b/pygrib.spec @@ -5,7 +5,7 @@ Name: pygrib Version: 2.0.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python module for reading and writing GRIB (editions 1 and 2) files License: MIT @@ -14,7 +14,7 @@ URL: https://github.com/jswhit/pygrib Source0: https://files.pythonhosted.org/packages/source/p/pygrib/%{name}-%{version}.tar.gz # Adapt setup.py to not use packaged g2clib source code -Patch0: %%{name}-%%{version}-build.patch +Patch0: %{name}-%{version}-2-build.patch BuildRequires: python2-devel BuildRequires: grib_api-devel @@ -210,6 +210,10 @@ export PYTHONPATH=%{buildroot}/%{python3_sitearch} %changelog +* Sat Nov 26 2016 Jos de Kloe 2.0.2-2 +- fix mistake in patch for setup.py file that caused python3 package + to provide python2 version tools + * Sun Nov 20 2016 Jos de Kloe 2.0.2-1 - update to new upstream version - provide tools below /usr/bin for python3 in stead of python2