%define backup_dir %_localstatedir/%{name}/previous_versions/`date +%%F_%%H%%M`
Name: rujel
Version: 0.9.8
Release: alt3
Summary: RUJEL is a web-portal application for maintaining online markbook in schools.
Summary(ru_RU.UTF-8): РУЖЭЛЬ — веб-приложение для ведения классного журнала.
License: BSD
Group: Networking/WWW
URL: http://www.rujel.net
BuildArch: noarch
Packager: Gennady Kushnir <baywind@altlinux.org>
# http://github.com/baywind/install/
Source: %{name}-%{version}.tar
Patch1: %{name}-alt-config.patch
BuildRequires(pre): rpm-macros-webobjects
Requires: java >= 1.5 webobjects mysql junixsocket
Provides: Rujel RujelDiary PListWOEditor
%description
RUJEL is a web-portal application for maintaining online markbook in
schools. It supports criterial evaluation for International
Baccalaureate schools.
RUJEL has russian user interface but it can be easily localised by
rewriting *.plist files located in Resources folder of each framework
%description -l ru_RU.UTF-8
РУЖЭЛЬ - web-приложение для ведения классного журнала.
Наиболее полно отражает подходы к ведению журнала в российской школе
и позволяет отразить всевозможные хитросплетения учебного процесса.
%prep
%setup
%patch1 -p2
echo >> Rujel.woa/Contents/Resources/Properties
echo "RujelRevision=%release" >> Rujel.woa/Contents/Resources/Properties
echo '#!/bin/sh' > backupCron.sh
echo 'if [ -z "$1" ]' >> backupCron.sh
echo " then exit 1" >> backupCron.sh
echo "fi" >> backupCron.sh
echo "export NEXT_ROOT=%wo_next_root" >> backupCron.sh
echo 'case $1 in' >> backupCron.sh
echo ' "day") MT=1;;' >> backupCron.sh
echo ' "week") MT=7;;' >> backupCron.sh
echo ' *) MT=31;;' >> backupCron.sh
echo "esac" >> backupCron.sh
echo 'if [ -z "`find $NEXT_ROOT/Local/Library/WebObjects/Logs/ -name Rujel?_0* -mtime -$MT`" ]' >> backupCron.sh
echo " then exit 0" >> backupCron.sh
echo "fi" >> backupCron.sh
echo "echo >> %_localstatedir/%{name}/backup.log" >> backupCron.sh
echo 'echo `date` >> '"%_localstatedir/%{name}/backup.log" >> backupCron.sh
echo "%_datadir/%{name}/backup.sh \$1 %_localstatedir/%{name}/backup >> %_localstatedir/%{name}/backup.log"' 2>&1' >> backupCron.sh
%build
%pre
if [ "$1" != 1 ] ; then
if [ -e %_datadir/%{name}/previous_versions ] ; then
mkdir -p %_localstatedir/%{name}
mv %_datadir/%{name}/previous_versions %_localstatedir/%{name}/
fi
for f in PListWOEditor Rujel RujelDiary
do
if [ -d %wo_appsdir/$f.woa ] ; then
mkdir -p %backup_dir/
mv %wo_appsdir/$f.woa %backup_dir/
echo "mv -f %wo_appsdir/$f.woa previous/" >> %backup_dir/restore.tmp
echo "cp -r $f.woa %wo_appsdir/" >> %backup_dir/restore.tmp
fi
done
for f in Authentication Reusables RujelArchiving RujelAutoItog RujelBase RujelComplete RujelContacts RujelCriterial RujelCurriculum RujelEduPlan RujelEduResults RujelEmail RujelInterfaces RujelReports RujelSchedule RujelStats RujelUsers RujelVseLists
do
if [ -d %wo_frameworks/$f.framework ] ; then
mkdir -p %backup_dir/Frameworks/
mv %wo_frameworks/$f.framework %backup_dir/Frameworks/
echo "mv -f %wo_frameworks/$f.framework previous/Frameworks/" >> %backup_dir/restore.tmp
echo "cp -r Frameworks/$f.framework %wo_frameworks/" >> %backup_dir/restore.tmp
fi
done
if [ -e %backup_dir/restore.tmp ] ; then
echo "#!/bin/sh" > %backup_dir/restore.sh
echo "mkdir -p previous/Frameworks" >> %backup_dir/restore.sh
cat %backup_dir/restore.tmp >> %backup_dir/restore.sh
rm -f %backup_dir/restore.tmp
chmod 755 %backup_dir/restore.sh
echo "mv restore.sh previous/" >> %backup_dir/restore.sh
fi
tar -cj -f "%backup_dir/RujelConfig_`date +%%F`.tar.bz2" -C %wo_configdir rujel
fi
%install
# Applications
mkdir -p %buildroot%wo_appsdir
cp -r *.woa %buildroot%wo_appsdir/
# Frameworks
mkdir -p %buildroot%wo_frameworks
cp -r Frameworks/*.framework %buildroot%wo_frameworks/
# Configuration files
install -d %buildroot%wo_configdir/rujel/modules
install -m 664 -pD Configuration/logging/logging.properties %buildroot%wo_configdir/rujel/
install -m 664 -pD Configuration/logging/diaryLog.properties %buildroot%wo_configdir/rujel/
install -m 666 -pD Configuration/message.txt %buildroot%wo_configdir/rujel/
cp -r Configuration/RUJELsetup %buildroot%wo_configdir/
cp -r Configuration/RujelReports %buildroot%wo_configdir/rujel/
install -m 640 -pD Configuration/SiteConfig.xml %buildroot%_datadir/%{name}/SiteConfig.xml
#data
install -d -m 750 %buildroot%_datadir/%{name}/complete/students
install -d -m 755 %buildroot%_datadir/%{name}/complete/courses
cp -r SQL %buildroot%_datadir/%{name}/
#backup scripts
install -m 755 backup.sh %buildroot%_datadir/%{name}/
install -m 755 backupCron.sh %buildroot%_datadir/%{name}/
install -d -m 755 %buildroot%_localstatedir/%{name}/backup
%post
cd %wo_appsdir
for f in *.woa; do
if [ -d $f/Contents/WebServerResources ] ; then
mkdir -p %wo_web_resources/$f/Contents/
ln -fns %wo_appsdir/$f/Contents/WebServerResources %wo_web_resources/$f/Contents/WebServerResources
fi
done
cd %wo_frameworks
for f in *.framework; do
if [ -d $f/WebServerResources ] ; then
mkdir -p %wo_web_resources/Frameworks/$f
ln -fns %wo_frameworks/$f/WebServerResources %wo_web_resources/Frameworks/$f/WebServerResources
fi
done
ln -fns %_datadir/java/junixsocket/junixsocket.jar %wo_localroot/Library/WebObjects/Extensions
ln -fns %_datadir/java/junixsocket/junixsocket-mysql.jar %wo_localroot/Library/WebObjects/Extensions
if [ "$1" = 1 ] ; then
grep -iq "rujel" %wo_configdir/SiteConfig.xml > /dev/null 2>&1 ||
install -b -pD -m 640 --owner=%wo_user --group=%wo_group %_datadir/%{name}/SiteConfig.xml %wo_configdir/
if [ ! -e %wo_configdir/rujel/rujel.plist ] ; then
cp %wo_configdir/RUJELsetup/required/* %wo_configdir/rujel/modules/
cp %wo_configdir/RUJELsetup/recommended/* %wo_configdir/rujel/modules/
cp %wo_configdir/RUJELsetup/dbpresets/MySQL_junixsocket.plist %wo_configdir/rujel/modules/database.plist
chown -R %wo_user:%wo_group %wo_configdir/rujel/modules/
mv %wo_configdir/rujel/modules/rujel.plist %wo_configdir/rujel/
fi
%post_service wotaskd
%post_service womonitor
fi
if ! grep -iq "rujel" %_sysconfdir/crontab ; then
echo >> %_sysconfdir/crontab
echo "## backup Rujel databases" >> %_sysconfdir/crontab
echo "05 5 1 * * %wo_user %_datadir/%{name}/backupCron.sh all" >> %_sysconfdir/crontab
echo "05 5 2-31 * * %wo_user %_datadir/%{name}/backupCron.sh day" >> %_sysconfdir/crontab
echo "03 5 * * 0 %wo_user %_datadir/%{name}/backupCron.sh week" >> %_sysconfdir/crontab
%post_service crond
fi
#%_datadir/%{name}/backupCron.sh all
%preun
if [ "$1" = 0 ] ; then
rm -rf %_datadir/%{name}/previous_versions
for f in PListWOEditor Rujel RujelDiary
do
if [ -d %wo_web_resources/$f.woa ] ; then
rm -rf %wo_web_resources/$f.woa
fi
done
for f in Authentication Reusables RujelArchiving RujelAutoItog RujelBase RujelComplete RujelContacts RujelCriterial RujelCurriculum RujelEduPlan RujelEduResults RujelEmail RujelInterfaces RujelReports RujelSchedule RujelStats RujelUsers RujelVseLists
do
if [ -d %wo_web_resources/Frameworks/$f.framework ] ; then
rm -rf %wo_web_resources/Frameworks/$f.framework
fi
done
fi
%files
%defattr(-,%wo_user,%wo_group)
%wo_appsdir/*
%wo_frameworks/*
%_datadir/%{name}
%_localstatedir/%{name}
%wo_configdir/RUJELsetup
%dir %wo_configdir/rujel
%config(noreplace) %wo_configdir/rujel/modules
%config(noreplace) %wo_configdir/rujel/*.properties
%config(noreplace) %wo_configdir/rujel/message.txt
%config %wo_configdir/rujel/RujelReports
%changelog
* Tue Dec 03 2013 Gennady Kushnir <baywind@altlinux.org> 0.9.8-alt3
- upstream update (c65075e8...)
* Fri Jun 28 2013 Gennady Kushnir <baywind@altlinux.org> 0.9.8-alt2
- upstream update (1eaf7159...)
* Fri Jun 28 2013 Gennady Kushnir <baywind@altlinux.org> 0.9.8-alt1
- upstream update (ac0e52f3...)
* Sat May 25 2013 Gennady Kushnir <baywind@altlinux.org> 0.9.7-alt2
- upstream update (91d866ae...)
* Thu Apr 25 2013 Gennady Kushnir <baywind@altlinux.org> 0.9.7-alt1
- upstream update (3ae42113...)
* Tue Dec 04 2012 Gennady Kushnir <baywind@altlinux.org> 0.9.6-alt1
- upstream update (e8be9a44...)
* Fri Aug 31 2012 Gennady Kushnir <baywind@altlinux.org> 0.9.5-alt2
- upstream update (68a37f74...)
- bugfix creating work
* Wed Aug 29 2012 Gennady Kushnir <baywind@altlinux.org> 0.9.5-alt1
- upstream update (cda5c76b...)
* Sat Jan 07 2012 Gennady Kushnir <baywind@altlinux.org> 0.9.3-alt1
- upstream update (88570546...)
- install script changed
* Wed Nov 09 2011 Gennady Kushnir <baywind@altlinux.org> 0.9.1-alt4
- upstream update (a7bd4196...)
* Tue Oct 11 2011 Gennady Kushnir <baywind@altlinux.org> 0.9.1-alt3
- upstream update (f2fef036...)
* Wed Sep 21 2011 Gennady Kushnir <baywind@altlinux.org> 0.9.1-alt2
- upstream update (f487552b...)
* Thu Aug 04 2011 Gennady Kushnir <baywind@altlinux.org> 0.9.1-alt1
- upstream update (46383c57...)
* Fri Jun 17 2011 Gennady Kushnir <baywind@altlinux.org> 0.9.0-alt2
- upstream update (321cf6a3...)
* Tue May 31 2011 Gennady Kushnir <baywind@altlinux.org> 0.9.0-alt1
- upstream update (7a6f7213...)
* Fri Dec 17 2010 Gennady Kushnir <baywind@altlinux.org> 0.8.9-alt5
- upstream update (0ce2a9e0...)
* Tue Dec 14 2010 Gennady Kushnir <baywind@altlinux.org> 0.8.9-alt4
- upstream update (eb9895bb...)
- fixed first run %%post script
* Mon Dec 13 2010 Gennady Kushnir <baywind@altlinux.org> 0.8.9-alt3
- fixed LDAP connection issue
- upstream update (682fab99...)
* Sun Dec 12 2010 Gennady Kushnir <baywind@altlinux.org> 0.8.9-alt2
- upstream update (8924c5ed...)
- added message.txt
* Sun Nov 21 2010 Gennady Kushnir <baywind@altlinux.org> 0.8.9-alt1
- upstream update (76d9e477...)
- auto-writing release info into Properties
- working minimal initial configuration
* Thu Nov 07 2010 Gennady Kushnir <baywind@altlinux.org> 0.8.8-alt3
- upstream update (ba70d2dc...)
* Thu Oct 14 2010 Gennady Kushnir <baywind@altlinux.org> 0.8.8-alt2
- upstream update (1c474c61...)
* Thu Oct 07 2010 Gennady Kushnir <baywind@altlinux.org> 0.8.8-alt1
- upstream update (17114e75...)
- using patch instead of subst in %%prep
* Wed Sep 22 2010 Gennady Kushnir <baywind@altlinux.org> 0.8.7-alt1
- Initial release