--- rpms/smeserver-manager/sme10/smeserver-manager.spec 2018/02/04 17:52:58 1.2
+++ rpms/smeserver-manager/sme10/smeserver-manager.spec 2021/12/20 15:16:29 1.52
@@ -1,28 +1,351 @@
-# $Id: smeserver-manager.spec,v 1.1 2018/02/04 17:51:12 jpp Exp $
+# $Id: smeserver-manager.spec,v 1.51 2021/11/29 15:55:51 brianr Exp $
-Summary: smeserver manager 2 navigation module
+Summary: Sme server navigation module : manager 2
%define name smeserver-manager
Name: %{name}
-%define version 0.1.0
-%define release 1
+%define version 0.1.4
+%define release 5
Version: %{version}
Release: %{release}%{?dist}
License: GPL
Group: Networking/Daemons
Source: %{name}-%{version}.tar.xz
+Patch0: %{name}-%{version}-list_access_csrf.patch
+Patch1: %{name}-%{version}-review_csrf_url.patch
+Patch2: smeserver-manager-0.1.4-Add-dummy-classes-to-ep-files.patch
+Patch3: smeserver-manager-0.1.4-Add-span-to-group-member-checkbox-list.patch
+
BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot
+BuildArchitectures: noarch
BuildRequires: e-smith-devtools
-BuildRequires: gettext
-BuildRequires: gcc
+#
+#BuildRequires: perl >= 0:5.016
+#BuildRequires: perl(Test::More)
+#BuildRequires: perl(Test::Mojo)
+#BuildRequires: perl(Mojolicious) >= 7.56
+#BuildRequires: perl(Mojolicious::Plugin::I18N) >= 1.6
+#BuildRequires: perl(Net::Netmask) >= 1.9
+#
+
Requires: e-smith-lib >= 1.18.0-26
Requires: e-smith-manager >= 2.4.0-22
-Requires: perl-Mojolicious >= 6.44
-Requires: pwauth
-Requires: perl(Apache::AuthTkt)
-Provides: server-manager2
+Requires: perl(Mojolicious) >= 7.56
+Requires: perl(Mojolicious::Plugin::I18N) >= 1.6
+Requires: perl(Mojolicious::Plugin::RenderFile) >= 0.12
+Requires: perl(Mojolicious::Plugin::CSRFDefender) >= 0.0.8
+Requires: perl(Net::Netmask) >= 1.9
+#Requires: js-jquery > 2.2.4-3 (optional)
+
+Provides: server-manager
AutoReqProv: no
+%define dir_mngr /usr/share/smanager
+
+%description
+This RPM contributes the navigation bars for the smeserver-manager. New Mojolicious version.
+
+%prep
+%setup
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+
+%build
+perl createlinks
+
+# Force creation of potentially empty directories
+mkdir -p root/etc/e-smith/db/routes
+mkdir -p root/home/e-smith/db/navigation2
+mkdir -p root%{dir_mngr}/themes/default/public/css
+
+%install
+rm -rf $RPM_BUILD_ROOT
+(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT)
+rm -f %{name}-%{version}-%{release}-filelist
+/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \
+--dir %{dir_mngr} 'attr(0755,root,root)' \
+--file %{dir_mngr}/log/development.log 'attr(0660,root,admin)' \
+--file %{dir_mngr}/log/production.log 'attr(0660,root,admin)' \
+--file %{dir_mngr}/script/daily.sh 'attr(0770,root,root)' \
+--file %{dir_mngr}/script/routes.pl 'attr(0770,root,root)' \
+--file %{dir_mngr}/script/secrets.pl 'attr(0770,root,root)' \
+> %{name}-%{version}-%{release}-filelist
+
+echo "%doc COPYING f2b/*" >> %{name}-%{version}-%{release}-filelist
+
+%check
+#cd $RPM_BUILD_ROOT/%{dir_mngr} && QUICK_TEST=1 /usr/bin/prove -q -l -r
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%pre
+
+%preun
+if [ -h %{dir_mngr}/themes/default/public/js/jquery.min.js ]
+then
+ unlink %{dir_mngr}/themes/default/public/js/jquery.min.js
+fi
+true
+
+%post
+if [ -f /usr/share/javascript/jquery/latest/jquery.min.js ]
+then
+ [ -d %{dir_mngr}/themes/default/public/js ] ||
+ mkdir %{dir_mngr}/themes/default/public/js
+ [ -h %{dir_mngr}/themes/default/public/js/jquery.min.js ] ||
+ ln -s /usr/share/javascript/jquery/latest/jquery.min.js %{dir_mngr}/themes/default/public/js/jquery.min.js
+fi
+true
+
+%postun
+
+%files -f %{name}-%{version}-%{release}-filelist
+%defattr(-,root,root)
+
%changelog
+* Mon Dec 20 2021 Brian Read 0.1.4-5.sme
+- Add-span-to-group-member-checkbox-list [SME: 11815]
+
+* Mon Nov 29 2021 Brian Read 0.1.4-4.sme
+- Add-dummy-classes-to-ep-files.patch [SME: 11780]
+
+* Mon Nov 15 2021 Michel Begue 0.1.4-3.sme
+- Fix error message when linking, unlinking jquery in spec
+- Correct the 'review' panel presentation
+- Modify CSRFDefender plugin to take into account GET method
+- Add TOKEN param where the GET method is used in templates
+- Remove smanager from local url address
+
+* Mon Oct 11 2021 Michel Begue 0.1.4-2.sme
+- Fix incorrect list order (users, ibays, ...)
+- Add external private access (remote management)
+- Change CSRF error message
+
+* Mon Jun 21 2021 Michel Begue 0.1.4-1.sme
+- New version: smeserver-manager-0.1.4-1 (= 0.1.2-13)
+
+* Sat Jun 19 2021 Michel Begue 0.1.2-13.sme
+- Remove non english locale files (move to smeserver-manager-locale)
+- Fix error in 'locale2-conf' action
+
+* Tue Jun 15 2021 Michel Begue 0.1.2-12.sme
+- Fix errors in daily script
+- Fix url and routes for 'hostentries' panel
+- Change GET to POST method for CSRF plugin (routes and templates)
+- Fix some translations
+
+* Tue Jun 08 2021 Michel Begue 0.1.2-11.sme
+- Add cron job for secrets and routes purge
+- Add CSRFDefender plugin against CSRF attacks
+- Add optional fail2ban configuration files in doc
+- Fix zh-tw locale file name
+- Fix missing links in 'Bugreport'
+- Fix copyright in footer
+- Fix translations
+
+* Thu Jun 03 2021 Michel Begue 0.1.2-10.sme
+- Add header for contrib in layout
+- fix emailsettings error 'webmail is only SSL' [SME: 11443]
+- fix locale files
+- clean up template files
+
+* Wed Apr 21 2021 Michel Begue 0.1.2-9.sme
+- Add access attribute in configuration base
+- Verify modes and access compatibility
+- Display theme_switch button to logged in users only [SME: 11571]
+
+* Tue Apr 20 2021 Michel Begue 0.1.2-8.sme
+- Fix 'theme switch' [SME: 11571]
+
+* Mon Apr 12 2021 Michel Begue 0.1.2-7.sme
+- Fix server-mode in bugreport [SME: 10448]
+- Add systemd-default for smanager type (service) [SME: 11544]
+- Fix smanager type and status in db
+- Move initial security notification to central place
+- Render 'Manual' output in template
+- Add a link to koozali.org on Sme logo
+
+* Mon Jan 25 2021 Michel Begue 0.1.2-6.sme
+- Fix missing backup functions
+- background mode for halt and reboot
+- Store debug mode in ENV
+- Add a warning mode notification
+- Fix some translations needing to be escaped
+
+* Wed Jan 13 2021 Michel Begue 0.1.2-5.sme
+- Fix menu items not translated [SME: 11322]
+- Add other locales files
+
+* Thu Jan 07 2021 Michel Begue 0.1.2-4.sme
+- Fix 404 error when trailing slash is missing
+- Fix missing translations for ibay and quota panels
+- Comment out pptp settings in remoteaccess panel
+- Fix 'sigusr1' exec for httpd [SME: 11185]
+
+* Tue Dec 01 2020 Michel Begue 0.1.2-3.sme
+- Fix download error on 'viewlogfiles' panel [SME: 11217]
+- Fix duplicate entries in log files to be chosen
+- Fix duplicate translation terms in 'General' lexicon
+
+* Fri Nov 20 2020 Michel Begue 0.1.2-2.sme
+- Fix smanager-update event name
+- Move smanager service to /usr/lib/systemd
+- Fix Bugreport file download
+- Fix translations missing in 'viewlogfiles'
+- Remove Admin auth in httpd configuration
+- Add an optional alias for admin sign in.
+- Remove systemctl from .spec file
+
+* Thu Nov 19 2020 Michel Begue 0.1.2-1.sme
+- Create new version smeserver-manager-0.1.2-1 (= 0.1.0-31)
+
+* Wed Oct 07 2020 Michel Begue 0.1.0-31.sme
+- smanager-refresh event come back
+- add smanager version in footer
+- add optional refresh in layout
+- fix yum logfile displaying
+
+* Mon Oct 05 2020 Michel Begue 0.1.0-30.sme
+- fix I18N Namespace change for keeping Language
+- clean up emailsettings code
+- remove old global lexicon files
+- add first simple tests
+- add smanager-update event
+
+* Mon Aug 17 2020 Michel Begue 0.1.0-29.sme
+- validate lexicon file before install
+- fix route url construction (+)
+- add authentication messages to locales
+
+* Fri Aug 07 2020 Michel Begue 0.1.0-28.sme
+- validate netmask in LocalNetworks [SME: 10976]
+- validate netmask in RemoteAccess [SME: 10977]
+- prettier action button
+- accept undescore in lexicon name
+- change route urls for LocalNetworks and Portforwarding
+- add rendering to LocalNetworks notification
+
+* Mon Jul 06 2020 Michel Begue 0.1.0-27.sme
+- Fix typo in %post here
+- Complete 'datetime' panel
+- Fix notification in 'quota' panel
+
+* Wed Jul 01 2020 Michel Begue 0.1.0-26.sme
+- Fix first start error
+- Fix incorrect messages and various typos in modules
+- Add possibility to hide menu(s) (requires jquery)
+
+* Sat Jun 13 2020 Michel Begue 0.1.0-25.sme
+- Remove 'Starterwebsite' panel [SME: 8903]
+- Add choice for creating Pseudonyms [SME: 9457]
+- Change URL in 'useraccounts' templates
+- Change app to smanager in controller 'Swttheme'
+
+* Wed Jun 10 2020 Michel Begue 0.1.0-24.sme
+- Fix missing translations for some panels
+
+* Mon Jun 08 2020 Michel Begue 0.1.0-23.sme
+- Transform to Mojo application (apache/mod_proxy mode)
+- Add internal login and multi mode menus
+- Add userpassword panel
+
+* Fri May 08 2020 Michel Begue 0.1.0-22.sme
+- Fix translation in 'useraccounts' panel
+- Restore theme switcher route
+- Fix theme switcher redirection
+- fix lexicon file not found [SME: 10927]
+
+* Mon Apr 27 2020 Michel Begue 0.1.0-21.sme
+- Fix error and success management
+- Optimize Routes (number)
+- Delete share_dir variable
+- Attach Locale lexicon to Panel and Panel?
+- Fix lack of translation of first page
+
+* Wed Apr 15 2020 Michel Begue 0.1.0-20.sme
+- Patch the I18N plugin to accept namespace changes
+- Split global locales files to module level
+- Consider additional contrib locales files
+- Consider additional contrib routes and navigation item
+- fix colour button in portforwarding panel
+- fix missing esmith::util in starterwebsite panel
+
+* Tue Apr 14 2020 Michel Begue 0.1.0-19.sme
+- Remove tests : useraccounts, wbl
+
+* Sat Apr 11 2020 Michel Begue 0.1.0-18.sme
+- Add panels : emailaccess, yum, backup
+- Fix Rendering comments in portforwarding & localnetworks panels
+- Css and images files added (from manager).
+- Initial javascript in navigation added (jQuery) -optional-
+- Add 'Heading...' navigation informations in controllers
+- Show Themes_switch if there is more than one theme
+
+* Tue Apr 07 2020 Brian Read 0.1.0-15.sme
+- Sort out rule comment in portforwarding add panel
+
+* Tue Apr 07 2020 Brian Read 0.1.0-14.sme
+- Add in portforwarding panel
+- Clean up localnetwork panel code
+
+* Sun Mar 29 2020 Brian Read 0.1.0-13.sme
+- Remove Db call in LN_del template
+- Use Sme-error css class and make sure parameters applied to error message
+- Remove creation of AdminLTE directories on install
+
+* Fri Mar 20 2020 Brian Read 0.1.0-12.sme
+- Add panels : localnetworks
+- Delete AdminLTE code - will get added into new rpm
+
+* Sat Feb 29 2020 Michel Begue 0.1.0-11.sme
+- Add panels : remoteaccess, useraccounts and viewlogfiles
+- Fix 'bugreport' download
+- css enhancement in default theme
+- Fix warnings and typos
+
+* Wed Feb 19 2020 Michel Begue 0.1.0-10.sme
+- add panels : domains, hostentries and pseudonyms
+- remove old navigation menu
+
+* Mon Jan 27 2020 Michel Begue 0.1.0-9.sme
+- Fix messages without variables expansion
+- add a theme switcher
+- split navigation menu between controller and template
+- template + event for .conf file
+
+* Thu Jan 23 2020 Michel Begue 0.1.0-8.sme
+- Fix errors in Navigation
+
+* Wed Jan 22 2020 Michel Begue 0.1.0-7.sme
+- Fix link between Navigation and Theme
+- Add System and Domain names to available data (header)
+- Move some data lists from template to controller (select_field)
+- Integrate last Brian's changes in server-manager2.css (AdminLTE)
+- Fix some warnings and typos
+
+* Fri Jan 17 2020 Brian Read 0.1.0-6.sme
+- Add in theme based on AdminLTE html template
+- Fixes Server name in header (Needs Template expansion - added to Console-Save
+
+* Sun Jan 12 2020 Michel Begue 0.1.0-5.sme
+- new theme to come
+- css enhancement (thanks to B. Read)
+- panels: reboot and ibays
+
+* Wed Jan 01 2020 Michel Begue 0.1.0-4.sme
+- fix setuid with wrapper (remove sudo)
+- panels quota and groups
+
+* Mon Dec 16 2019 Michel Begue 0.1.0-3.sme
+- simple architecture : basic mojolicious app running
+- some panels
+- requires perl-Mojolicious-Plugin-I18N
+
+* Tue Feb 06 2018 John Crisp 0.1.0-2.sme
+- Start adding some template files
+
* Sun Feb 04 2018 Jean-Philipe Pialasse 0.1.0-1.sme
- first smeserver-manager package [SME: 10506]
this is a sandbox to dev the next server-manager based on mojolicious
@@ -740,86 +1063,3 @@ AutoReqProv: no
* Tue Mar 14 2000 Charlie Brady
Wed Mar 14 2000 --> Wed Mar 08 2000 or Tue Mar 14 2000 or Wed Mar 15 2000 or ....
- initial release
-
-%description
-This RPM contributes the navigation bars for the smeserver-manager.
-
-%prep
-%setup
-
-%build
-perl createlinks
-#gcc -o root/etc/e-smith/web/functions/wrapper manager.c
-#mkdir -p root/home/e-smith/db/navigation
-#mkdir -p root/etc/e-smith/web/common/css
-
-#mkdir -p root/usr/share/locale/en_US/LC_MESSAGES/
-#xgettext -o root/usr/share/locale/en_US/LC_MESSAGES/foot.tmpl.po root/etc/e-smith/templates/etc/e-smith/web/common/foot.tmpl/25Copyright
-## make header/footer symlinks
-#ln -s head.tmpl root/etc/e-smith/web/common/userpassword_head.tmpl
-#ln -s head.tmpl root/etc/e-smith/web/common/noframes_head.tmpl
-#ln -s foot.tmpl root/etc/e-smith/web/common/noframes_foot.tmpl
-
-#mkdir -p root/etc/e-smith/web/panels/manager/html
-#for file in index initial
-#do
-# ln -s ../../../functions/wrapper root/etc/e-smith/web/panels/manager/html/${file}.cgi
-#done
-
-# Force creation of potentially empty directories
-#mkdir -p root/etc/e-smith/web/{common,functions}
-#mkdir -p root/etc/e-smith/web/panels/manager/{cgi-bin,html}
-#mkdir -p root/etc/e-smith/web/panels/password/{cgi-bin,html}
-#mkdir -p root/etc/httpd/admin-conf
-mkdir -p root/etc/e-smith/web/panels/manager2/{cgi-bin,html}
-
-#mkdir -p root/service
-#mkdir -p root/etc/rc.d/init.d/supervise
-#for service in httpd-admin
-#do
-# ln -s /var/service/$service root/service/$service
-# mkdir -p root/var/service/$service/supervise
-# touch root/var/service/$service/down
-# if [ -d root/var/service/$service/log ]
-# then
-# mkdir -p root/var/service/$service/log/supervise
-# mkdir -p root/var/log/$service
-# fi
-# ln -s ../daemontools root/etc/rc.d/init.d/supervise/$service
-#done
-
-%install
-rm -rf $RPM_BUILD_ROOT
-(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT)
-rm -f %{name}-%{version}-%{release}-filelist
-/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \
-> %{name}-%{version}-%{release}-filelist
-# --file /etc/e-smith/web/common/cgi-bin/login 'attr(0755,root,root)' \
-# --file /etc/e-smith/web/common/cgi-bin/logout 'attr(0755,root,root)' \
-# --file /etc/e-smith/web/functions/wrapper 'attr(4750,root,admin)' \
-# --dir /var/service/httpd-admin 'attr(01755,root,root)' \
-# --file /var/service/httpd-admin/down 'attr(0644,root,root)' \
-# --file /var/service/httpd-admin/run 'attr(0755,root,root)' \
-# --dir /var/service/httpd-admin/log 'attr(0755,root,root)' \
-# --dir /var/service/httpd-admin/log/supervise 'attr(0700,root,root)' \
-# --dir /var/service/httpd-admin/supervise 'attr(0700,root,root)' \
-# --file /var/service/httpd-admin/log/run 'attr(0755,root,root)' \
-# --dir /var/log/httpd-admin 'attr(0750,smelog,smelog)' \
-# > %{name}-%{version}-%{release}-filelist
-echo "%doc COPYING" >> %{name}-%{version}-%{release}-filelist
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%pre
-%preun
-%post
-#find /etc/e-smith/web/panels/manager/cgi-bin/ -type f | \
-# sed -n '/\/[0-9a-z]\{32\}$/p' | \
-# xargs grep -l Persisten | \
-# xargs rm -f
-
-%postun
-
-%files -f %{name}-%{version}-%{release}-filelist
-%defattr(-,root,root)