[Server-devel] [PATCH] ds-backup: RPM packaging for -server
martin.langhoff at gmail.com
martin.langhoff at gmail.com
Sun Jul 20 21:08:33 EDT 2008
From: Martin Langhoff <martin at laptop.org>
Sort out the server package, tidy up things along the way...
---
Makefile.build | 14 ++++++++++++--
Makefile.fedora | 2 +-
Makefile.package | 2 +-
ds-backup.spec.in | 30 +++++++++++++++++++++++-------
server/apache-ds-backup.conf | 6 +++---
5 files changed, 40 insertions(+), 14 deletions(-)
diff --git a/Makefile.build b/Makefile.build
index 78de8d4..1a9af81 100644
--- a/Makefile.build
+++ b/Makefile.build
@@ -10,8 +10,18 @@ install-client:
install-server:
install -D -d $(DESTDIR)/usr/bin
- install -D server/postprocess.py $(DESTDIR)/usr/bin
-
+ install -D server/ds-postprocess.py $(DESTDIR)/usr/bin
+ install -D -d $(DESTDIR)/var/www/ds-backup
+ install -D server/backup-available.py $(DESTDIR)/var/www/ds-backup
+ install -D server/ds-restore.php $(DESTDIR)/var/www/ds-backup
+ install -D -m 644 server/incron-ds-backup.conf $(DESTDIR)/etc/incron.d/ds-backup.conf
+ install -D -m 644 server/apache-ds-backup.conf $(DESTDIR)/etc/httpd/conf.d/050-ds-backup.conf
+ install -D -d $(DESTDIR)/var/lib/ds-backup
+ # ownerships are set in the spec file - this execs as nonroot in rpmbuild
+ install -D -d $(DESTDIR)/var/lib/ds-backup/recentclients
+ # todo: tighten to group ownership
+ install -D -d -m 777 $(DESTDIR)/var/lib/ds-backup/completion
+
install: install-client install-server
.PHONY: install-client install-server
diff --git a/Makefile.fedora b/Makefile.fedora
index eb672a9..915a079 100644
--- a/Makefile.fedora
+++ b/Makefile.fedora
@@ -83,7 +83,7 @@ $(TARBALL): $(SRCDIR) $(foreach src,$(SOURCES),$(SRCDIR)/$(src))
tar cjf $(TARBALL) -C $(BUILDDIR) $(NV)
$(SRPM): $(SPEC) $(TARBALL)
- $(RPMBUILD) -bs $(BUILDDIR)/$(PKGNAME).spec
+ $(RPMBUILD) -bs --nodeps $(BUILDDIR)/$(PKGNAME).spec
build: $(SRPM)
$(MOCK) -r $(BUILDROOT) --uniqueext=`whoami` --resultdir=$(BUILDDIR) --rebuild $(SRPM)
diff --git a/Makefile.package b/Makefile.package
index 9ea9dd5..ed65bd4 100644
--- a/Makefile.package
+++ b/Makefile.package
@@ -2,7 +2,7 @@
PKGNAME = ds-backup
COMPLETION = 0.6
RELEASE = 1
-SOURCES = README AUTHORS COPYING Makefile.build client server utils
+SOURCES = README AUTHORS COPYING Makefile.build client server
ARCH = noarch
DIST = olpc
diff --git a/ds-backup.spec.in b/ds-backup.spec.in
index 97919e1..43ac878 100644
--- a/ds-backup.spec.in
+++ b/ds-backup.spec.in
@@ -29,18 +29,21 @@ Requires: python
Requires: rsync
Requires: sugar-datastore
Requires: sugar
-Requires: cronie
+Requires: vixie-cron
%package server
Summary: OLPC DS backup & restore server
Group: Applications/Archiving
+Requires: mod_python
Requires: python
Requires: rsync
-Requires: sugar-datastore
-Requires: sugar
-Requires: cronie
+Requires: vixie-cron
+Requires: incron
+Requires: php
+Requires: httpd
+BuildRequires: httpd
%description client
ds-backup-client is a GPL-licensed collection of scripts for backing up and
@@ -65,21 +68,34 @@ make -f Makefile.build install DESTDIR=$RPM_BUILD_ROOT
%clean
rm -rf $RPM_BUILD_ROOT
+%post server
+service httpd restart
%files client
%defattr(-,root,root,-)
%doc README COPYING AUTHORS
-%config(noreplace) %{_sysconfdir}/cron.d/ds-backup
+%config %{_sysconfdir}/cron.d/ds-backup
%{_bindir}/ds-backup.py
%{_bindir}/ds-backup.sh
%files server
%defattr(-,root,root,-)
%doc README COPYING AUTHORS
-%{_bindir}/postprocess.py
-
+%config(noreplace) %{_sysconfdir}/httpd/conf.d/050-ds-backup.conf
+# incron will mess up with an rpmsave file
+# so replace inconditionally
+%config %{_sysconfdir}/incron.d/ds-backup.conf
+%{_bindir}/ds-postprocess.py
+/var/www/ds-backup/backup-available.py
+/var/www/ds-backup/ds-restore.php
+%attr(700, apache, apache) %dir %{_localstatedir}/lib/ds-backup/recentclients
+%attr(777, nobody, nobody) %dir %{_localstatedir}/lib/ds-backup/completion
%changelog
+* Fri Jul 18 2008 Martin Langhoff <martin at laptop.org - 0.7-1.olpc3
+- Updated server package, several fixes.
+- Fixed dependencies: cronie->vixie-cron (which cronie provides on F9)
+
* Mon Jul 06 2008 Michael Stone <michael at laptop.org> - 0.6-1.olpc3
- Fix dependencies: crond -> cronie.
diff --git a/server/apache-ds-backup.conf b/server/apache-ds-backup.conf
index 7f7321a..0c5a14b 100644
--- a/server/apache-ds-backup.conf
+++ b/server/apache-ds-backup.conf
@@ -7,8 +7,8 @@
# clients check whether they are allowed to
# backup now...
#
-Alias /backup/1 /usr/local/ds-backup/server/backup-available.py
-<Directory /usr/local/ds-backup/server/ >
+Alias /backup/1 /var/www/ds-backup/backup-available.py
+<Directory /var/www/ds-backup/ >
AddHandler mod_python .py
PythonHandler backup-available
## Enable only in development boxen
@@ -18,5 +18,5 @@ Alias /backup/1 /usr/local/ds-backup/server/backup-available.py
#
# /ds-restore is the per-file interactive restore UI
#
-Alias /ds-restore /usr/local/ds-backup/server/ds-restore.php
+Alias /ds-restore /var/www/ds-backup/ds-restore.php
--
1.5.6.dirty
More information about the Server-devel
mailing list