libreschool-client-manager/libreschool-client-manager....

121 lines
3.5 KiB
RPMSpec

Summary: LibreSchool Client Manager
Name: libreschool-client-manager
Version: 1.0.5
Release: 1.ns7
License: GPL
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-root
Source0: %{name}-%{version}.tar.gz
Source1: createlinks.pl
Source2: LICENSE
URL: %{url_prefix}/%{name}
Group: System Environment/Daemons
Requires: libreschool-release
Requires: ansible
Requires: httpd, php, sudo, php-xml, php-mcrypt
Requires: nethserver-base
Requires: ansible
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
Requires(pre): /usr/sbin/useradd, /usr/bin/getent
Requires(postun): /usr/sbin/userdel
BuildRequires: nethserver-devtools > 1.0.1
BuildRequires: systemd
%description
LibreSchool Ansible base structure for client management
%prep
%setup
%build
%{makedocs}
perl createlinks.pl
%install
rm -rf $RPM_BUILD_ROOT
(cd root ; find . -depth -not -name '*.orig' -print | cpio -dump $RPM_BUILD_ROOT)
%{genfilelist} $RPM_BUILD_ROOT > %{name}-%{version}-%{release}-filelist
echo "%doc LICENSE" >> %{name}-%{version}-%{release}-filelist
mkdir -p %{buildroot}%{_localstatedir}/log/client-manager
mkdir -p %{buildroot}%{_localstatedir}/cache/client-manager
%files -f %{name}-%{version}-%{release}-filelist
%attr(0755,srvmgr,srvmgr) %dir %{_localstatedir}/cache/client-manager
%attr(0755,srvmgr,srvmgr) %dir %{_localstatedir}/log/client-manager
%defattr(-,root,root)
%pre
/usr/bin/getent passwd amgmt || /usr/sbin/useradd -r -m -g wheel -d /home/amgmt -s /sbin/nologin amgmt
if [ ! -d /home/amgmt/.ssh ] ; then
mkdir -p /home/amgmt/.ssh
fi
chmod 0700 /home/amgmt /home/amgmt/.ssh
chown -R amgmt:wheel /home/amgmt
if [ ! -f /home/amgmt/.ssh/id_rsa ] ; then
cat /dev/zero | sudo -u amgmt ssh-keygen -q -N ""
fi
if [ "$1" = 2 ]; then
#upgrade
/usr/bin/systemctl stop client-manager >/dev/null 2>&1 || :
fi
%post
/etc/e-smith/events/actions/initialize-default-databases
[ -e /usr/sbin/client-manager ] && [ ! -L /usr/sbin/client-manager ] && rm /usr/sbin/client-manager
[ ! -L /usr/sbin/client-manager ] && ln -s httpd /usr/sbin/client-manager
/sbin/e-smith/expand-template /etc/sudoers
[ ! -d /etc/httpd/client-manager ] && mkdir /etc/httpd/client-manager
/sbin/e-smith/expand-template /etc/httpd/client-manager/httpd.conf
/sbin/e-smith/expand-template /etc/ansible/reconfigure_clients.yml
/sbin/e-smith/signal-event runlevel-adjust
/usr/bin/systemctl --no-block start client-manager >/dev/null 2>&1 || :
/sbin/e-smith/signal-event firewall-adjust
%preun
#if [ "$1" = 1 ]; then
# #upgrade
#fi
if [ "$1" = 0 ]; then
#uninstallation
/usr/bin/systemctl stop client-manager >/dev/null 2>&1 || :
fi
%postun
#if [ "$1" = 1 ]; then
# #upgrade
#fi
if [ "$1" = 0 ]; then
#uninstallation
/usr/sbin/userdel amgmt
/sbin/e-smith/db configuration delete client-manager
/sbin/e-smith/expand-template /etc/sudoers
/sbin/e-smith/signal-event runlevel-adjust
/sbin/e-smith/signal-event firewall-adjust
fi
%changelog
* Sun Apr 5 2020 Paolo Asperti <paolo@asperti.com> - 1.0.5-1.ns7
- playbook split + added ntp
* Thu Apr 2 2020 Paolo Asperti <paolo@asperti.com> - 1.0.4-1.ns7
- per-host log files
* Sun Mar 8 2020 Paolo Asperti <paolo@asperti.com> - 1.0.3-1.ns7
- fix re-adoption
* Sat Mar 7 2020 Paolo Asperti <paolo@asperti.com> - 1.0.2-1.ns7
- fix re-adoption
- added some required packages
- updated readme
* Sun Mar 1 2020 Paolo Asperti <paolo@asperti.com> - 1.0.1-1.ns7
- added client shell
- fixed amgmt user creation
- fix creation of httpd config
* Sun Apr 28 2019 Paolo Asperti <paolo@asperti.com> - 1.0.0-1.ns7
- First release for NethServer 7