Skip to content

Commit

Permalink
Fixes #14893: RHE7 and SLES12 don't have mod wsgi for python 3
Browse files Browse the repository at this point in the history
  • Loading branch information
peckpeck committed May 15, 2019
1 parent ed127d3 commit ce754fc
Show file tree
Hide file tree
Showing 6 changed files with 69 additions and 24 deletions.
4 changes: 2 additions & 2 deletions rudder-server-relay/SPECS/dependencies
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
sles-12:python3-devel pkgconfig postgresql-devel openssl-devel zlib-devel xz-devel
sles-12:python-devel pkgconfig postgresql-devel openssl-devel zlib-devel xz-devel
sles-15:python3-devel pkgconfig postgresql-devel openssl-devel zlib-devel xz-devel
rhel-7:python3-devel selinux-policy-devel pkgconfig postgresql-devel openssl-devel zlib-devel xz-devel
rhel-7:python-devel selinux-policy-devel pkgconfig postgresql-devel openssl-devel zlib-devel xz-devel
rust:yes
34 changes: 29 additions & 5 deletions rudder-server-relay/SPECS/rudder-server-relay.spec
Original file line number Diff line number Diff line change
Expand Up @@ -67,18 +67,37 @@ AutoReq: 0
AutoProv: 0

## General
BuildRequires: python3, python3-devel, pkgconfig, postgresql-devel, openssl-devel, zlib-devel, xz-devel
Requires: rudder-agent >= %{real_epoch}:%{real_version}, rsyslog, openssl, %{apache}, %{apache_tools}, python3, binutils, xz, zlib, postgresql
BuildRequires: pkgconfig, postgresql-devel, openssl-devel, zlib-devel, xz-devel
Requires: rudder-agent >= %{real_epoch}:%{real_version}, rsyslog, openssl, %{apache}, %{apache_tools}, binutils, xz, zlib, postgresql

## RHEL
%if 0%{?rhel}
Requires: mod_ssl mod_wsgi shadow-utils crontabs
Requires: mod_ssl shadow-utils crontabs
BuildRequires: selinux-policy-devel

%endif

## SLES
%if 0%{?suse_version}
Requires: apache2-mod_wsgi pwdutils cron
Requires: pwdutils cron
%endif

## Python 3
%if 0%{?rhel} && 0%{?rhel} == 7
BuildRequires: python
Requires: python, mod_wsgi
%endif
%if 0%{?rhel} && 0%{?rhel} == 8
BuildRequires: python3
Requires: python3, python3-mod_wsgi
%endif
# Doc for suse versioning https://en.opensuse.org/openSUSE:Packaging_for_Leap
%if 0%{?suse_version} && 0%{?suse_version} < 1500
BuildRequires: python
Requires: python, apache2-mod_wsgi
%endif
%if 0%{?suse_version} && 0%{?suse_version} >= 1500
BuildRequires: python3
Requires: python3, apache2-mod_wsgi-python3
%endif

%description
Expand All @@ -96,6 +115,11 @@ run a Rudder relay server on a machine.
# We don't know the exact version
cd rudder-sources-*/rudder/relay/sources/

# rhel7 and sles12 don't have mod wsgi python 3 so we force python2 instead
%if 0%{?rhel} == 7 || ( 0%{?suse_version} && 0%{?suse_version} < 1500 )
find . -type f | xargs sed -i '1,1s|#!/usr/bin/python3|#!/usr/bin/python2|'
%endif

#=================================================
# Building
#=================================================
Expand Down
2 changes: 1 addition & 1 deletion rudder-server-relay/debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Homepage: https://www.rudder.io

Package: rudder-server-relay
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, python3, rudder-agent (>= ${binary:Version}), apache2, apache2-utils, rsyslog, openssl, libapache2-mod-wsgi, cron, binutils, xz-utils, zlib1g, libpq, systemd
Depends: ${shlibs:Depends}, ${misc:Depends}, python3, rudder-agent (>= ${binary:Version}), apache2, apache2-utils, rsyslog, openssl, libapache2-mod-wsgi-py3, cron, binutils, xz-utils, zlib1g, libpq, systemd
Description: Configuration management and audit tool - Server relay package
Rudder is an open source configuration management and audit solution.
.
Expand Down
6 changes: 3 additions & 3 deletions rudder-webapp/SPECS/dependencies
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
sles-12:python3-devel
sles-15:python3-devel
rhel-7:python3-devel java-1.8.0-openjdk-devel selinux-policy-devel
sles-12:python-devel
sles-15:python3-devel java-1_8_0-openjdk
rhel-7:python-devel java-1.8.0-openjdk-devel selinux-policy-devel
java:jdk
45 changes: 33 additions & 12 deletions rudder-webapp/SPECS/rudder-webapp.spec
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,6 @@ BuildArch: noarch
AutoReq: 0
AutoProv: 0

