summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Martin2017-05-01 18:20:04 -0500
committerStephen Martin2017-05-01 18:20:04 -0500
commit775d0b28c85a19f12a26479b624dc4eb2f300d02 (patch)
tree56ba77e2898f2990c573feeba51323fe5310f2e9
parent4cd4c8da45900753c0bbb9f7b1756b6525462b7d (diff)
downloadaur-775d0b28c85a19f12a26479b624dc4eb2f300d02.tar.gz
Fixed to work with openssl 1.0
Arch just updated to openssl 1.1. Rstudio-server requires openssl 1.0. - Added wget to depends as per a user's request - Patched out a socketproxy stream bug as seen in rstudio-desktop-git - Patched to change includes from openssl to openssl-1.0 - Patched to change cmake files to link against openssl-1.0
-rw-r--r--.SRCINFO10
-rw-r--r--PKGBUILD37
-rw-r--r--socketproxy-openssl.patch14
-rw-r--r--ssl.patch40
4 files changed, 88 insertions, 13 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 34cb8db9c1d5..c535685723d0 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,8 @@
# Generated by mksrcinfo v8
-# Wed Sep 7 15:45:15 UTC 2016
+# Mon May 1 23:19:48 UTC 2017
pkgbase = rstudio-server-git
pkgdesc = A new integrated development environment (IDE) for R programming language
- pkgver = v1.0.8.r2.g9e05893
+ pkgver = v1.1.218.r26.g6fd0aac880
pkgrel = 1
url = http://www.rstudio.org/
install = rstudio-server-git.install
@@ -20,15 +20,21 @@ pkgbase = rstudio-server-git
makedepends = pango
makedepends = pam
makedepends = zlib
+ makedepends = wget
depends = r>=2.11.1
depends = boost-libs>=1.5
depends = util-linux
depends = gcc-libs
+ depends = openssl-1.0
conflicts = rstudio-server
source = git://github.com/rstudio/rstudio.git
source = rstudio-server.service
+ source = socketproxy-openssl.patch
+ source = ssl.patch
md5sums = SKIP
md5sums = eea28f7865720f6c8d5de12f3f631880
+ md5sums = d571313f511ad4a17014c4aef6d01bbc
+ md5sums = 9012aeab620b45aa74f6f4db3f192b44
pkgname = rstudio-server-git
diff --git a/PKGBUILD b/PKGBUILD
index f512c1a8d391..5683e5aa6164 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,20 +8,24 @@
#
pkgname=rstudio-server-git
_gitname="rstudio"
-pkgver=v1.0.8.r2.g9e05893
+pkgver=v1.1.218.r26.g6fd0aac880
pkgrel=1
pkgdesc="A new integrated development environment (IDE) for R programming language"
arch=('i686' 'x86_64')
url="http://www.rstudio.org/"
license=('AGPL3')
-depends=('r>=2.11.1' 'boost-libs>=1.5' 'util-linux' 'gcc-libs')
-makedepends=('git' 'cmake>=2.8' 'boost>=1.5' 'java-runtime' 'apache-ant' 'unzip' 'openssl' 'bzip2' 'pango' 'pam' 'zlib')
+depends=('r>=2.11.1' 'boost-libs>=1.5' 'util-linux' 'gcc-libs' 'openssl-1.0')
+makedepends=('git' 'cmake>=2.8' 'boost>=1.5' 'java-runtime' 'apache-ant' 'unzip' 'openssl' 'bzip2' 'pango' 'pam' 'zlib' 'wget')
install="${pkgname}.install"
conflicts=('rstudio-server')
source=('git://github.com/rstudio/rstudio.git'
- 'rstudio-server.service')
+ 'rstudio-server.service'
+ 'socketproxy-openssl.patch'
+ 'ssl.patch')
md5sums=('SKIP'
- 'eea28f7865720f6c8d5de12f3f631880')
+ 'eea28f7865720f6c8d5de12f3f631880'
+ 'd571313f511ad4a17014c4aef6d01bbc'
+ '9012aeab620b45aa74f6f4db3f192b44')
pkgver() {
@@ -29,6 +33,14 @@ pkgver() {
git describe --long --tags | sed -r 's/([^-]*-g)/r\1/;s/-/./g'
}
+prepare () {
+ msg "Apply socketproxy-openssl.patch"
+ cd ${srcdir}/$_gitname
+ patch -p1 < ${srcdir}/socketproxy-openssl.patch
+ patch -p1 < ${srcdir}/ssl.patch
+}
+
+
build() {
cd "${srcdir}/$_gitname/dependencies/common"
msg "Downloading and installing dependencies"
@@ -40,34 +52,37 @@ build() {
./install-packages
# Small hack
- #sed -i 's/init.d/rc.d/' ${srcdir}/rstudio/src/cpp/#server/extras/admin/rstudio-server.in
# unset user Rprofile.r variable for building
if [ -n $R_PROFILE_USER ]; then
- unset R_PROFILE_USER
+ unset R_PROFILE_USER
fi
# Configure with cmake in a new buld directory as recommended in the rstudio INSTALL file
+ rm -rf ${srcdir}/$_gitname/build
mkdir "${srcdir}/$_gitname/build"
cd "${srcdir}/$_gitname/build"
# Configure cmake
cmake -DRSTUDIO_TARGET=Server -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/lib/rstudio-server -DCMAKE_DL_LIBRARIES=/usr/lib64/libdl.so -DCMAKE_LIBR_DOC_DIR=/usr/share/doc/R -DCMAKE_LIBR_EXECUTABLE=/usr/bin/R -DCMAKE_LIBR_HOME=/usr/lib64/R -DCMAKE_LIBR_INCLUDE_DIRS=/usr/include/R -DCMAKE_LIBR_CORE_LIBRARY=usr/lib64/R/lib/libR.so ..
+
+ # Make
+ make
}
package() {
# Install
- msg "Starting make and install..."
+ msg "Installing to pkgdir"
cd "${srcdir}/$_gitname/build"
make DESTDIR="$pkgdir" install
# Extras (pam, var)
- msg "Install adittional files..."
+ msg "Install additional files..."
install -d "${pkgdir}/etc/pam.d"
install -Dm 644 "${pkgdir}/usr/lib/rstudio-server/extras/pam/rstudio" "${pkgdir}/etc/pam.d/rstudio"
# rstudio home directory
install -d "${pkgdir}/srv/rstudio"
# mv "${pkgdir}/usr/lib/rstudio-server/www" "${pkgdir}/srv/rstudio"
# rm -rf "${pkgdir}/usr/lib/rstudio-server/extras"
- install -d "${pkgdir}/etc/systemd/system"
- install -Dm 644 "${srcdir}/rstudio-server.service" "${pkgdir}/etc/systemd/system/rstudio-server.service"
+ install -d "${pkgdir}/usr/lib//systemd/system"
+ install -Dm 644 "${srcdir}/rstudio-server.service" "${pkgdir}/usr/lib//systemd/system/rstudio-server.service"
install -d "${pkgdir}/etc/rstudio"
# vars
mkdir -p ${pkgdir}/run/rstudio-server ${pkgdir}/lock/rstudio-server ${pkgdir}/var/log/rstudio-server ${pkgdir}/var/lib/rstudio-server
diff --git a/socketproxy-openssl.patch b/socketproxy-openssl.patch
new file mode 100644
index 000000000000..9d521eda2e27
--- /dev/null
+++ b/socketproxy-openssl.patch
@@ -0,0 +1,14 @@
+--- a/src/cpp/core/http/SocketProxy.cpp.orig 2017-04-28 09:07:11.342017929 +0800
++++ b/src/cpp/core/http/SocketProxy.cpp 2017-04-28 09:12:35.662573281 +0800
+@@ -148,8 +148,9 @@
+ #ifndef _WIN32
+ bool isSslShutdownError(const core::Error& error)
+ {
+- return error.code().category() == boost::asio::error::get_ssl_category() &&
+- error.code().value() == ERR_PACK(ERR_LIB_SSL, 0, SSL_R_SHORT_READ);
++ //return error.code().category() == boost::asio::error::get_ssl_category() &&
++ // error.code().value() == ERR_PACK(ERR_LIB_SSL, 0, SSL_R_SHORT_READ);
++ return error.code() == boost::asio::ssl::error::stream_truncated;
+ }
+ #else
+ bool isSslShutdownError(const core::Error& error)
diff --git a/ssl.patch b/ssl.patch
new file mode 100644
index 000000000000..003540200d77
--- /dev/null
+++ b/ssl.patch
@@ -0,0 +1,40 @@
+--- a/src/cpp/core/system/PosixCrypto.cpp
++++ b/src/cpp/core/system/PosixCrypto.cpp
+@@ -18,13 +18,13 @@
+
+ #include <fcntl.h>
+
+-#include <openssl/err.h>
+-#include <openssl/hmac.h>
+-#include <openssl/bio.h>
+-#include <openssl/buffer.h>
+-#include <openssl/pem.h>
+-#include <openssl/rand.h>
+-#include <openssl/rsa.h>
++#include <openssl-1.0/openssl/err.h>
++#include <openssl-1.0/openssl/hmac.h>
++#include <openssl-1.0/openssl/bio.h>
++#include <openssl-1.0/openssl/buffer.h>
++#include <openssl-1.0/openssl/pem.h>
++#include <openssl-1.0/openssl/rand.h>
++#include <openssl-1.0/openssl/rsa.h>
+
+ #include <algorithm>
+
+--- a/src/cpp/core/CMakeLists.txt
++++ b/src/cpp/core/CMakeLists.txt
+@@ -200,7 +200,12 @@ if (UNIX)
+ endif()
+
+ if(RSTUDIO_SERVER)
+- find_package(OpenSSL REQUIRED QUIET)
++ # find_package(OpenSSL REQUIRED QUIET)
++ find_library(SSL ssl PATHS /usr/lib/openssl-1.0)
++ find_library(CRYPTO crypto PATHS /usr/lib/openssl-1.0)
++ set(OPENSSL_INCLUDE_DIRS /usr/include/openssl-1.0)
++ #set(OPENSSL_LIBRARIES ${SSL} ${CRYPTO} )
++ set(OPENSSL_LIBRARIES /usr/lib/openssl-1.0/libssl.so /usr/lib/openssl-1.0/libcrypto.so)
+ find_package(PAM REQUIRED)
+ set(CORE_SYSTEM_LIBRARIES
+ ${CORE_SYSTEM_LIBRARIES}
+