summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorskydrome2019-11-10 00:45:59 -0500
committerskydrome2019-11-10 00:45:59 -0500
commit489785e6e96c3723d66ae2e256feca9a86dc84b9 (patch)
tree2598bac17dda65cafb7a49486bf780493b36120b
parenta4ecfdea4ed625584c4f943f6cf692795710cfc3 (diff)
downloadaur-489785e6e96c3723d66ae2e256feca9a86dc84b9.tar.gz
gradle 6 for jdk13 support
-rw-r--r--0001-strip-non-compile-deps.patch53
-rw-r--r--PKGBUILD48
-rw-r--r--freenet.install31
-rw-r--r--freenet.service22
-rw-r--r--freenet.tmpfiles2
-rw-r--r--run.sh82
6 files changed, 112 insertions, 126 deletions
diff --git a/0001-strip-non-compile-deps.patch b/0001-strip-non-compile-deps.patch
index 7d28b7a60efe..d4daf4af0dcc 100644
--- a/0001-strip-non-compile-deps.patch
+++ b/0001-strip-non-compile-deps.patch
@@ -1,27 +1,27 @@
-From 8a83c8f528f49a271265a85a9830ec53f28c2162 Mon Sep 17 00:00:00 2001
+From df33ee36995ba97ff901b4647641a664fea573a6 Mon Sep 17 00:00:00 2001
From: skydrome <skydrome@protonmail.org>
-Date: Fri, 19 Apr 2019 03:25:22 -0400
+Date: Sat, 9 Nov 2019 22:47:52 -0500
Subject: [PATCH] strip non-compile deps
---
- build.gradle | 8 --------
- dependencies.gradle | 5 -----
- 2 files changed, 13 deletions(-)
+ build.gradle | 10 ----------
+ dependencies.gradle | 5 -----
+ 2 files changed, 15 deletions(-)
diff --git a/build.gradle b/build.gradle
-index db7d1b5ec..0d1d06a01 100644
+index 6defc81c7..7af31bc37 100644
--- a/build.gradle
+++ b/build.gradle
-@@ -15,8 +15,6 @@ plugins {
+@@ -13,8 +13,6 @@ buildscript {
+ plugins {
id "java"
id "maven-publish"
-
-- id "com.github.spotbugs" version "1.7.1"
-- id "org.sonarqube" version "2.7"
- id "com.adarshr.test-logger" version "1.6.0"
- id "org.ajoberstar.grgit" version "3.1.1"
+- id "com.github.spotbugs" version "2.0.1"
+- id "org.sonarqube" version "2.8"
+ id "com.adarshr.test-logger" version "2.0.0"
+ id "org.ajoberstar.grgit" version "4.0.0-rc.1"
}
-@@ -38,7 +36,6 @@ sourceSets {
+@@ -36,7 +34,6 @@ sourceSets {
}
// Configuration
@@ -29,22 +29,25 @@ index db7d1b5ec..0d1d06a01 100644
// output: build01484-13-g5831bbf
String gitrev = grgit.open(dir: project.rootDir).describe()
-@@ -234,10 +231,5 @@ dependencyVerification {
- 'net.java.dev.jna:jna-platform:4.2.2:jna-platform-4.2.2.jar:32aca873a4cb14721d939bbc8287a828919c05e8e1040b3fe8290f6128cdecca',
- 'net.java.dev.jna:jna:4.2.2:jna-4.2.2.jar:1f38af54e06c6e6f6dbf39ba2c052b952dea5dddb4871127b34639ddeb11bdbe',
- 'org.freenetproject:freenet-ext:29:freenet-ext-29.jar:32f2b3d6beedf54137ea2f9a3ebef67666d769f0966b08cd17fd7db59ba4d79f',
-- 'junit:junit:4.12:junit-4.12.jar:59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a',
-- 'org.mockito:mockito-core:1.9.5:mockito-core-1.9.5.jar:f97483ba0944b9fa133aa29638764ddbeadb51ec3dbc02074c58fa2caecd07fa',
-- 'org.hamcrest:hamcrest-library:1.3:hamcrest-library-1.3.jar:711d64522f9ec410983bd310934296da134be4254a125080a0416ec178dfad1c',
-- 'org.hamcrest:hamcrest-core:1.3:hamcrest-core-1.3.jar:66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9',
-- 'org.objenesis:objenesis:1.0:objenesis-1.0.jar:c5694b55d92527479382f254199b3c6b1d8780f652ad61e9ca59919887f491a8',
- ]
+@@ -69,13 +66,6 @@ tasks.withType(AbstractArchiveTask) {
+ preserveFileTimestamps false
+ reproducibleFileOrder true
}
+-tasks.withType(com.github.spotbugs.SpotBugsTask) {
+- reports {
+- html.enabled = true
+- xml.enabled = true
+- }
+- pluginClasspath = project.configurations.spotbugsPlugins
+-}
+
+ // Tasks
+
diff --git a/dependencies.gradle b/dependencies.gradle
-index 7a0d30184..da0752c6a 100644
+index e7e02aec6..20a3e5483 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
-@@ -39,10 +39,5 @@ ext {
+@@ -33,10 +33,5 @@ ext {
[config: "implementation", dep: libs.jna],
[config: "implementation", dep: libs.jnaplatform],
[config: "implementation", dep: libs.freenet],
diff --git a/PKGBUILD b/PKGBUILD
index 6a277c5a4a12..f6e0c5f1bc2c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -9,8 +9,6 @@ _upnp=#tag=10007
_pkgver=0.7.5
_plugins=('WebOfTrust' 'UPnP' 'KeyUtils')
-# comment out to run unit tests
-BUILDENV+=('!check')
pkgname=freenet
pkgver=0.7.5.1484
@@ -21,7 +19,7 @@ license=('GPL2')
arch=('i686' 'x86_64')
install='freenet.install'
depends=('java-runtime>=8' 'gmp' 'java-service-wrapper')
-makedepends=('java-environment>=8' 'java-environment<13' 'apache-ant' 'git' 'zip' 'gradle')
+makedepends=('java-environment>=8' 'apache-ant' 'git' 'zip')
backup=('opt/freenet/wrapper.config'
'opt/freenet/conf/freenet.ini')
@@ -32,7 +30,7 @@ source=("git+https://github.com/freenet/fred.git${_fred}"
"IpToCountry.dat::http://software77.net/geo-ip/?DL=4"
"https://github.com/freenet/seedrefs/files/1609768/seednodes.zip"
'0001-strip-non-compile-deps.patch'
- 'run.sh' 'freenet.service' 'freenet.ini' 'wrapper.config')
+ 'run.sh' 'freenet.ini' 'wrapper.config' 'freenet.service' 'freenet.tmpfiles')
sha256sums=('SKIP'
'SKIP'
@@ -40,11 +38,12 @@ sha256sums=('SKIP'
'SKIP'
'SKIP'
'0d91d2462f36d35235cc86cbdee11890cadec91a0a01b89d96010924f6c2be99'
- 'd3d2f43e2bdaa93bfaa60fa2c82f6b42fb50539db2ad48e03664b537a4aa8071'
- 'a6581d33448c2989ef9f7e888e7e47a8784b0159e76bf8f6bc97eec1d7d55769'
- '434f67e2e86edb555b7dfb572a52d7ff719373989e1f1830f779bfccc678539f'
+ '4b2017c3da5f2dad1bc7aec2a1afb33a8d0a8cbf754f8f8d95cb0bb34f71d2ae'
+ '171dc64316dcdafc98ddc0136ed4b14ab2d6688817e9e9c08be97560a38f2879'
'c0ce093a098d91dee6be294f8a2fc929aabad95612f994933194d0da5c4cdd25'
- '30788b1b7856fbcfcfbe6825cd772a22b75cf1d680c2cbfd9b15ef3fc2d0c077')
+ '30788b1b7856fbcfcfbe6825cd772a22b75cf1d680c2cbfd9b15ef3fc2d0c077'
+ 'f03cb422c1b1c068b61092d118838a6f77462e80d78a32cf231146ffcc6b9a7a'
+ 'f4fa90c9840cfdb62ec384b366ae3472246300ddacca74310e1e06a5c1fb582c')
pkgver() {
cd "fred"
@@ -55,20 +54,22 @@ pkgver() {
prepare() {
cd "fred"
- # Gradle 5.4+ and Java 11 support
- git pull origin pull/658/head
+ # Gradle 6 and Java 13 support
+ git pull origin pull/683/head
git apply -v "$srcdir/0001-strip-non-compile-deps.patch"
}
build() {
cd "fred"
- export GRADLE_USER_HOME="$srcdir/.gradle"
+ export GRADLE_USER_HOME="$startdir/.gradle"
+ export GRADLE_OPTS="-Dorg.gradle.internal.launcher.welcomeMessageEnabled=false"
msg "Building Freenet..."
- gradle -DtargetJavaVersion=$(javac -version 2>&1 |awk '{print $2}') \
- --no-build-cache --no-daemon \
- copyRuntimeLibs
+ ./gradlew \
+ -DtargetJavaVersion=$(javac -version 2>&1 |awk '{print $2}') \
+ --no-build-cache --no-daemon \
+ copyRuntimeLibs
build_plugins
}
@@ -88,22 +89,15 @@ build_plugins() {
done
}
-check() {
- cd "fred"
-
- # these tests use alot of memory and can cause OOM's
- #rm -f test/freenet/client/async/{*Storage,ClientRequestSelector}Test.java
- gradle test
-}
-
package() {
cd "fred"
# freenet
install -dm755 "$pkgdir"/usr/bin
install -dm700 "$pkgdir"/run/freenet
- install -dm700 "$pkgdir"/opt/freenet/tmp
- install -dm750 "$pkgdir"/opt/freenet/{downloads,lib,conf,noderef,persistent-temp,plugins/data,user/{data,certs}}
+ install -dm700 "$pkgdir"/opt/freenet
+ install -dm700 "$pkgdir"/opt/freenet/{tmp,downloads,lib,conf,noderef,persistent-temp,plugins,user}
+ install -dm700 "$pkgdir"/opt/freenet/{plugins/data,user/{data,certs}}
install -m640 "$srcdir"/{wrapper.config,run.sh,IpToCountry.dat} "$pkgdir"/opt/freenet
install -m640 "$srcdir"/freenet.ini "$pkgdir"/opt/freenet/conf
@@ -125,11 +119,9 @@ package() {
ln -s /opt/freenet/run.sh "$pkgdir"/usr/bin/freenet
# systemd
- install -dm755 "$pkgdir"/usr/lib/tmpfiles.d
+ install -Dm644 "$srcdir"/freenet.tmpfiles "$pkgdir"/usr/lib/tmpfiles.d/freenet.conf
install -Dm644 "$srcdir"/freenet.service "$pkgdir"/usr/lib/systemd/system/freenet.service
- echo 'd /run/freenet 0700 freenet freenet' >"$pkgdir"/usr/lib/tmpfiles.d/freenet.conf
# license
- install -dm755 "$pkgdir"/usr/share/licenses/freenet
- install -m644 LICENSE "$pkgdir"/usr/share/licenses/freenet/LICENSE
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/freenet/LICENSE
}
diff --git a/freenet.install b/freenet.install
index eb553586afc3..3b625586e432 100644
--- a/freenet.install
+++ b/freenet.install
@@ -1,41 +1,36 @@
post_install() {
- getent passwd freenet &>/dev/null || {
- echo -n ">>> Creating freenet system user... "
+ getent passwd freenet &>/dev/null || {
+ echo -n "==> Creating freenet system user... "
useradd --system \
--user-group \
--home /opt/freenet \
freenet &&
echo "ok" || echo "fail"
}
- chown -R freenet:freenet /opt/freenet /run/freenet
- echo
- echo "Freenet will be slow during first startup while it discovers the network."
- echo "You may see 'Data Not Found' or 'Route Not Found' errors, this is normal."
- echo "For best performance Freenet should be run 24/7 as much as possible."
- echo "Your node's configuration WebUI is located at http://127.0.0.1:8888/ "
- echo "https://freenetproject.org/faq.html"
- echo
+ chown -R freenet:freenet /opt/freenet
+ echo "==> Freenet will be slow during first startup while it discovers the network."
+ echo "==> You may see 'Data Not Found' or 'Route Not Found' errors, this is normal."
+ echo "==> For best performance Freenet should be run 24/7 as much as possible."
+ echo "==> Your node's configuration WebUI is located at http://127.0.0.1:8888/ "
+ echo "==> https://freenetproject.org/faq.html"
}
post_upgrade() {
- chown -R freenet:freenet /opt/freenet /run/freenet
-
## remove me at a later date
[[ -d /opt/freenet/conf/node ]] && {
sed -i /opt/freenet/conf/freenet.ini \
-e "s:node.install.nodeDir=/opt/freenet/conf/node:node.install.nodeDir=/opt/freenet/noderef:" \
-e "s:JSTUN;::"
mv /opt/freenet/conf/node /opt/freenet/noderef
- }
+ } || true
- echo
+ chown -R freenet:freenet /opt/freenet
}
pre_remove() {
getent passwd freenet &>/dev/null && {
- echo -n ">>> Removing freenet system user... "
- userdel freenet
- echo "ok"
- echo
+ echo -n "==> Removing freenet system user... "
+ userdel freenet &&
+ echo "ok" || echo "fail"
}
}
diff --git a/freenet.service b/freenet.service
index 23db0fb1d7d4..e13c32488fc6 100644
--- a/freenet.service
+++ b/freenet.service
@@ -1,13 +1,27 @@
[Unit]
Description=An encrypted network without censorship and monitoring.
-After=network.target
+After=network.target time-sync.target
[Service]
Type=forking
User=freenet
-ExecStart=/opt/freenet/run.sh start --quiet
-ExecStop=/opt/freenet/run.sh stop --quiet
-WorkingDirectory=/opt/freenet
+PIDFile=/run/freenet/freenet.pid
+
+NoNewPrivileges=yes
+PrivateTmp=yes
+PrivateDevices=yes
+DeviceAllow=/dev/null rw
+DeviceAllow=/dev/urandom r
+LimitNOFILE=4096
+
+ExecStart=/usr/bin/java-service-wrapper /opt/freenet/wrapper.config \
+ wrapper.name=freenet \
+ wrapper.syslog.ident=freenet \
+ wrapper.daemonize=TRUE TZ=UTC
+ExecReload=/bin/kill -USR1 $MAINPID
+ExecStop=/bin/kill -TERM $MAINPID
+SendSIGKILL=no
+SuccessExitStatus=0 2 3
[Install]
WantedBy=multi-user.target
diff --git a/freenet.tmpfiles b/freenet.tmpfiles
new file mode 100644
index 000000000000..eee8a63584f4
--- /dev/null
+++ b/freenet.tmpfiles
@@ -0,0 +1,2 @@
+d /run/freenet 0700 freenet freenet
+d /opt/freenet 0700 freenet freenet
diff --git a/run.sh b/run.sh
index 3c264e19bc93..79794a7c845e 100644
--- a/run.sh
+++ b/run.sh
@@ -4,8 +4,7 @@
_USER="freenet"
WRAPPER_CMD="/usr/bin/java-service-wrapper"
WRAPPER_CONF="/opt/freenet/wrapper.config"
-PIDDIR="/run/freenet"
-PIDFILE="$PIDDIR/freenet.pid"
+PIDFILE="/run/freenet/freenet.pid"
TIMEOUT=60
#-----------------------------------------------------------------------------
@@ -16,10 +15,6 @@ fail() {
check_user() {
if [[ "$(id -un)" != "$_USER" ]]; then
- if [[ ! -d "$PIDDIR" ]]; then
- install -dm700 "$PIDDIR"
- chown ${_USER}:${_USER} "$PIDDIR"
- fi
SCRIPT_PATH="$(cd $(dirname $0) && pwd)/$(basename $0)"
su - "$_USER" -c "${SCRIPT_PATH} $@"
exit $?
@@ -35,7 +30,7 @@ init_vars() {
fail "Attempting to start as root! Please edit $(basename $0) and set the variable \$_USER"
[[ "$(id -un "$_USER")" != "$_USER" ]] &&
fail "\$_USER does not exist: $_USER"
- COMMAND_LINE="\"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"freenet\" wrapper.name=\"freenet\""
+ COMMAND_LINE="\"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"freenet\" wrapper.name=\"freenet\" TZ=UTC"
}
get_wrapper_pid() {
@@ -72,7 +67,7 @@ _console() {
eval $COMMAND_LINE
[[ $? != 0 ]] && fail "Failed to launch the wrapper!"
else
- echo "Freenet is already running"
+ echo "Freenet is already running! (pid: $pid)"
fi
}
@@ -83,18 +78,16 @@ _start() {
eval $COMMAND_LINE
[[ $? != 0 ]] && fail "Failed to launch the wrapper!"
i=0
- if [[ ! $_quiet ]]; then
- while [[ ! "$pid" || $i < $TIMEOUT ]]; do
- echo -n "."
- sleep 1
- check_if_running
- ((i++))
- done
- fi
+ while [[ ! "$pid" || $i < $TIMEOUT ]]; do
+ echo -n "."
+ sleep 1
+ check_if_running
+ ((i++))
+ done
[[ $(get_pid) ]] &&
echo " done" || fail "timeout: Failed to start wrapper!"
else
- echo "Freenet is already running"
+ echo "Freenet is already running! (pid: $pid)"
fi
}
@@ -109,16 +102,14 @@ _stop() {
kill -TERM $(get_wrapper_pid)
[[ $? != 0 ]] && fail "Unable to stop Freenet: kill -TERM $pid"
i=0
- if [[ ! $_quiet ]]; then
- while [[ "$pid" || $i > $TIMEOUT ]]; do
- echo -n "."
- sleep 1
- [[ ! $(get_pid) ]] && unset pid
- ((i++))
- done
- if [[ "$pid" ]]; then
- fail "timeout: Failed to stop wrapper!"
- fi
+ while [[ "$pid" || $i > $TIMEOUT ]]; do
+ echo -n "."
+ sleep 1
+ [[ ! $(get_pid) ]] && unset pid
+ ((i++))
+ done
+ if [[ "$pid" ]]; then
+ fail "timeout: Failed to stop wrapper!"
fi
echo " done"
else
@@ -126,11 +117,6 @@ _stop() {
fi
}
-_status() {
- [[ "$pid" ]] &&
- echo "Freenet is running: PID:$pid" || echo "Freenet is not running."
-}
-
_dump() {
if [[ "$pid" ]]; then
echo "Dumping threads..."
@@ -143,12 +129,21 @@ _dump() {
}
#-----------------------------------------------------------------------------
+[[ "$1" != @(console|start|stop|restart|dump) ]] && {
+ echo "Usage: $(basename $0) [command]"
+ echo
+ echo "Commands:"
+ echo " console Launch in the current console"
+ echo " start Start in the background as a daemon process"
+ echo " stop Stop if running as a daemon or in another console"
+ echo " restart Restart the JVM"
+ echo " dump Request a Java thread dump if running"
+ exit
+}
+
check_user "$*"
-init_vars
check_if_running
-
-[[ "$2" = '--quiet' ]] &&
- _quiet=true
+init_vars
case "$1" in
'console') _console
@@ -159,21 +154,6 @@ case "$1" in
;;
'restart') _restart
;;
- 'status') _status
- ;;
'dump') _dump
;;
-
- *) echo "Usage: $(basename $0) [command]"
- echo
- echo "Commands:"
- echo " console Launch in the current console"
- echo " start Start in the background as a daemon process"
- echo " stop Stop if running as a daemon or in another console"
- echo " restart Restart the JVM"
- echo " status Query the current status"
- echo " dump Request a Java thread dump if running"
- echo
- ;;
esac
-exit 0