# Add Requires here - order is important
BuildRequires: python3
Requires: python3

# Smooth upgrade
Obsoletes: ncf, ncf-api-virtualenv, rudder-techniques
# Prevent reinstalling old versions
Expand All @@ -96,36 +92,61 @@ Requires: postgresql >= 9.2

# OS-specific dependencies

##
## Those jetty packages are virtual packages provided by our Jetty and the system one.
##

## RHEL
%if 0%{?rhel}
BuildRequires: java-1.8.0-openjdk-devel selinux-policy-devel
# We need mod_wsgi to use ncf builder
Requires: mod_ssl httpd mod_wsgi shadow-utils
Requires: mod_ssl httpd shadow-utils
Requires: jre-headless >= 1.8
Requires: perl-Digest-SHA
%endif

## SLES
%if 0%{?suse_version}
BuildRequires: jdk >= 1.8
Requires: apache2 apache2-mod_wsgi pwdutils
Requires: apache2 pwdutils
%endif

%if 0%{?sle_version} && 0%{?sle_version} >= 150000
Requires: java-10-openjdk-headless insserv-compat
Requires: jdk >= 1.8 insserv-compat
%endif

## Python 3
%if 0%{?rhel} && 0%{?rhel} == 7
BuildRequires: python
Requires: python, mod_wsgi
%endif
%if 0%{?rhel} && 0%{?rhel} == 8
BuildRequires: python3
Requires: python3, python3-mod_wsgi
%endif
# Doc for suse versioning https://en.opensuse.org/openSUSE:Packaging_for_Leap
%if 0%{?suse_version} && 0%{?suse_version} < 1500
BuildRequires: python
Requires: python, apache2-mod_wsgi
%endif
%if 0%{?suse_version} && 0%{?suse_version} >= 1500
BuildRequires: python3
Requires: python3, apache2-mod_wsgi-python3
%endif


%description
Rudder is an open source configuration management and audit solution.

This package contains the web application that is the main user interface to
Rudder. The webapp is automatically installed and started using the Jetty
application server bundled in the rudder-jetty package.

#=================================================
# Source preparation
#=================================================
%prep

# rhel7 and sles12 don't have mod wsgi python 3 so we force python2 instead
%if 0%{?rhel} == 7 || ( 0%{?suse_version} && 0%{?suse_version} < 1500 )
find . -type f | xargs sed -i '1,1s|#!/usr/bin/python3|#!/usr/bin/python2|'
%endif

#=================================================
# Building
#=================================================
Expand Down
2 changes: 1 addition & 1 deletion rudder-webapp/debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Homepage: http://www.rudder-project.org

Package: rudder-webapp
Architecture: all
Depends: ${shlibs:Depends}, ${misc:Depends}, systemd, python3, rudder-ldap (= ${binary:Version}), rudder-server-relay (= ${binary:Version}), apache2, apache2-utils, libapache2-mod-wsgi, git-core, rsync, lsb-release, openssl, ldap-utils, postgresql-client (>=9.2), java8-runtime-headless | openjdk-8-jre-headless | oracle-java8-installer, curl
Depends: ${shlibs:Depends}, ${misc:Depends}, systemd, python3, rudder-ldap (= ${binary:Version}), rudder-server-relay (= ${binary:Version}), apache2, apache2-utils, libapache2-mod-wsgi-py3, git-core, rsync, lsb-release, openssl, ldap-utils, postgresql-client (>=9.2), java8-runtime-headless | openjdk-8-jre-headless | oracle-java8-installer, curl
Breaks: ncf, ncf-api-virtualenv, rudder-techniques, rudder-inventory-endpoint, rudder-jetty
Replaces: ncf, ncf-api-virtualenv, rudder-techniques, rudder-inventory-endpoint, rudder-jetty
Description: Configuration management and audit tool - webapp
Expand Down

0 comments on commit ce754fc

Please sign in to comment.