diff options
author | skydrome | 2019-11-10 00:45:59 -0500 |
---|---|---|
committer | skydrome | 2019-11-10 00:45:59 -0500 |
commit | 489785e6e96c3723d66ae2e256feca9a86dc84b9 (patch) | |
tree | 2598bac17dda65cafb7a49486bf780493b36120b | |
parent | a4ecfdea4ed625584c4f943f6cf692795710cfc3 (diff) | |
download | aur-489785e6e96c3723d66ae2e256feca9a86dc84b9.tar.gz |
gradle 6 for jdk13 support
-rw-r--r-- | 0001-strip-non-compile-deps.patch | 53 | ||||
-rw-r--r-- | PKGBUILD | 48 | ||||
-rw-r--r-- | freenet.install | 31 | ||||
-rw-r--r-- | freenet.service | 22 | ||||
-rw-r--r-- | freenet.tmpfiles | 2 | ||||
-rw-r--r-- | run.sh | 82 |
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], @@ -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 @@ -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 |