diff options
| author | Bruno Cesar Ribas <brunoribas@gmail.com> | 2018-08-22 03:35:17 +0000 |
|---|---|---|
| committer | Bruno Cesar Ribas <brunoribas@gmail.com> | 2018-08-22 03:35:17 +0000 |
| commit | dd607f224d351d183418668bc090a53800484002 (patch) | |
| tree | 7f14cfb21992d950242051ccb147dc66953e6a3b | |
| parent | 25e1cce50cc8c7cbbedc38675dd71e8a9944f451 (diff) | |
| download | boca-dd607f224d351d183418668bc090a53800484002.tar.gz boca-dd607f224d351d183418668bc090a53800484002.zip | |
Creating multiple packages for boca
Until now we had only one package for boca that contains all files. This
approach is not correct since we may have multiple machines for some
specific part of boca, eg, database and autojudge.
This commit starts this new approach by updating Makefile, d/rules,
d/*conffiles d/*postinst
Signed-off-by: Bruno Cesar Ribas <brunoribas@gmail.com>
| -rw-r--r-- | Makefile | 17 | ||||
| -rw-r--r-- | debian/boca-web.conffiles (renamed from debian/boca.conffiles) | 0 | ||||
| -rw-r--r-- | debian/boca-web.postinst (renamed from debian/boca.postinst) | 0 | ||||
| -rw-r--r-- | debian/compat | 2 | ||||
| -rw-r--r-- | debian/control | 59 | ||||
| -rw-r--r-- | debian/postinst | 6 | ||||
| -rwxr-xr-x | debian/rules | 6 |
7 files changed, 65 insertions, 25 deletions
@@ -20,17 +20,26 @@ install-bocaapache: install-bocawww install-scripts: mkdir -p $(DESTDIR)/usr/sbin/ install tools/dump.sh $(DESTDIR)/usr/sbin/boca-dump - install tools/boca-createjail $(DESTDIR)/usr/sbin/boca-createjail + +install-bocadb: install tools/boca-createdb.sh $(DESTDIR)/usr/sbin/boca-createdb - install tools/boca-autojudge.sh $(DESTDIR)/usr/sbin/boca-autojudge + +install-bocacommon: + mkdir -p $(DESTDIR)/usr/sbin/ + mkdir -p $(DESTDIR)/etc/ + cp tools/boca.conf $(DESTDIR)/etc/ install tools/boca-config-dbhost.sh $(DESTDIR)/usr/sbin/boca-config-dbhost -install: install-bocawww install-bocaapache install-scripts tools/safeexec +install-bocaautojudge: tools/safeexec + mkdir -p $(DESTDIR)/usr/sbin/ mkdir -p $(DESTDIR)/usr/bin/ mkdir -p $(DESTDIR)/etc/ - cp tools/boca.conf $(DESTDIR)/etc/ install tools/safeexec $(DESTDIR)/usr/bin/safeexec chmod 4555 $(DESTDIR)/usr/bin/safeexec + install tools/boca-createjail $(DESTDIR)/usr/sbin/boca-createjail + install tools/boca-autojudge.sh $(DESTDIR)/usr/sbin/boca-autojudge + +install: install-bocawww install-bocaapache install-bocadb install-bocacommon install-bocaautojudge install-scripts install-submission-tools: tools/boca-submit-run-root-wrapper mkdir -p $(DESTDIR)/usr/bin $(DESTDIR)/usr/sbin $(DESTDIR)/etc/cron.d diff --git a/debian/boca.conffiles b/debian/boca-web.conffiles index b004c7a..b004c7a 100644 --- a/debian/boca.conffiles +++ b/debian/boca-web.conffiles diff --git a/debian/boca.postinst b/debian/boca-web.postinst index 18ce749..18ce749 100644 --- a/debian/boca.postinst +++ b/debian/boca-web.postinst diff --git a/debian/compat b/debian/compat index 7f8f011..f599e28 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -7 +10 diff --git a/debian/control b/debian/control index fbac1f3..f3fdd17 100644 --- a/debian/control +++ b/debian/control @@ -2,24 +2,59 @@ Source: boca Section: misc Priority: optional Maintainer: BOCA Development Team <bocasystem@gmail.com> +Uploaders: Cassio Polpo de Campos <cassiopc@gmail.com>, Bruno Cesar Ribas <brunoribas@gmail.com> Build-Depends: debhelper, build-essential -Package: maratona-boca -Architecture: all -Depends: boca -Description: Virtual package that depends on BOCA - Package: boca -Architecture: amd64 -Depends: php-zip, debootstrap, schroot, quotatool, makepasswd, apache2, libapache2-mod-php, sharutils, wget, coreutils, php, php-cli, php-mcrypt, php-pgsql, php-gd, postgresql, postgresql-client, libany-uri-escape-perl, php-xml +Architecture: all +Depends: boca-common, boca-web, boca-db, boca-autojudge +Provides: maratona-boca Description: BOCA is a software created to control a contest with the ACM ICPC rules. BOCA is a software created to control a contest with the ACM International Collegiate Programming Contest rules. It has been developed in PHP and the interaction between judges and the system is done through a web browser. + . + This package install all boca related packages to run everything in one + single machine. + +Package: boca-db +Architecture: all +Pre-depends: postgresql +Depends: boca-common +Description: BOCA - database + BOCA is a software created to control a contest with the ACM International + Collegiate Programming Contest rules. It has been developed in PHP and the + interaction between judges and the system is done through a web browser. + . + This package provides a full database to run a contest on. + +Package: boca-web +Architecture: all +Depends: boca-common, apache2, php, php-fpm +Description: BOCA - WEB files + BOCA is a software created to control a contest with the ACM International + Collegiate Programming Contest rules. It has been developed in PHP and the + interaction between judges and the system is done through a web browser. + . + This package provides only web contents. -Package: boca-submission-tools +Package: boca-common +Architecture: all +Depends: php-zip, makepasswd, sharutils, wget, coreutils, php-cli, php-mcrypt, php-pgsql, php-gd, postgresql-client +Description: BOCA - Common files + BOCA is a software created to control a contest with the ACM International + Collegiate Programming Contest rules. It has been developed in PHP and the + interaction between judges and the system is done through a web browser. + . + This package contains shared files with all BOCA packages. + +Package: boca-autojudge Architecture: amd64 -Depends: sharutils, wget, coreutils, libany-uri-escape-perl, openssl, openssh-server -Description: BOCA submission tools. - This package provides tools to submit codes to a running boca server - without using the web interface. +Depends: boca-common, debootstrap, schroot, quotatool, makepasswd +Description: BOCA - AutoJudge + BOCA is a software created to control a contest with the ACM International + Collegiate Programming Contest rules. It has been developed in PHP and the + interaction between judges and the system is done through a web browser. + . + This package contains files to generate and run the autojudge system for + BOCA. diff --git a/debian/postinst b/debian/postinst deleted file mode 100644 index 65e238f..0000000 --- a/debian/postinst +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -chown -R www-data.www-data /var/www/boca -chmod 4555 /usr/bin/safeexec - -service apache2 restart || true diff --git a/debian/rules b/debian/rules index 6c52a63..eedb9d1 100755 --- a/debian/rules +++ b/debian/rules @@ -3,8 +3,10 @@ override_dh_auto_install: mkdir -p debian/boca-submission-tools make -j1 install-submission-tools DESTDIR=debian/boca-submission-tools - mkdir -p debian/boca - make -j1 install DESTDIR=debian/boca + mkdir -p debian/boca-web + make -j1 install-bocaapache DESTDIR=debian/boca-web + mkdir -p debian/boca-autojudge + make -j1 install-bocaautojudge DESTDIR=debian/boca-autojudge %: dh $@ |