diff options
author | Stephen Martin | 2017-05-01 18:20:04 -0500 |
---|---|---|
committer | Stephen Martin | 2017-05-01 18:20:04 -0500 |
commit | 775d0b28c85a19f12a26479b624dc4eb2f300d02 (patch) | |
tree | 56ba77e2898f2990c573feeba51323fe5310f2e9 | |
parent | 4cd4c8da45900753c0bbb9f7b1756b6525462b7d (diff) | |
download | aur-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-- | .SRCINFO | 10 | ||||
-rw-r--r-- | PKGBUILD | 37 | ||||
-rw-r--r-- | socketproxy-openssl.patch | 14 | ||||
-rw-r--r-- | ssl.patch | 40 |
4 files changed, 88 insertions, 13 deletions
@@ -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 @@ -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} + |