diff options
author | Shane Chen | 2019-04-17 17:08:23 +0800 |
---|---|---|
committer | Shane Chen | 2019-05-01 21:03:15 +0800 |
commit | cafd47f4589ac56ea10d7322ca78961056aa1a84 (patch) | |
tree | d48821897784c526c781e84452d615d9da818ddc | |
parent | aec6c02d1a3644c5fd69fc47ade4298464c3876b (diff) | |
download | aur-cafd47f4589ac56ea10d7322ca78961056aa1a84.tar.gz |
domjudge: new upstream release 7.0.0
-rw-r--r-- | .SRCINFO | 68 | ||||
-rw-r--r-- | PKGBUILD | 124 | ||||
-rw-r--r-- | domjudge-cgroup.service | 11 | ||||
-rw-r--r-- | domjudge-domserver.conf | 2 | ||||
-rw-r--r-- | domjudge-domserver.install | 11 | ||||
-rw-r--r-- | domjudge-judgehost.conf | 4 | ||||
-rw-r--r-- | domjudge-judgehostd.service | 3 | ||||
-rw-r--r-- | domjudge-judgehostd@.service | 15 | ||||
-rw-r--r-- | domjudge.install | 58 | ||||
-rw-r--r-- | jsoncpp.patch | 25 |
10 files changed, 186 insertions, 135 deletions
@@ -1,30 +1,60 @@ -# Generated by mksrcinfo v8 -# Sat Jul 30 17:22:36 UTC 2016 pkgbase = domjudge - pkgdesc = programming contest jury system - pkgver = 5.1.2 + pkgdesc = an automated judge system to run programming contests + pkgver = 7.0.0 pkgrel = 1 - url = http://domjudge.sourceforge.net/ - install = domjudge.install - arch = i686 + url = http://www.domjudge.org/ arch = x86_64 license = GPL makedepends = boost - depends = php-apache - depends = mysql - depends = texlive-core - depends = libcgroup - depends = curl - depends = jsoncpp + makedepends = composer + makedepends = inetutils + makedepends = libcgroup + makedepends = git + makedepends = jsoncpp + optdepends = mysql: to run database on current host optdepends = phpmyadmin: to access database in an emergency optdepends = ntp: to keep judgehosts clocks in sync optdepends = beep: for notification of errors - source = http://www.domjudge.org/releases/domjudge-5.1.2.tar.gz + source = https://www.domjudge.org/releases/domjudge-7.0.0.tar.gz + source = domjudge-domserver.conf + source = domjudge-judgehost.conf source = domjudge-judgehostd.service - source = jsoncpp.patch - md5sums = a200a53f86596a8e89c76bbc014c1e66 - md5sums = 93cd5b10fc2636b664f2c17b4f34436f - md5sums = 69e8aef0a5f9394fd0a4f42785d0732e + source = domjudge-judgehostd@.service + source = domjudge-cgroup.service + sha256sums = d794b313c622f16aca3e7bc2779b7b474ef271efff99546a5c309973e85c6dcf + sha256sums = c0dfd31c0d19856df324057ffb4f81d50fe765c48026d419ceaea71864663532 + sha256sums = 06faeeea3e3abda5a53a9ae150c6289cd49062c9a22129436640d11a9948eed5 + sha256sums = 9ed301acc46bcc4de0ac38fc7fa9abe13912deb64ff549dd68ada54b9158f680 + sha256sums = 2b88ea6555d1887f4e27a863be151326955a2687c6388e81512517a56d009334 + sha256sums = d0a921ca8f81b3550acc8fa27713624ca39540090c943293242dcc9cd85b8049 -pkgname = domjudge +pkgname = domjudge-domserver + install = domjudge-domserver.install + arch = any + depends = curl + depends = php + depends = php-gd + depends = php-intl + depends = unzip + depends = zip + depends = apache + +pkgname = domjudge-docs + arch = any + depends = php + +pkgname = domjudge-judgehost + arch = x86_64 + depends = libcgroup + depends = curl + depends = php + depends = unzip + depends = zip + depends = lsof + +pkgname = domjudge-submit + arch = x86_64 + depends = curl + depends = jsoncpp + depends = file @@ -1,42 +1,102 @@ # Maintainer: Andrzej Giniewicz <gginiu@gmail.com> -pkgname=domjudge -pkgver=5.1.2 +pkgbase=domjudge +pkgname=('domjudge-domserver' 'domjudge-docs' 'domjudge-judgehost' 'domjudge-submit') +pkgver=7.0.0 pkgrel=1 -pkgdesc="programming contest jury system" -arch=('i686' 'x86_64') -url="http://domjudge.sourceforge.net/" +pkgdesc="an automated judge system to run programming contests" +arch=("$CARCH") +url="http://www.domjudge.org/" license=('GPL') -depends=('php-apache' 'mysql' 'texlive-core' 'libcgroup' 'curl' 'jsoncpp') -makedepends=('boost') -optdepends=('phpmyadmin: to access database in an emergency' - 'ntp: to keep judgehosts clocks in sync' - 'beep: for notification of errors') -install='domjudge.install' - -source=(http://www.domjudge.org/releases/domjudge-$pkgver.tar.gz - domjudge-judgehostd.service jsoncpp.patch) -md5sums=('a200a53f86596a8e89c76bbc014c1e66' - '93cd5b10fc2636b664f2c17b4f34436f' - '69e8aef0a5f9394fd0a4f42785d0732e') +makedepends=('boost' 'composer' 'inetutils' 'libcgroup' 'git' 'jsoncpp') +optdepends=( + 'mysql: to run database on current host' + 'phpmyadmin: to access database in an emergency' + 'ntp: to keep judgehosts clocks in sync' + 'beep: for notification of errors') +source=( + "https://www.domjudge.org/releases/domjudge-$pkgver.tar.gz" + domjudge-domserver.conf + domjudge-judgehost.conf + domjudge-judgehostd.service + domjudge-judgehostd@.service + domjudge-cgroup.service) +sha256sums=('d794b313c622f16aca3e7bc2779b7b474ef271efff99546a5c309973e85c6dcf' + 'c0dfd31c0d19856df324057ffb4f81d50fe765c48026d419ceaea71864663532' + '06faeeea3e3abda5a53a9ae150c6289cd49062c9a22129436640d11a9948eed5' + '9ed301acc46bcc4de0ac38fc7fa9abe13912deb64ff549dd68ada54b9158f680' + '2b88ea6555d1887f4e27a863be151326955a2687c6388e81512517a56d009334' + 'd0a921ca8f81b3550acc8fa27713624ca39540090c943293242dcc9cd85b8049') build() { - cd "$srcdir"/domjudge-$pkgver - patch -p0 < ../jsoncpp.patch - ./configure --enable-fhs --enable-cgroups --prefix=/usr \ - --sysconfdir=/etc --localstatedir=/var \ - --enable-submitclient=http,dolstra \ - --with-domjudge-user=root --with-webserver-group=http - make all + cd "$srcdir/domjudge-$pkgver" + domserver_lib="/usr/lib/domserver" + judgehost_lib="/usr/lib/judgehost" + domserver_var="/var/lib/domserver" + judgehost_var="/var/lib/judgehost" + ./configure --enable-fhs --prefix=/usr\ + --bindir=/usr/bin\ + --sbindir=/usr/bin\ + --libexecdir=/usr/libexec\ + --sysconfdir=/etc\ + --sharedstatedir=/var\ + --localstatedir=/var\ + --libdir=/usr/lib\ + --includedir=/usr/include\ + --datarootdir=/var/lib\ + --with-domserver_etcdir=/etc/domserver\ + --with-domserver_webappdir=$domserver_var/webapp\ + --with-domserver_sqldir=$domserver_var/sql\ + --with-domserver_libdir=$domserver_lib\ + --with-domserver_libvendordir=$domserver_lib/vendor\ + --with-domserver_libsubmitdir=$domserver_lib/submit\ + --with-domserver_rundir=$domserver_var/run\ + --with-domserver_logdir=/var/log/domserver\ + --with-domserver_submitdir=$domserver_var/submissions\ + --with-judgehost_etcdir=/etc/judgehost\ + --with-judgehost_libdir=$judgehost_lib\ + --with-judgehost_libvendordir=$judgehost_lib/vendor\ + --with-judgehost_libjudgedir=$judgehost_lib/judge\ + --with-judgehost_logdir=/var/log/judgehost\ + --with-judgehost_rundir=$judgehost_var/run\ + --with-judgehost_judgedir=$judgehost_var/judgings\ + --with-domjudge-user=512 --with-webserver-group=http\ + --with-runuser=domjudge-run --with-rungroup=domjudge-run + make all +} + +package_domjudge-submit() { + arch=("$CARCH") + depends=('curl' 'jsoncpp' 'file') + install -Dm 755 "$srcdir/domjudge-$pkgver/submit/submit" "$pkgdir/usr/bin/submit" } -package() { - cd "$srcdir"/domjudge-$pkgver - make install-{domserver,judgehost,docs} DESTDIR="$pkgdir"/ - rm -rf "$pkgdir"/tmp - install -D -m 440 "$pkgdir"/etc/domjudge/sudoers-domjudge "$pkgdir"/etc/sudoers.d/domjudge - sed -s "s/^root/domjudge/g" -i "$pkgdir"/etc/sudoers.d/domjudge - rm "$pkgdir"/etc/domjudge/{restapi.secret,sudoers-domjudge,dbpasswords.secret} - install -D "$srcdir"/domjudge-judgehostd.service "$pkgdir"/etc/systemd/system/domjudge-judgehostd.service +package_domjudge-domserver() { + arch=('any') + depends=('curl' 'php' 'php-gd' 'php-intl' 'unzip' 'zip' 'apache') + install=domjudge-domserver.install + cd "$srcdir/domjudge-$pkgver" + make install-domserver DESTDIR="$pkgdir"/ + install -Dm 644 "$srcdir/domjudge-domserver.conf" "$pkgdir/usr/lib/sysusers.d/domjudge-domserver.conf" } +package_domjudge-docs() { + arch=('any') + depends=('php') + cd "$srcdir/domjudge-$pkgver" + make install-docs DESTDIR="$pkgdir"/ +} + +package_domjudge-judgehost() { + arch=("$CARCH") + depends=('libcgroup' 'curl' 'php' 'unzip' 'zip' 'lsof') + cd "$srcdir/domjudge-$pkgver" + make install-judgehost DESTDIR="$pkgdir"/ + install -Dm 644 "$srcdir/domjudge-judgehostd.service" "$pkgdir/usr/lib/systemd/system/domjudge-judgehostd.service" + install -Dm 644 "$srcdir/domjudge-judgehostd@.service" "$pkgdir/usr/lib/systemd/system/domjudge-judgehostd@.service" + install -Dm 644 "$srcdir/domjudge-cgroup.service" "$pkgdir/usr/lib/systemd/system/domjudge-cgroup.service" + install -Dm 644 "$srcdir/domjudge-judgehost.conf" "$pkgdir/usr/lib/sysusers.d/domjudge-judgehost.conf" + sed -i 's/512/domjudge/g' "$pkgdir/etc/judgehost/sudoers-domjudge" + mkdir -p "$pkgdir/etc/sudoers.d" + ln -s "/etc/judgehost/sudoers-domjudge" "$pkgdir/etc/sudoers.d/domjudge" +} diff --git a/domjudge-cgroup.service b/domjudge-cgroup.service new file mode 100644 index 000000000000..f8780a007a2c --- /dev/null +++ b/domjudge-cgroup.service @@ -0,0 +1,11 @@ +[Unit] +Description=Cgroup setup script for domjudge + +[Service] +Type=oneshot +ExecStart=/usr/bin/create_cgroups +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target + diff --git a/domjudge-domserver.conf b/domjudge-domserver.conf new file mode 100644 index 000000000000..f3f8bc35d4e1 --- /dev/null +++ b/domjudge-domserver.conf @@ -0,0 +1,2 @@ +u domjudge 512 "DOMJudge Daemon User" /opt/domjudge /bin/nologin +g domjudge 512 diff --git a/domjudge-domserver.install b/domjudge-domserver.install new file mode 100644 index 000000000000..d923ae5107ac --- /dev/null +++ b/domjudge-domserver.install @@ -0,0 +1,11 @@ +clear_cache(){ + rm -rf /var/lib/domjudge/webapp/var/cache/* +} + +pre_remove(){ + clear_cache +} + +pre_update(){ + clear_cache +} diff --git a/domjudge-judgehost.conf b/domjudge-judgehost.conf new file mode 100644 index 000000000000..f7c1b1802eaa --- /dev/null +++ b/domjudge-judgehost.conf @@ -0,0 +1,4 @@ +u domjudge 512 "DOMJudge Daemon User" /opt/domjudge /bin/nologin +g domjudge 512 +u domjudge-run 513 "DOMJudge Runner User" /opt/domjudge /bin/nologin +g domjudge-run 513 diff --git a/domjudge-judgehostd.service b/domjudge-judgehostd.service index db08f6cfbe66..ae672127c1fe 100644 --- a/domjudge-judgehostd.service +++ b/domjudge-judgehostd.service @@ -1,6 +1,7 @@ [Unit] Description=Domjudge judgehost daemon -After=network.target +After=network.target domjudge-cgroup.service +Requires= domjudge-cgroup.service [Service] ExecStart=/usr/bin/judgedaemon diff --git a/domjudge-judgehostd@.service b/domjudge-judgehostd@.service new file mode 100644 index 000000000000..cdbb39f044e5 --- /dev/null +++ b/domjudge-judgehostd@.service @@ -0,0 +1,15 @@ +[Unit] +Description=Domjudge judgehost daemon at cpu %i +After=network.target domjudge-cgroup.service +Requires= domjudge-cgroup.service + +[Service] +ExecStart=/usr/bin/judgedaemon -n %i +Restart=on-failure +User=domjudge +KillSignal=SIGINT +SendSIGKILL=no + +[Install] +WantedBy=multi-user.target + diff --git a/domjudge.install b/domjudge.install deleted file mode 100644 index 34bc31407e2d..000000000000 --- a/domjudge.install +++ /dev/null @@ -1,58 +0,0 @@ -post_install() { - if ! getent group domjudge >/dev/null; then - groupadd --system domjudge - fi - if ! getent passwd domjudge >/dev/null; then - useradd --system -c 'judgehost daemon user' -g domjudge -s /bin/false domjudge - fi - if ! getent passwd domjudge-run >/dev/null; then - useradd -d /fail -c 'judgehost run user' -g nobody -s /bin/false domjudge-run - fi - - if [ ! -f /etc/domjudge/dbpasswords.secret ]; - then - /etc/domjudge/gendbpasswords > /etc/domjudge/dbpasswords.secret - fi - if [ ! -f /etc/domjudge/restapi.secret ]; - then - /etc/domjudge/genrestapicredentials > /etc/domjudge/restapi.secret - fi - - chown domjudge /var/lib/domjudge/judgings - chmod 0711 /var/lib/domjudge/judgings - - chown domjudge /var/{log,run}/domjudge - chmod 0700 /var/{log,run}/domjudge - - chown domjudge:http /var/lib/domjudge/submissions - chmod 0770 /var/lib/domjudge/submissions - - chown domjudge:http /etc/domjudge/{dbpasswords.secret,restapi.secret} - chmod 0640 /etc/domjudge/{dbpasswords.secret,restapi.secret} - - chown domjudge /etc/domjudge/{domserver-config.php,judgehost-config.php,common-config.php} - - echo "To finish installation procedure, run:" - echo " dj-setup-database -u root -r install" - echo "and add" - echo " :/etc/domjudge:/usr/lib/domjudge:/usr/share/domjudge:/var/lib/domjudge" - echo "into open_basedir in /etc/php/php.ini" -} - -post_upgrade() { - echo "To finish update procedure, run:" - echo " dj-setup-database -u root -r upgrade" -} - -post_remove() { - if getent passwd domjudge-run >/dev/null; then - userdel domjudge-run - fi - if getent passwd domjudge >/dev/null; then - userdel domjudge - fi - if getent group domjudge >/dev/null; then - groupdel domjudge - fi -} - diff --git a/jsoncpp.patch b/jsoncpp.patch deleted file mode 100644 index 2cdd754c1b42..000000000000 --- a/jsoncpp.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- configure.orig 2015-08-12 20:07:13.946754173 +0200 -+++ configure 2015-08-12 20:07:28.439986151 +0200 -@@ -6442,9 +6442,9 @@ - - - --for ac_header in jsoncpp/json/json.h -+for ac_header in json/json.h - do : -- ac_fn_cxx_check_header_mongrel "$LINENO" "jsoncpp/json/json.h" "ac_cv_header_jsoncpp_json_json_h" "$ac_includes_default" -+ ac_fn_cxx_check_header_mongrel "$LINENO" "json/json.h" "ac_cv_header_jsoncpp_json_json_h" "$ac_includes_default" - if test "x$ac_cv_header_jsoncpp_json_json_h" = xyes; then : - cat >>confdefs.h <<_ACEOF - #define HAVE_JSONCPP_JSON_JSON_H 1 ---- submit/submit.cc.orig 2015-08-12 20:28:45.377704085 +0200 -+++ submit/submit.cc 2015-08-12 20:28:56.307629469 +0200 -@@ -27,7 +27,7 @@ - #include <termios.h> - #include <curl/curl.h> - #include <curl/easy.h> --#include <jsoncpp/json/json.h> -+#include <json/json.h> - #ifdef HAVE_MAGIC_H - #include <magic.h> - #endif |