Compare commits

..

1 Commits

Author SHA1 Message Date
Vitezslav Crhonek 8ac725e7c4 Add shebang to winrs ruby script, make it executable 2017-03-13 11:12:42 +01:00
2 changed files with 22 additions and 235 deletions
-179
View File
@@ -1,179 +0,0 @@
diff -up openwsman-2.6.2/bindings/CMakeLists.txt.orig openwsman-2.6.2/bindings/CMakeLists.txt
--- openwsman-2.6.2/bindings/CMakeLists.txt.orig 2015-10-19 15:27:46.000000000 +0200
+++ openwsman-2.6.2/bindings/CMakeLists.txt 2016-08-10 11:55:36.588710280 +0200
@@ -10,6 +10,7 @@ include_directories(${CMAKE_BINARY_DIR})
IF( BUILD_PYTHON )
add_subdirectory(python)
+add_subdirectory(python3)
ENDIF( BUILD_PYTHON )
IF( BUILD_RUBY )
diff -up openwsman-2.6.2/bindings/python3/CMakeLists.txt.orig openwsman-2.6.2/bindings/python3/CMakeLists.txt
--- openwsman-2.6.2/bindings/python3/CMakeLists.txt.orig 2016-08-10 11:55:36.577710278 +0200
+++ openwsman-2.6.2/bindings/python3/CMakeLists.txt 2016-08-10 15:15:46.005991322 +0200
@@ -12,11 +12,28 @@ enable_testing()
add_subdirectory(tests)
-EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" OUTPUT_VARIABLE PYTHON_LIB_DIR)
-STRING(REPLACE "\n" "" PYTHON_LIB_DIR "${PYTHON_LIB_DIR}")
+MESSAGE(STATUS "Python3 build:")
+unset(Python_ADDITIONAL_VERSIONS)
+set(Python_ADDITIONAL_VERSIONS 3.5)
+FIND_PACKAGE(PythonLibs)
+IF (PYTHON_LIBRARY)
+ FIND_PACKAGE(PythonInterp REQUIRED)
+ #MESSAGE(STATUS "Found PythonLibs...")
+ FIND_PACKAGE(PythonLinkLibs)
+ #IF (PYTHON_LINK_LIBS)
+ # MESSAGE(STATUS "Building Python...")
+ #ENDIF (PYTHON_LINK_LIBS)
+ENDIF (PYTHON_LIBRARY)
+
+set(PYTHON3_EXECUTABLE "${PYTHON_EXECUTABLE}")
+set(PYTHON3_INCLUDE_DIRS "${PYTHON_INCLUDE_DIRS}")
+set({PYTHON3_INCLUDE_PATH "${PYTHON_INCLUDE_PATH}")
-MESSAGE(STATUS "Python executable: ${PYTHON_EXECUTABLE}")
-MESSAGE(STATUS "Python lib dir: ${PYTHON_LIB_DIR}")
+EXECUTE_PROCESS(COMMAND ${PYTHON3_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))" OUTPUT_VARIABLE PYTHON3_LIB_DIR)
+STRING(REPLACE "\n" "" PYTHON3_LIB_DIR "${PYTHON3_LIB_DIR}")
+
+MESSAGE(STATUS "Python executable: ${PYTHON3_EXECUTABLE}")
+MESSAGE(STATUS "Python lib dir: ${PYTHON3_LIB_DIR}")
SET( SWIG_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/openwsman_wrap.c" )
@@ -36,14 +53,14 @@ SET(pywsman_SRCS ${SWIG_OUTPUT} ${CMAKE_
ADD_LIBRARY( pywsman SHARED ${pywsman_SRCS} )
SET_TARGET_PROPERTIES( pywsman PROPERTIES PREFIX "_" )
-INCLUDE_DIRECTORIES( ${PYTHON_INCLUDE_DIRS} )
+INCLUDE_DIRECTORIES( ${PYTHON3_INCLUDE_DIRS} )
# RHEL5 needs this:
-INCLUDE_DIRECTORIES( ${PYTHON_INCLUDE_PATH} )
+INCLUDE_DIRECTORIES( ${PYTHON3_INCLUDE_PATH} )
INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} )
INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/bindings ${CMAKE_SOURCE_DIR}/include )
TARGET_LINK_LIBRARIES( pywsman wsman )
TARGET_LINK_LIBRARIES( pywsman wsman_client )
-INSTALL(TARGETS pywsman LIBRARY DESTINATION ${PYTHON_LIB_DIR})
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pywsman.py DESTINATION ${PYTHON_LIB_DIR} )
+INSTALL(TARGETS pywsman LIBRARY DESTINATION ${PYTHON3_LIB_DIR})
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pywsman.py DESTINATION ${PYTHON3_LIB_DIR} )
diff -up openwsman-2.6.2/bindings/python/CMakeLists.txt.orig openwsman-2.6.2/bindings/python/CMakeLists.txt
--- openwsman-2.6.2/bindings/python/CMakeLists.txt.orig 2015-10-19 15:27:46.000000000 +0200
+++ openwsman-2.6.2/bindings/python/CMakeLists.txt 2016-08-10 15:00:21.126141161 +0200
@@ -12,11 +12,52 @@ enable_testing()
add_subdirectory(tests)
-EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" OUTPUT_VARIABLE PYTHON_LIB_DIR)
-STRING(REPLACE "\n" "" PYTHON_LIB_DIR "${PYTHON_LIB_DIR}")
+MESSAGE(STATUS "Python2 build:")
+set(Python_ADDITIONAL_VERSIONS 2.7)
+FIND_PACKAGE(PythonLibs)
+IF (PYTHON_LIBRARY)
+ FIND_PACKAGE(PythonInterp REQUIRED)
+ #MESSAGE(STATUS "Found PythonLibs...")
+ FIND_PACKAGE(PythonLinkLibs)
+ #IF (PYTHON_LINK_LIBS)
+ # MESSAGE(STATUS "Building Python...")
+ #ENDIF (PYTHON_LINK_LIBS)
+ENDIF (PYTHON_LIBRARY)
+
+set(PYTHON2_EXECUTABLE "${PYTHON_EXECUTABLE}")
+set(PYTHON2_INCLUDE_DIRS "${PYTHON_INCLUDE_DIRS}")
+set(PYTHON2_INCLUDE_PATH "${PYTHON_INCLUDE_PATH}")
+
+# clear FIND_PACKAGE(PythonLibs) side effects
+unset(PYTHONLIBS_FOUND)
+unset(PYTHON_LIBRARIES)
+unset(PYTHON_INCLUDE_PATH)
+unset(PYTHON_INCLUDE_DIRS)
+unset(PYTHON_DEBUG_LIBRARIES)
+unset(PYTHONLIBS_VERSION_STRING)
+unset(PYTHON_DEBUG_LIBRARY CACHE)
+unset(PYTHON_LIBRARY)
+unset(PYTHON_LIBRARY_DEBUG)
+unset(PYTHON_LIBRARY_RELEASE)
+unset(PYTHON_LIBRARY CACHE)
+unset(PYTHON_LIBRARY_DEBUG CACHE)
+unset(PYTHON_LIBRARY_RELEASE CACHE)
+unset(PYTHON_INCLUDE_DIR CACHE)
+unset(PYTHON_INCLUDE_DIR2 CACHE)
+
+# clear FIND_PACKAGE(PythonInterp) side effects
+unset(PYTHONINTERP_FOUND)
+unset(PYTHON_EXECUTABLE CACHE)
+unset(PYTHON_VERSION_STRING)
+unset(PYTHON_VERSION_MAJOR)
+unset(PYTHON_VERSION_MINOR)
+unset(PYTHON_VERSION_PATCH)
-MESSAGE(STATUS "Python executable: ${PYTHON_EXECUTABLE}")
-MESSAGE(STATUS "Python lib dir: ${PYTHON_LIB_DIR}")
+EXECUTE_PROCESS(COMMAND ${PYTHON2_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" OUTPUT_VARIABLE PYTHON2_LIB_DIR)
+STRING(REPLACE "\n" "" PYTHON2_LIB_DIR "${PYTHON2_LIB_DIR}")
+
+MESSAGE(STATUS "Python executable: ${PYTHON2_EXECUTABLE}")
+MESSAGE(STATUS "Python lib dir: ${PYTHON2_LIB_DIR}")
SET( SWIG_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/openwsman_wrap.c" )
@@ -36,14 +77,14 @@ SET(pywsman_SRCS ${SWIG_OUTPUT} ${CMAKE_
ADD_LIBRARY( pywsman SHARED ${pywsman_SRCS} )
SET_TARGET_PROPERTIES( pywsman PROPERTIES PREFIX "_" )
-INCLUDE_DIRECTORIES( ${PYTHON_INCLUDE_DIRS} )
+INCLUDE_DIRECTORIES( ${PYTHON2_INCLUDE_DIRS} )
# RHEL5 needs this:
-INCLUDE_DIRECTORIES( ${PYTHON_INCLUDE_PATH} )
+INCLUDE_DIRECTORIES( ${PYTHON2_INCLUDE_PATH} )
INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} )
INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/bindings ${CMAKE_SOURCE_DIR}/include )
TARGET_LINK_LIBRARIES( pywsman wsman )
TARGET_LINK_LIBRARIES( pywsman wsman_client )
-INSTALL(TARGETS pywsman LIBRARY DESTINATION ${PYTHON_LIB_DIR})
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pywsman.py DESTINATION ${PYTHON_LIB_DIR} )
+INSTALL(TARGETS pywsman LIBRARY DESTINATION ${PYTHON2_LIB_DIR})
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pywsman.py DESTINATION ${PYTHON2_LIB_DIR} )
diff -up openwsman-2.6.2/CMakeLists.txt.orig openwsman-2.6.2/CMakeLists.txt
--- openwsman-2.6.2/CMakeLists.txt.orig 2015-10-19 15:27:46.000000000 +0200
+++ openwsman-2.6.2/CMakeLists.txt 2016-08-10 11:55:36.588710280 +0200
@@ -168,30 +168,6 @@ MESSAGE(STATUS "Building Ruby bindings"
ENDIF(NOT RUBY_INCLUDE_PATH )
ENDIF( BUILD_RUBY )
-IF( BUILD_PYTHON )
- MESSAGE(STATUS "Building Python bindings" )
- FIND_PACKAGE(PythonLibs)
- IF (PYTHON_LIBRARY)
- FIND_PACKAGE(PythonInterp REQUIRED)
- MESSAGE(STATUS "Found PythonLibs...")
- FIND_PACKAGE(PythonLinkLibs)
- IF (PYTHON_LINK_LIBS)
- MESSAGE(STATUS "Building Python...")
- ENDIF (PYTHON_LINK_LIBS)
- ENDIF (PYTHON_LIBRARY)
- IF(NOT PYTHON_INCLUDE_DIRS )
- # fallback for older versions of cmake
- SET(PYTHON_INCLUDE_DIRS PYTHON_INCLUDE_PATH)
- ENDIF(NOT PYTHON_INCLUDE_DIRS )
- IF(NOT PYTHON_INCLUDE_DIRS )
- IF(BUILD_PYTHON_EXPLICIT)
- NO_HEADERS_WARNING_EXPL(BUILD_PYTHON Python)
- ELSE(BUILD_PYTHON_EXPLICIT)
- NO_HEADERS_WARNING(BUILD_PYTHON Python)
- ENDIF(BUILD_PYTHON_EXPLICIT)
- ENDIF(NOT PYTHON_INCLUDE_DIRS )
-ENDIF( BUILD_PYTHON )
-
IF( BUILD_PERL )
INCLUDE(FindPerl)
IF(PERL_EXECUTABLE)
+22 -56
View File
@@ -1,15 +1,22 @@
%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5)
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%endif
# RubyGems's macros expect gem_name to exist.
%global gem_name %{name}
Name: openwsman
BuildRequires: swig
BuildRequires: libcurl-devel libxml2-devel pam-devel sblim-sfcc-devel
BuildRequires: python3 python3-devel python2 python2-devel ruby ruby-devel rubygems-devel perl
BuildRequires: perl-devel perl-generators pkgconfig openssl-devel
BuildRequires: python python-devel ruby ruby-devel rubygems-devel perl
BuildRequires: python python-devel perl
BuildRequires: perl-devel pkgconfig openssl-devel
BuildRequires: cmake
BuildRequires: systemd-units
Version: 2.6.2
Release: 8%{?dist}
Release: 4%{?dist}
Url: http://www.openwsman.org/
License: BSD
Group: Applications/System
@@ -26,9 +33,8 @@ Source3: owsmantestcert.sh
Patch1: openwsman-2.2.7-libssl.patch
Patch2: openwsman-2.4.0-pamsetup.patch
Patch3: openwsman-2.4.12-ruby-binding-build.patch
Patch4: openwsman-2.6.2-python3.patch
# Patch5: adds shebang to winrs ruby script, already upstream
Patch5: openwsman-2.6.2-winrs-shebang.patch
# Patch4: adds shebang to winrs ruby script, already upstream
Patch4: openwsman-2.6.2-winrs-shebang.patch
%description
Openwsman is a project intended to provide an open-source
@@ -103,25 +109,11 @@ Openwsman Server and service libraries
License: BSD
Group: Development/Libraries
Summary: Python bindings for openwsman client API
Requires: python2
Requires: python
Requires: libwsman1 = %{version}-%{release}
%description python
This package provides Python2 bindings to access the openwsman client
API.
%package python3
License: BSD
Group: Development/Libraries
Summary: Python bindings for openwsman client API
Requires: python3
Requires: libwsman1 = %{version}-%{release}
%description python3
This package provides Python3 bindings to access the openwsman client
This package provides Python bindings to access the openwsman client
API.
@@ -175,17 +167,10 @@ can use it to send shell commands to a remote Windows hosts.
%prep
%setup -q
# support python3
pushd bindings
cp -r python python3
popd
%patch1 -p1 -b .libssl
%patch2 -p1 -b .pamsetup
%patch3 -p1 -b .ruby-binding-build
%patch4 -p1 -b .python3
%patch5 -p1 -b .winrs-shebang
%patch4 -p1 -b .winrs-shebang
# support ruby 2.2
pushd bindings/ruby
@@ -194,7 +179,6 @@ chmod 0755 rdoc2.2
ln -sf %{_bindir}/rdoc rdoc2_2.rb
popd
%build
# Removing executable permissions on .c and .h files to fix rpmlint warnings.
chmod -x src/cpp/WsmanClient.h
@@ -203,6 +187,7 @@ rm -rf build
mkdir build
export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -DFEDORA -DNO_SSL_CALLBACK"
export SSL_LIB=`readlink %{_libdir}/libssl.so`
export CFLAGS="-D_GNU_SOURCE -fPIE -DPIE"
export LDFLAGS="$LDFLAGS -Wl,-z,now -pie"
cd build
@@ -217,7 +202,7 @@ cmake \
-DLIB=%{_lib} \
..
make
make CFLAGS="-DSSL_LIB='\"$SSL_LIB\"'"
# Make the freshly build openwsman libraries available to build the gem's
# binary extension.
@@ -300,16 +285,10 @@ rm -f /var/log/wsmand.log
%doc AUTHORS COPYING ChangeLog README.md
%files python
%{python2_sitearch}/*.so
%{python2_sitearch}/*.py
%{python2_sitearch}/*.pyc
%{python2_sitearch}/*.pyo
%doc AUTHORS COPYING ChangeLog README.md
%files python3
%{python3_sitearch}/*.so
%{python3_sitearch}/*.py
%{python3_sitearch}/__pycache__/*
%{python_sitearch}/*.so
%{python_sitearch}/*.py
%{python_sitearch}/*.pyc
%{python_sitearch}/*.pyo
%doc AUTHORS COPYING ChangeLog README.md
%files -n rubygem-%{gem_name}
@@ -360,23 +339,10 @@ rm -f /var/log/wsmand.log
%changelog
* Mon Mar 13 2017 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.6.2-8
* Mon Mar 13 2017 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.6.2-4
- Add shebang to winrs ruby script, make it executable
Resolves: #1387087
* Thu Aug 11 2016 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.6.2-7
- Add openwsman-python3 subpackage
Resolves: #1354481
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.2-6
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Sun May 15 2016 Jitka Plesnikova <jplesnik@redhat.com> - 2.6.2-5
- Perl 5.24 rebuild
* Tue Mar 22 2016 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.6.2-4
- Remove SSL_LIB acquired by readlink from CFLAGS
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild