summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Schiffbauer <mschiff@gentoo.org>2023-12-05 15:51:29 +0100
committerMarc Schiffbauer <mschiff@gentoo.org>2023-12-05 15:52:19 +0100
commitee05fd6e5dabc192452af2f91ba49c2797d29115 (patch)
tree91a921b1c98d7086a1c0d39d737fdb6f179077c8 /www-apps
parentapp-backup/bareos: add 20.0.9 21.1.8 22.1.2, cleanup (diff)
downloadgentoo-ee05fd6e5dabc192452af2f91ba49c2797d29115.tar.gz
gentoo-ee05fd6e5dabc192452af2f91ba49c2797d29115.tar.bz2
gentoo-ee05fd6e5dabc192452af2f91ba49c2797d29115.zip
www-apps/bareos-webui: new package, add 22.1.0, 9999
Closes: https://bugs.gentoo.org/724390 Signed-off-by: Marc Schiffbauer <mschiff@gentoo.org>
Diffstat (limited to 'www-apps')
-rw-r--r--www-apps/bareos-webui/Manifest1
-rw-r--r--www-apps/bareos-webui/bareos-webui-22.1.0.ebuild110
-rw-r--r--www-apps/bareos-webui/bareos-webui-9999.ebuild110
-rw-r--r--www-apps/bareos-webui/files/apache.conf50
-rw-r--r--www-apps/bareos-webui/files/nginx.include17
-rw-r--r--www-apps/bareos-webui/files/postinstall-en.txt36
-rw-r--r--www-apps/bareos-webui/metadata.xml11
7 files changed, 335 insertions, 0 deletions
diff --git a/www-apps/bareos-webui/Manifest b/www-apps/bareos-webui/Manifest
new file mode 100644
index 000000000000..ede21f58a067
--- /dev/null
+++ b/www-apps/bareos-webui/Manifest
@@ -0,0 +1 @@
+DIST bareos-22.1.0.tar.gz 14719993 BLAKE2B 38e354d3227d401c69ffb003c83ae90c2067720490af089d529da636bc300e2fb5042451ab439b8b102f6850aeadbe8dedc4311dba13f800eab0bc77d89f809d SHA512 dea64c6eb34a93f1a93eb6b0ac628a75101ac8873e06800a256f226e8f3a556fe39ce4e500246f9c51de30a2b0907732f789c6394f29b7bb9d983a64c709ad2c
diff --git a/www-apps/bareos-webui/bareos-webui-22.1.0.ebuild b/www-apps/bareos-webui/bareos-webui-22.1.0.ebuild
new file mode 100644
index 000000000000..3fa8560579d8
--- /dev/null
+++ b/www-apps/bareos-webui/bareos-webui-22.1.0.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_WARN_UNUSED_CLI=no
+CMAKE_MAKEFILE_GENERATOR="emake"
+
+MY_PV=${PV/_/-}
+MY_PN="bareos"
+MY_P="${MY_PN}-${MY_PV}"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit cmake webapp git-r3
+ S=${WORKDIR}/${PF}/webui
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
+ KEYWORDS=""
+else
+ inherit cmake webapp
+ S=${WORKDIR}/${MY_PN}-Release-${PV}/webui
+ SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/Release/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Featureful client/server network backup suite"
+HOMEPAGE="https://www.bareos.org/"
+RESTRICT="mirror"
+
+LICENSE="AGPL-3"
+
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ dev-lang/php[bzip2,ctype,curl,fileinfo,filter,fpm,gd,iconv,intl,mhash,nls,pdo,postgres,session,simplexml,ssl,xml,xmlreader,xmlwriter,zip]
+ virtual/httpd-php
+"
+
+need_httpd
+
+pkg_setup() {
+ webapp_pkg_setup
+}
+
+src_prepare() {
+ # fix missing VERSION
+ sed -i "s/@BAREOS_FULL_VERSION@/${PV}/g" version.php.in || die
+
+ cmake_src_prepare
+ default
+}
+
+src_configure() {
+ if [[ ${PV} == 9999 ]]; then
+ pushd "${WORKDIR}/${PF}"
+ else
+ pushd "${S}"/..
+ fi
+ CURRENT_VERSION=$(echo $(cmake -P get_version.cmake) | sed 's/[- ]//g')
+ popd
+ local mycmakeargs=(
+ -DVERSION_STRING=${CURRENT_VERSION}
+ -Wno-dev
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ webapp_src_preinst
+
+ dodoc README.md doc/README-TRANSLATION.md
+
+ dodir /etc/bareos/bareos-dir.d
+ cp -r install/bareos/bareos-dir.d/* "${D}"/etc/bareos/bareos-dir.d
+
+ webapp_server_configfile nginx "${FILESDIR}"/nginx.include
+ webapp_server_configfile apache "${FILESDIR}"/apache.conf
+
+ insinto /etc/"${PN}"
+ doins install/{configuration,directors}.ini
+
+ insinto "${MY_HTDOCSDIR#${EPREFIX}}"
+ doins -r .
+
+ webapp_configfile "${MY_HTDOCSDIR#${EPREFIX}}"/config/application.config.php
+ webapp_configfile "${MY_HTDOCSDIR#${EPREFIX}}"/config/autoload/global.php
+
+ keepdir "${MY_HTDOCSDIR#${EPREFIX}}"/data
+ webapp_serverowned "${MY_HTDOCSDIR#${EPREFIX}}"/data
+
+ # cleanup
+ find "${D}/${MY_HTDOCSDIR#${EPREFIX}}" -name "*.in" -delete
+ rm -rf "${D}/${MY_HTDOCSDIR#${EPREFIX}}"/{CMakeLists.txt,install,cmake,phpunit.xml,scripts,doc,tests}
+
+ webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt
+
+ webapp_src_install
+}
+
+pkg_postinst() {
+ einfo ""
+ einfo "The webui uses 'webapp-config' to be installed to the webservers docroot"
+ einfo "E.g. to install webapp-config may be called like so:"
+ einfo ""
+ einfo " ~# webapp-config -h localhost -d bareos-webui -I bareos-webui ${PV}"
+ einfo ""
+ einfo "See 'man webapp-config' for details."
+ einfo ""
+}
diff --git a/www-apps/bareos-webui/bareos-webui-9999.ebuild b/www-apps/bareos-webui/bareos-webui-9999.ebuild
new file mode 100644
index 000000000000..3fa8560579d8
--- /dev/null
+++ b/www-apps/bareos-webui/bareos-webui-9999.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_WARN_UNUSED_CLI=no
+CMAKE_MAKEFILE_GENERATOR="emake"
+
+MY_PV=${PV/_/-}
+MY_PN="bareos"
+MY_P="${MY_PN}-${MY_PV}"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit cmake webapp git-r3
+ S=${WORKDIR}/${PF}/webui
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
+ KEYWORDS=""
+else
+ inherit cmake webapp
+ S=${WORKDIR}/${MY_PN}-Release-${PV}/webui
+ SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/Release/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Featureful client/server network backup suite"
+HOMEPAGE="https://www.bareos.org/"
+RESTRICT="mirror"
+
+LICENSE="AGPL-3"
+
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ dev-lang/php[bzip2,ctype,curl,fileinfo,filter,fpm,gd,iconv,intl,mhash,nls,pdo,postgres,session,simplexml,ssl,xml,xmlreader,xmlwriter,zip]
+ virtual/httpd-php
+"
+
+need_httpd
+
+pkg_setup() {
+ webapp_pkg_setup
+}
+
+src_prepare() {
+ # fix missing VERSION
+ sed -i "s/@BAREOS_FULL_VERSION@/${PV}/g" version.php.in || die
+
+ cmake_src_prepare
+ default
+}
+
+src_configure() {
+ if [[ ${PV} == 9999 ]]; then
+ pushd "${WORKDIR}/${PF}"
+ else
+ pushd "${S}"/..
+ fi
+ CURRENT_VERSION=$(echo $(cmake -P get_version.cmake) | sed 's/[- ]//g')
+ popd
+ local mycmakeargs=(
+ -DVERSION_STRING=${CURRENT_VERSION}
+ -Wno-dev
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ webapp_src_preinst
+
+ dodoc README.md doc/README-TRANSLATION.md
+
+ dodir /etc/bareos/bareos-dir.d
+ cp -r install/bareos/bareos-dir.d/* "${D}"/etc/bareos/bareos-dir.d
+
+ webapp_server_configfile nginx "${FILESDIR}"/nginx.include
+ webapp_server_configfile apache "${FILESDIR}"/apache.conf
+
+ insinto /etc/"${PN}"
+ doins install/{configuration,directors}.ini
+
+ insinto "${MY_HTDOCSDIR#${EPREFIX}}"
+ doins -r .
+
+ webapp_configfile "${MY_HTDOCSDIR#${EPREFIX}}"/config/application.config.php
+ webapp_configfile "${MY_HTDOCSDIR#${EPREFIX}}"/config/autoload/global.php
+
+ keepdir "${MY_HTDOCSDIR#${EPREFIX}}"/data
+ webapp_serverowned "${MY_HTDOCSDIR#${EPREFIX}}"/data
+
+ # cleanup
+ find "${D}/${MY_HTDOCSDIR#${EPREFIX}}" -name "*.in" -delete
+ rm -rf "${D}/${MY_HTDOCSDIR#${EPREFIX}}"/{CMakeLists.txt,install,cmake,phpunit.xml,scripts,doc,tests}
+
+ webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt
+
+ webapp_src_install
+}
+
+pkg_postinst() {
+ einfo ""
+ einfo "The webui uses 'webapp-config' to be installed to the webservers docroot"
+ einfo "E.g. to install webapp-config may be called like so:"
+ einfo ""
+ einfo " ~# webapp-config -h localhost -d bareos-webui -I bareos-webui ${PV}"
+ einfo ""
+ einfo "See 'man webapp-config' for details."
+ einfo ""
+}
diff --git a/www-apps/bareos-webui/files/apache.conf b/www-apps/bareos-webui/files/apache.conf
new file mode 100644
index 000000000000..60eea6e12fd0
--- /dev/null
+++ b/www-apps/bareos-webui/files/apache.conf
@@ -0,0 +1,50 @@
+#
+# Bareos WebUI Apache configuration file
+#
+
+# Environment Variable for Application Debugging
+# Set to "development" to turn on debugging mode or
+# "production" to turn off debugging mode.
+<IfModule env_module>
+ SetEnv "APPLICATION_ENV" "production"
+</IfModule>
+
+Alias /bareos-webui /var/www/localhost/htdocs/bareos-webui/public
+
+<Directory /var/www/localhost/htdocs/bareos-webui>
+
+ Options FollowSymLinks
+ AllowOverride None
+
+ <IfModule mod_authz_core.c>
+ <IfModule mod_access_compat.c>
+ Order deny,allow
+ </IfModule>
+ Require all granted
+ </IfModule>
+
+ #<IfModule mod_rewrite.c>
+ <IfModule rewrite_module>
+ RewriteEngine on
+ RewriteBase /bareos-webui
+ RewriteCond %{REQUEST_FILENAME} -s [OR]
+ RewriteCond %{REQUEST_FILENAME} -l [OR]
+ RewriteCond %{REQUEST_FILENAME} -d
+ RewriteRule ^.*$ - [NC,L]
+ RewriteRule ^.*$ index.php [NC,L]
+ </IfModule>
+
+ <IfDefine PROXY>
+ <FilesMatch "\.php$">
+ SetHandler "proxy:unix:/var/run/php-fpm/www.sock|fcgi://localhost"
+ </FilesMatch>
+
+ # Set it to handle the files
+ <IfModule mime_module>
+ AddHandler application/x-httpd-php .php .php5 .phtml
+ AddHandler application/x-httpd-php-source .phps
+ </IfModule>
+
+ DirectoryIndex index.php index.phtml
+ </IfDefine>
+</Directory>
diff --git a/www-apps/bareos-webui/files/nginx.include b/www-apps/bareos-webui/files/nginx.include
new file mode 100644
index 000000000000..2d6ab2978ba1
--- /dev/null
+++ b/www-apps/bareos-webui/files/nginx.include
@@ -0,0 +1,17 @@
+server {
+
+ listen 9100;
+ server_name bareos;
+ root /var/www/localhost/htdocs/bareos-webui/public;
+
+ location / {
+ index index.php;
+ try_files $uri $uri/ /index.php?$query_string;
+ }
+
+ location ~ .php$ {
+ snippets/fastcgi-php.conf
+ fastcgi_pass unix:/var/run/php5-fpm.sock;
+ fastcgi_param APPLICATION_ENV production;
+ }
+}
diff --git a/www-apps/bareos-webui/files/postinstall-en.txt b/www-apps/bareos-webui/files/postinstall-en.txt
new file mode 100644
index 000000000000..cd8b10f3b530
--- /dev/null
+++ b/www-apps/bareos-webui/files/postinstall-en.txt
@@ -0,0 +1,36 @@
+1. Edit webui ini files
+
+ - if your bareos-dir is not running on localhost you need
+ to edit /etc/bareos-webui/directors.ini
+
+ - maybe you want to edit the webui settings in
+ /etc/bareos-webui/configuration.ini
+
+ NOTE: If you want to run more than one instance of bareos-webui and
+ you need to use different ini-files per vhost you can set
+ BAREOS_WEBUI_CONFDIR in the webserver env to point to another
+ directory than /etc/bareos-webui.
+
+2. Edit bareos-dir configuration
+
+ - some required bareos-dir config snippets have been installed
+ to /etc/bareos/bareos-dir.d. You need at least to
+ cp /etc/bareos/bareos-dir.d/console/admin.conf{.example,}
+ and edit /etc/bareos/bareos-dir.d/console/admin.conf to set
+ login credentials for webui login
+
+ - don't forget to reload bareos-dir
+
+3. Edit webserver configuration
+
+ - starting from bareos 23, using php-fpm is a requirement
+ so be sure to have a working php-fpm setup
+
+ - as a starting point you may include a config from
+ /usr/share/webapps/${PN}/${PVR}/conf
+
+ - IMPORTANT: make sure the docroot of your webserver points to
+ the public/ folder within webapp htdocs directory
+
+For more details about how to setup the bareos webui, see:
+https://docs.bareos.org/IntroductionAndTutorial/InstallingBareosWebui.html
diff --git a/www-apps/bareos-webui/metadata.xml b/www-apps/bareos-webui/metadata.xml
new file mode 100644
index 000000000000..4a5a7ed6d64f
--- /dev/null
+++ b/www-apps/bareos-webui/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM 'http://www.gentoo.org/dtd/metadata.dtd'>
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mschiff@gentoo.org</email>
+ <name>Marc Schiffbauer</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">bareos/bareos</remote-id>
+ </upstream>
+</pkgmetadata>