forked from LibreSchool/doraemon
too late for a commit message
This commit is contained in:
parent
91840647e5
commit
3d81fd12e3
@ -28,39 +28,110 @@ rm -f %{name}-%{version}-%{release}-filelist
|
|||||||
mkdir -p %{buildroot}%{_localstatedir}/log/doraemon
|
mkdir -p %{buildroot}%{_localstatedir}/log/doraemon
|
||||||
mkdir -p %{buildroot}%{_localstatedir}/cache/doraemon
|
mkdir -p %{buildroot}%{_localstatedir}/cache/doraemon
|
||||||
|
|
||||||
# Copy the webroot dir
|
|
||||||
# mkdir -p %{buildroot}%{_datarootdir}/%{name}
|
%pre
|
||||||
# cp -av doraemon/* %{buildroot}%{_datadir}/%{name}
|
#if [ "$1" = 1 ]; then
|
||||||
|
# #installation
|
||||||
|
#fi
|
||||||
|
if [ "$1" = 2 ]; then
|
||||||
|
#upgrade
|
||||||
|
/sbin/stop %{name} >/dev/null 2>&1 || :
|
||||||
|
DATABASE=/var/lib/doraemon/doraemon.db
|
||||||
|
INI=/etc/doraemon.ini
|
||||||
|
if [ -f $INI ]; then
|
||||||
|
DATABASE=$(awk -F "=" '/Database/ {print $2}' $INI)
|
||||||
|
PORT=$(awk -F "=" '/Port/ {print $2}' $INI)
|
||||||
|
BASE=$(awk -F "=" '/Base/ {print $2}' $INI)
|
||||||
|
ROLE=$(awk -F "=" '/Role/ {print $2}' $INI)
|
||||||
|
DIGITS=$(awk -F "=" '/Digits/ {print $2}' $INI)
|
||||||
|
DOMAIN=$(awk -F "=" '/Domain/ {print $2}' $INI)
|
||||||
|
MGMTKEY=$(awk -F "=" '/MgmtKey/ {print $2}' $INI)
|
||||||
|
VAULTPASSFILE=$(awk -F "=" '/VaultPassFile/ {print $2}' $INI)
|
||||||
|
rm $INI
|
||||||
|
/sbin/e-smith/db configuration set %{name} service \
|
||||||
|
status enabled \
|
||||||
|
TCPPort $PORT \
|
||||||
|
access private \
|
||||||
|
DefaultRole $ROLE \
|
||||||
|
DomainFile $DOMAIN \
|
||||||
|
ManagementKeyFile $MGMTKEY \
|
||||||
|
NamingBase $BASE \
|
||||||
|
NamingDigits $DIGITS \
|
||||||
|
VaultPassFile $VAULTPASSFILE
|
||||||
|
else
|
||||||
|
/sbin/e-smith/db configuration set %{name} service \
|
||||||
|
status enabled \
|
||||||
|
TCPPort 3000 \
|
||||||
|
access private \
|
||||||
|
DefaultRole client \
|
||||||
|
DomainFile /etc/domain.yml \
|
||||||
|
ManagementKeyFile /home/amgmt/.ssh/id_rsa.pub \
|
||||||
|
NamingBase lab \
|
||||||
|
NamingDigits 2 \
|
||||||
|
VaultPassFile /home/amgmt/.ansible/vault.txt
|
||||||
|
fi
|
||||||
|
if [ -f $DATABASE ]; then
|
||||||
|
sqlite3 -separator " " $DATABASE \
|
||||||
|
"select * from client" | while read id hostname mac role; do
|
||||||
|
/sbin/e-smith/db hosts set $hostname remote \
|
||||||
|
MacAddress $mac Role $role
|
||||||
|
done
|
||||||
|
rm $DATABASE
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
%post
|
%post
|
||||||
if [ "$1" = 1 ]; then
|
if [ "$1" = 1 ]; then
|
||||||
|
#installation
|
||||||
/sbin/e-smith/db configuration set %{name} service status enabled TCPPort 3000 access private DefaultRole client DomainFile /etc/domain.yml ManagementKeyFile /home/amgmt/.ssh/id_rsa.pub NamingBase lab NamingDigits 2 VaultPassFile /home/amgmt/.ansible/vault.txt
|
/sbin/e-smith/db configuration set %{name} service status enabled TCPPort 3000 access private DefaultRole client DomainFile /etc/domain.yml ManagementKeyFile /home/amgmt/.ssh/id_rsa.pub NamingBase lab NamingDigits 2 VaultPassFile /home/amgmt/.ansible/vault.txt
|
||||||
|
/sbin/e-smith/expand-template /etc/sudoers
|
||||||
|
/sbin/e-smith/expand-template /etc/httpd/doraemon/httpd.conf
|
||||||
|
/sbin/start %{name} >/dev/null 2>&1 || :
|
||||||
|
/sbin/e-smith/signal-event runlevel-adjust
|
||||||
|
/sbin/e-smith/signal-event firewall-adjust
|
||||||
|
fi
|
||||||
|
if [ "$1" = 2 ]; then
|
||||||
|
#upgrade
|
||||||
|
# TODO: this won't be needed in the next version
|
||||||
|
/sbin/e-smith/expand-template /etc/sudoers
|
||||||
|
/sbin/e-smith/expand-template /etc/httpd/doraemon/httpd.conf
|
||||||
/sbin/start %{name} >/dev/null 2>&1 || :
|
/sbin/start %{name} >/dev/null 2>&1 || :
|
||||||
/sbin/e-smith/signal-event runlevel-adjust
|
/sbin/e-smith/signal-event runlevel-adjust
|
||||||
/sbin/e-smith/signal-event firewall-adjust
|
/sbin/e-smith/signal-event firewall-adjust
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
|
#if [ "$1" = 1 ]; then
|
||||||
|
# #upgrade
|
||||||
|
#fi
|
||||||
if [ "$1" = 0 ]; then
|
if [ "$1" = 0 ]; then
|
||||||
|
#uninstallation
|
||||||
/sbin/stop %{name} >/dev/null 2>&1 || :
|
/sbin/stop %{name} >/dev/null 2>&1 || :
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
%postun
|
||||||
|
#if [ "$1" = 1 ]; then
|
||||||
|
# #upgrade
|
||||||
|
#fi
|
||||||
|
if [ "$1" = 0 ]; then
|
||||||
|
#uninstallation
|
||||||
/sbin/e-smith/db configuration delete %{name}
|
/sbin/e-smith/db configuration delete %{name}
|
||||||
|
/sbin/e-smith/expand-template /etc/sudoers
|
||||||
/sbin/e-smith/signal-event runlevel-adjust
|
/sbin/e-smith/signal-event runlevel-adjust
|
||||||
/sbin/e-smith/signal-event firewall-adjust
|
/sbin/e-smith/signal-event firewall-adjust
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf %{buildroot}
|
rm -rf %{buildroot}
|
||||||
|
|
||||||
%files -f %{name}-%{version}-%{release}-filelist
|
%files -f %{name}-%{version}-%{release}-filelist
|
||||||
%files
|
%files
|
||||||
%defattr(644,root,root,755)
|
%defattr(644,root,root,755)
|
||||||
# %doc README.md LICENSE.txt
|
%doc README.md LICENSE.txt
|
||||||
# %attr(755,-,-) %{_initrddir}/%{name}
|
|
||||||
# %{_sysconfdir}/logrotate.d/%{name}
|
|
||||||
# %dir %{_sysconfdir}/httpd/doraemon
|
|
||||||
%attr(0750,srvmgr,srvmgr) %dir %{_localstatedir}/cache/doraemon
|
%attr(0750,srvmgr,srvmgr) %dir %{_localstatedir}/cache/doraemon
|
||||||
# %attr(0644,root,root) %ghost %{_sysconfdir}/init/doraemon.conf
|
|
||||||
# %attr(0644,root,root) %ghost %{_sysconfdir}/httpd/doraemon/httpd.conf
|
|
||||||
%attr(0700,root,root) %dir %{_localstatedir}/log/doraemon
|
%attr(0700,root,root) %dir %{_localstatedir}/log/doraemon
|
||||||
%attr(0644,root,root) %config %ghost %{_localstatedir}/log/doraemon/access_log
|
%attr(0644,root,root) %config %ghost %{_localstatedir}/log/doraemon/access_log
|
||||||
%attr(0644,root,root) %config %ghost %{_localstatedir}/log/doraemon/error_log
|
%attr(0644,root,root) %config %ghost %{_localstatedir}/log/doraemon/error_log
|
||||||
|
@ -1,33 +0,0 @@
|
|||||||
{
|
|
||||||
#
|
|
||||||
# feature2956_ns6 -- Base: refactor Remote Access page
|
|
||||||
#
|
|
||||||
# The ValidFrom prop is migrated to AllowAccess
|
|
||||||
#
|
|
||||||
|
|
||||||
# TODO: gestire la migrazione dal doraemon precedente (sqlite + doraemon.ini -> e-smith)
|
|
||||||
|
|
||||||
use esmith::ConfigDB;
|
|
||||||
use esmith::util;
|
|
||||||
|
|
||||||
my $cdb = esmith::ConfigDB->open();
|
|
||||||
|
|
||||||
my $validFrom = $cdb->get_prop_and_delete('httpd-admin', 'ValidFrom') || '';
|
|
||||||
|
|
||||||
# 1) Ignore ValidFrom if AllowHosts is already set
|
|
||||||
if($cdb->get_prop('httpd-admin', 'AllowHosts')) {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
# 2) Sanitize and import validFrom value if access is private
|
|
||||||
if($cdb->get_prop('httpd-admin', 'access') eq 'private') {
|
|
||||||
my $newValue = join(',', map {
|
|
||||||
my ($ipaddr, $netmask) = (split(/\//, $_));
|
|
||||||
$_ eq '0.0.0.0/0.0.0.0' ? () : esmith::util::computeLocalNetworkShortSpec($ipaddr, $netmask);
|
|
||||||
} split(/,/, $validFrom));
|
|
||||||
$cdb->set_prop('httpd-admin', 'AllowHosts', $newValue);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
"";
|
|
||||||
}
|
|
@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
exec /sbin/start doraemon-reload
|
|
@ -1,56 +0,0 @@
|
|||||||
#!/usr/bin/perl
|
|
||||||
|
|
||||||
#
|
|
||||||
# Copyright (C) 2013 Nethesis S.r.l.
|
|
||||||
# http://www.nethesis.it - support@nethesis.it
|
|
||||||
#
|
|
||||||
# This script is part of NethServer.
|
|
||||||
#
|
|
||||||
# NethServer is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License,
|
|
||||||
# or any later version.
|
|
||||||
#
|
|
||||||
# NethServer is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with NethServer. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
|
|
||||||
# TODO: manage migration
|
|
||||||
|
|
||||||
use esmith::DB::db;
|
|
||||||
use esmith::event;
|
|
||||||
use strict;
|
|
||||||
|
|
||||||
my $event = shift;
|
|
||||||
my $sourceDir = shift;
|
|
||||||
my $esmithDbDir = '/home/e-smith/db';
|
|
||||||
my $errors = 0;
|
|
||||||
if( ! -d $sourceDir) {
|
|
||||||
die("Could not find dir $sourceDir");
|
|
||||||
}
|
|
||||||
|
|
||||||
my $srcConfigDb = esmith::DB::db->open_ro(join('', $sourceDir, $esmithDbDir, '/configuration')) || die("Could not open source configuration database in $sourceDir \n");
|
|
||||||
|
|
||||||
my $dstConfigDb = esmith::DB::db->open('configuration') || die("Could not open destination account db\n");
|
|
||||||
|
|
||||||
|
|
||||||
my $service = 'httpd-admin';
|
|
||||||
my $old = $srcConfigDb->get($service);
|
|
||||||
my $new = $dstConfigDb->get($service) || $dstConfigDb->new_record($service);
|
|
||||||
$new->set_prop('ValidFrom', $old->prop('ValidFrom') || '');
|
|
||||||
$old = $srcConfigDb->get('modSSL');
|
|
||||||
$new->set_prop('SSLCipherSuite', $old->prop('CipherSuite') || 'ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM');
|
|
||||||
|
|
||||||
#
|
|
||||||
# Apply configuration
|
|
||||||
#
|
|
||||||
if( ! esmith::event::event_signal('nethserver-httpd-admin-update')) {
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
exit 0;
|
|
@ -1 +0,0 @@
|
|||||||
restart
|
|
@ -1 +0,0 @@
|
|||||||
../actions/doraemon-migrate
|
|
0
root/etc/httpd/doraemon/.gitignore
vendored
0
root/etc/httpd/doraemon/.gitignore
vendored
Loading…
x
Reference in New Issue
Block a user