You can subscribe to this list here.
| 2007 |
Jan
(76) |
Feb
(76) |
Mar
(54) |
Apr
(14) |
May
(23) |
Jun
(21) |
Jul
|
Aug
|
Sep
(9) |
Oct
(14) |
Nov
(12) |
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
|
Feb
(18) |
Mar
(3) |
Apr
|
May
|
Jun
(2) |
Jul
(3) |
Aug
|
Sep
|
Oct
(17) |
Nov
(13) |
Dec
|
| 2009 |
Jan
(1) |
Feb
(1) |
Mar
(15) |
Apr
(2) |
May
(18) |
Jun
(1) |
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2010 |
Jan
(1) |
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(61) |
Dec
|
| 2011 |
Jan
|
Feb
|
Mar
(18) |
Apr
|
May
|
Jun
(5) |
Jul
|
Aug
(1) |
Sep
(2) |
Oct
(4) |
Nov
(10) |
Dec
(9) |
| 2012 |
Jan
(10) |
Feb
(23) |
Mar
|
Apr
(5) |
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(4) |
| 2013 |
Jan
(17) |
Feb
(1) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <di...@us...> - 2010-11-23 04:11:10
|
Revision: 723
http://safekeep.svn.sourceforge.net/safekeep/?rev=723&view=rev
Author: dimi
Date: 2010-11-23 04:11:04 +0000 (Tue, 23 Nov 2010)
Log Message:
-----------
Prep announce file
Modified Paths:
--------------
safekeep/trunk/ANNOUNCE
Modified: safekeep/trunk/ANNOUNCE
===================================================================
--- safekeep/trunk/ANNOUNCE 2010-11-23 04:01:58 UTC (rev 722)
+++ safekeep/trunk/ANNOUNCE 2010-11-23 04:11:04 UTC (rev 723)
@@ -1,37 +1,26 @@
-This is release 1.3.0 of SafeKeep, a centralized and easy to use
+This is release 1.3.1 of SafeKeep, a centralized and easy to use
backup application that combines the best features of a mirror
and an incremental backup.
What's new in this release:
- - Add ionice(1) support for limiting IO on server side.
- - Allow control of nice value on both server and client
- - Fix password handling when dumping MySQL databases.
- - Fix MySQL dumps when passing a username (for newer versions).
- - Handle correctly Unicode strings, such as localized DB names.
- - Fix a bug when dumping a specific Postgresql database.
- - Prepare the code for newer Python versions
- - Try to remove a snapshot up to 10 times in a row to workaround
- silly udev bug: https://bugzilla.redhat.com/show_bug.cgi?id=577798
- - Multiple internal cleanups, and minor bugs fixes.
+ - Fix a few serios errors preventing safekeep from running.
+ - Better reporting of client messages and exceptions.
-Thanks go to Frank Crawford and Bertrand Lecervoisier for providing
-patches and reports for the problems addressed in this release.
-
Sources and binaries are available from the following locations:
- RedHat EL/CentOS 3,4,5,6 Fedora 8,9,10,11,12,13,14:
- http://prdownloads.sourceforge.net/safekeep/safekeep-common-1.3.0-1.noarch.rpm
- http://prdownloads.sourceforge.net/safekeep/safekeep-client-1.3.0-1.noarch.rpm
- http://prdownloads.sourceforge.net/safekeep/safekeep-server-1.3.0-1.noarch.rpm
+ http://prdownloads.sourceforge.net/safekeep/safekeep-common-1.3.1-1.noarch.rpm
+ http://prdownloads.sourceforge.net/safekeep/safekeep-client-1.3.1-1.noarch.rpm
+ http://prdownloads.sourceforge.net/safekeep/safekeep-server-1.3.1-1.noarch.rpm
- Ubuntu Edgy, Dapper, Breezy, Hardy, Karmic, Lucid, Maverick, and Natty:
- http://prdownloads.sourceforge.net/safekeep/safekeep-common_1.3.0_all.deb
- http://prdownloads.sourceforge.net/safekeep/safekeep-client_1.3.0_all.deb
- http://prdownloads.sourceforge.net/safekeep/safekeep-server_1.3.0_all.deb
+ http://prdownloads.sourceforge.net/safekeep/safekeep-common_1.3.1_all.deb
+ http://prdownloads.sourceforge.net/safekeep/safekeep-client_1.3.1_all.deb
+ http://prdownloads.sourceforge.net/safekeep/safekeep-server_1.3.1_all.deb
- Source:
- http://prdownloads.sourceforge.net/safekeep/safekeep-1.3.0.tar.gz
- http://prdownloads.sourceforge.net/safekeep/safekeep-1.3.0-1.src.rpm
+ http://prdownloads.sourceforge.net/safekeep/safekeep-1.3.1.tar.gz
+ http://prdownloads.sourceforge.net/safekeep/safekeep-1.3.1-1.src.rpm
To find out more about the project visit on our website:
http://safekeep.sourceforge.net
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-23 04:02:04
|
Revision: 722
http://safekeep.svn.sourceforge.net/safekeep/?rev=722&view=rev
Author: dimi
Date: 2010-11-23 04:01:58 +0000 (Tue, 23 Nov 2010)
Log Message:
-----------
Better identify the client's message class
Modified Paths:
--------------
safekeep/trunk/safekeep
Modified: safekeep/trunk/safekeep
===================================================================
--- safekeep/trunk/safekeep 2010-11-23 03:56:43 UTC (rev 721)
+++ safekeep/trunk/safekeep 2010-11-23 04:01:58 UTC (rev 722)
@@ -94,7 +94,7 @@
msg = '%s: %s' % (cls, msg)
else:
for c in VEBOSITY_BY_CLASS.keys():
- if msg.startswith(c + ': '):
+ if msg.upper().startswith(c + ': '):
cls = c
break
else:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-23 03:56:49
|
Revision: 721
http://safekeep.svn.sourceforge.net/safekeep/?rev=721&view=rev
Author: dimi
Date: 2010-11-23 03:56:43 +0000 (Tue, 23 Nov 2010)
Log Message:
-----------
Update changelog
Modified Paths:
--------------
safekeep/trunk/safekeep.spec.in
Modified: safekeep/trunk/safekeep.spec.in
===================================================================
--- safekeep/trunk/safekeep.spec.in 2010-11-23 01:38:57 UTC (rev 720)
+++ safekeep/trunk/safekeep.spec.in 2010-11-23 03:56:43 UTC (rev 721)
@@ -116,6 +116,10 @@
%doc samples/sample.backup
%changelog
+* Mon Nov 22 2010 Dimi Paun <di...@la...> 1.3.1-1
+ - Fix a few serios errors preventing safekeep from running.
+ - Better reporting of client messages and exceptions.
+
* Sun Nov 21 2010 Dimi Paun <di...@la...> 1.3.0-1
- Add ionice(1) support for limiting IO on server side.
- Allow control of nice value on both server and client
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-23 01:39:03
|
Revision: 720
http://safekeep.svn.sourceforge.net/safekeep/?rev=720&view=rev
Author: dimi
Date: 2010-11-23 01:38:57 +0000 (Tue, 23 Nov 2010)
Log Message:
-----------
Proper reporting of client stacktraces to the server.
Fix the invocation of ssh(1) when we don't have verosity enabled.
Modified Paths:
--------------
safekeep/trunk/safekeep
Modified: safekeep/trunk/safekeep
===================================================================
--- safekeep/trunk/safekeep 2010-11-23 01:00:17 UTC (rev 719)
+++ safekeep/trunk/safekeep 2010-11-23 01:38:57 UTC (rev 720)
@@ -75,6 +75,14 @@
# Miscellaneous support functions
######################################################################
+class ClientException(Exception):
+ def __init__(self, value, traceback=None):
+ self.value = value
+ self.traceback = traceback
+
+ def __str__(self):
+ return repr(self.value)
+
def send(msg):
print msg.encode('utf-8')
sys.stdout.flush()
@@ -885,11 +893,10 @@
if line.startswith('OK'):
return line[2:-1].strip()
elif line.startswith('ERROR'):
- raise Exception(line[5:].strip())
+ raise ClientException(line[5:].strip())
elif line.startswith('TRACEBACK'):
i = line.find('>>>')
- error(line[i+3:].replace('###', '\n'))
- raise Exception(line[10:i].strip())
+ raise ClientException(line[10:i].strip(), line[i+3:].replace('###', '\n'))
elif not line:
raise Exception('client died unexpectedly')
else:
@@ -1035,7 +1042,9 @@
cmd = []
if cfg['host']:
- cmd.extend(['ssh', verbosity_ssh, '-T', '-i', cfg['key_ctrl'], '-l', cfg['user'], cfg['host']])
+ cmd.extend(['ssh'])
+ if verbosity_ssh: cmd.extend([verbosity_ssh])
+ cmd.extend(['-T', '-i', cfg['key_ctrl'], '-l', cfg['user'], cfg['host']])
cmd.extend(['safekeep', '--client'])
(cin,cout) = os.popen2(cmd)
@@ -1102,7 +1111,11 @@
info('Client-side cleanup for client %s: FAILED' % id)
do_server_rdiff_cleanup(cfg)
else:
- error('Server backup for client %s: FAILED' % id, ex)
+ if isinstance(ex, ClientException):
+ error('Client %s: FAILED due to: %s' % (id, ex or ''))
+ if ex.traceback: error(ex.traceback)
+ else:
+ error('Server backup for client %s: FAILED' % id, ex)
info('------------------------------------------------------------------')
debug('Server backup done')
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-23 01:00:23
|
Revision: 719
http://safekeep.svn.sourceforge.net/safekeep/?rev=719&view=rev
Author: dimi
Date: 2010-11-23 01:00:17 +0000 (Tue, 23 Nov 2010)
Log Message:
-----------
Fix SF dir
Modified Paths:
--------------
safekeep/trunk/Makefile
Modified: safekeep/trunk/Makefile
===================================================================
--- safekeep/trunk/Makefile 2010-11-22 20:47:12 UTC (rev 718)
+++ safekeep/trunk/Makefile 2010-11-23 01:00:17 UTC (rev 719)
@@ -14,7 +14,7 @@
deb_box := 192.168.3.202
rpm_box := 192.168.3.242
sf_login := dimi,$(name)@frs.sourceforge.net
-sf_dir := /home/frs/project/s/sa/$(name)
+sf_dir := /home/frs/project/s/sa/$(name)/$(name)
releasedir := releases
repo_srv := root@ulysses
repo_dir := /var/www/repos/lattica
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-22 20:47:18
|
Revision: 718
http://safekeep.svn.sourceforge.net/safekeep/?rev=718&view=rev
Author: dimi
Date: 2010-11-22 20:47:12 +0000 (Mon, 22 Nov 2010)
Log Message:
-----------
Silly fixes
Modified Paths:
--------------
safekeep/trunk/safekeep
Modified: safekeep/trunk/safekeep
===================================================================
--- safekeep/trunk/safekeep 2010-11-22 19:33:29 UTC (rev 717)
+++ safekeep/trunk/safekeep 2010-11-22 20:47:12 UTC (rev 718)
@@ -130,7 +130,7 @@
def warn(msg):
log(msg, 'WARN')
-def error(msg, ex):
+def error(msg, ex=None):
extra = ""
if ex:
extra = stacktrace()
@@ -873,7 +873,7 @@
do_client_cleanup(cfg, bdir)
if ex:
- send('TRACEBACK ' + ex + '>>>' + stacktrace().replace('\n', '###'))
+ send('TRACEBACK ' + str(ex) + '>>>' + stacktrace().replace('\n', '###'))
######################################################################
# Server implementation
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-22 19:33:35
|
Revision: 717
http://safekeep.svn.sourceforge.net/safekeep/?rev=717&view=rev
Author: dimi
Date: 2010-11-22 19:33:29 +0000 (Mon, 22 Nov 2010)
Log Message:
-----------
Cleanup
Modified Paths:
--------------
safekeep/trunk/Makefile
Modified: safekeep/trunk/Makefile
===================================================================
--- safekeep/trunk/Makefile 2010-11-22 18:59:18 UTC (rev 716)
+++ safekeep/trunk/Makefile 2010-11-22 19:33:29 UTC (rev 717)
@@ -171,7 +171,7 @@
scp $(releasedir)/${name}{,-common,-client,-server}-${version}-*.rpm ${repo_srv}:${repo_dir}/upload
ssh ${repo_srv} "cd ${repo_dir}; ./deploy-rpms.sh upload/${name}-*${version}-*.rpm"
-deploy-sf: deploy-src-to-sf deploy-rpms-to-sf deploy-debs-to-sf
+deploy-sf:
echo -e "cd $(sf_dir)\nmkdir $(version)" | sftp -b- $(sf_login)
scp $(releasedir)/$(releasename).tar.gz $(sf_login):$(sf_dir)/$(version)
scp ANNOUNCE $(sf_login):$(sf_dir)/$(version)/README.txt
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-22 18:59:25
|
Revision: 716
http://safekeep.svn.sourceforge.net/safekeep/?rev=716&view=rev
Author: dimi
Date: 2010-11-22 18:59:18 +0000 (Mon, 22 Nov 2010)
Log Message:
-----------
Bunch of changes to the build procedure
Modified Paths:
--------------
safekeep/trunk/Makefile
Modified: safekeep/trunk/Makefile
===================================================================
--- safekeep/trunk/Makefile 2010-11-22 05:02:46 UTC (rev 715)
+++ safekeep/trunk/Makefile 2010-11-22 18:59:18 UTC (rev 716)
@@ -121,7 +121,9 @@
mv $(rpmroot)/SRPMS/$(snapshotname)-$(release)*.src.rpm .
mv $(rpmroot)/RPMS/noarch/$(name)-*-$(version).$(version_ts)-$(release)*.noarch.rpm .
-dist:
+dist: $(releasedir)/$(releasename).tar.gz
+
+$(releasedir)/$(releasename).tar.gz:
svn export $(svnroot)/safekeep/tags/$(tagname) $(releasename)
cat $(releasename)/$(name).spec.in | sed 's/^%define version.*/%define version $(version)/' > $(releasename)/$(name).spec
cat $(releasename)/debian/changelog.in | sed 's/^safekeep.*/safekeep ($(version)) unstable; urgency=low/' > $(releasename)/debian/changelog
@@ -129,40 +131,52 @@
cd $(releasename); make docs
rm -rf $(releasename)
-distdeb: dist
- tar xz -C /tmp -f $(releasedir)/$(releasename).tar.gz
- rm -rf $(releasedir)/$(releasename).tar.gz
- cd /tmp/$(releasename) && debuild --check-dirname-regex 'safekeep(-.*)?'
+distdeb: distdeb-build distdeb-sign
+
+distdeb-build: $(releasedir)/$(releasename).tar.gz
+ tar xz -C /tmp -f $<
+ cd /tmp/$(releasename) && dpkg-buildpackage -us -uc
mv /tmp/$(name)-*_$(version)_all.deb $(releasedir)
-distrpm: dist
- rpmbuild -ta $(releasedir)/$(releasename).tar.gz
+distdeb-sign:
+ debsign $(releasedir)/$(name)-*_$(version)_all.deb
+
+distrpm: distrpm-build distrpm-sign
+
+distrpm-build: $(releasedir)/$(releasename).tar.gz
+ rpmbuild -ta $<
mv $(rpmroot)/SRPMS/$(releasename)-$(release)*.src.rpm $(releasedir)
mv $(rpmroot)/RPMS/noarch/$(name)-*-$(version)-$(release)*.noarch.rpm $(releasedir)
+
+distrpm-sign:
rpm --addsign $(releasedir)/$(releasename)-$(release)*.src.rpm $(releasedir)/$(name)-*-$(version)-$(release)*.noarch.rpm
-dist-all: dist
- ssh $(deb_box) 'cd ~/safekeep/safekeep; svn up; cd trunk; make distdeb'
+dist-sign: distrpm-sign distdeb-sign
+
+dist-all: dist distdeb-remote fetch-debs distrpm-remote fetch-rpms dist-sign
+
+distdeb-remote:
+ ssh $(deb_box) 'cd ~/safekeep/safekeep; svn up; cd trunk; make distdeb-build'
+
+fetch-debs:
scp $(deb_box):~/safekeep/safekeep/trunk/$(releasedir)/$(name)-*_$(version)_all.deb $(releasedir)
- ssh $(rpm_box) 'cd ~/safekeep/safekeep; svn up; cd trunk; make distrpm'
- scp $(rpm_box):~/safekeep/safekeep/trunk/$(name)-*$(version)-$(release).*.rpm $(releasedir)
-deploy-src-to-sf:
- echo -e "cd $(sf_dir)\nmkdir $(version)" | sftp -b- $(sf_login)
- scp $(releasedir)/$(releasename).tar.gz $(sf_login):$(sf_dir)/$(version)
- scp ANNOUNCE $(sf_login):$(sf_dir)/$(version)/README.txt
+distrpm-remote:
+ ssh $(rpm_box) 'cd ~/safekeep/safekeep; svn up; cd trunk; make distrpm-build'
-deploy-rpms-to-sf:
- scp $(releasedir)/$(releasename)-$(release)*.src.rpm $(releasedir)/$(name)-*-$(version)-$(release)*.noarch.rpm $(sf_login):$(sf_dir)/$(version)
+fetch-rpms:
+ scp $(rpm_box):~/safekeep/safekeep/trunk/$(releasedir)/$(name)-*$(version)-$(release).*.rpm $(releasedir)
-deploy-debs-to-sf:
- scp $(releasedir)/$(name)-*_$(version)_all.deb $(sf_login):$(sf_dir)/$(version)
-
deploy-lattica:
scp $(releasedir)/${name}{,-common,-client,-server}-${version}-*.rpm ${repo_srv}:${repo_dir}/upload
ssh ${repo_srv} "cd ${repo_dir}; ./deploy-rpms.sh upload/${name}-*${version}-*.rpm"
deploy-sf: deploy-src-to-sf deploy-rpms-to-sf deploy-debs-to-sf
+ echo -e "cd $(sf_dir)\nmkdir $(version)" | sftp -b- $(sf_login)
+ scp $(releasedir)/$(releasename).tar.gz $(sf_login):$(sf_dir)/$(version)
+ scp ANNOUNCE $(sf_login):$(sf_dir)/$(version)/README.txt
+ scp $(releasedir)/$(releasename)-$(release)*.src.rpm $(releasedir)/$(name)-*-$(version)-$(release)*.noarch.rpm $(sf_login):$(sf_dir)/$(version)
+ scp $(releasedir)/$(name)-*_$(version)_all.deb $(sf_login):$(sf_dir)/$(version)
check:
safekeep-test --local
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-22 05:02:52
|
Revision: 715
http://safekeep.svn.sourceforge.net/safekeep/?rev=715&view=rev
Author: dimi
Date: 2010-11-22 05:02:46 +0000 (Mon, 22 Nov 2010)
Log Message:
-----------
More SF automation
Modified Paths:
--------------
safekeep/trunk/Makefile
Modified: safekeep/trunk/Makefile
===================================================================
--- safekeep/trunk/Makefile 2010-11-22 04:33:49 UTC (rev 714)
+++ safekeep/trunk/Makefile 2010-11-22 05:02:46 UTC (rev 715)
@@ -11,6 +11,8 @@
dirname := $(shell basename $(PWD))
rpmroot := $(shell grep '%_topdir' ~/.rpmmacros 2>/dev/null | sed 's/^[^ \t]*[ \t]*//')
svnroot := $(shell LANG=C svn info 2>/dev/null | grep Root | cut -c 18-)
+deb_box := 192.168.3.202
+rpm_box := 192.168.3.242
sf_login := dimi,$(name)@frs.sourceforge.net
sf_dir := /home/frs/project/s/sa/$(name)
releasedir := releases
@@ -139,6 +141,12 @@
mv $(rpmroot)/RPMS/noarch/$(name)-*-$(version)-$(release)*.noarch.rpm $(releasedir)
rpm --addsign $(releasedir)/$(releasename)-$(release)*.src.rpm $(releasedir)/$(name)-*-$(version)-$(release)*.noarch.rpm
+dist-all: dist
+ ssh $(deb_box) 'cd ~/safekeep/safekeep; svn up; cd trunk; make distdeb'
+ scp $(deb_box):~/safekeep/safekeep/trunk/$(releasedir)/$(name)-*_$(version)_all.deb $(releasedir)
+ ssh $(rpm_box) 'cd ~/safekeep/safekeep; svn up; cd trunk; make distrpm'
+ scp $(rpm_box):~/safekeep/safekeep/trunk/$(name)-*$(version)-$(release).*.rpm $(releasedir)
+
deploy-src-to-sf:
echo -e "cd $(sf_dir)\nmkdir $(version)" | sftp -b- $(sf_login)
scp $(releasedir)/$(releasename).tar.gz $(sf_login):$(sf_dir)/$(version)
@@ -154,8 +162,7 @@
scp $(releasedir)/${name}{,-common,-client,-server}-${version}-*.rpm ${repo_srv}:${repo_dir}/upload
ssh ${repo_srv} "cd ${repo_dir}; ./deploy-rpms.sh upload/${name}-*${version}-*.rpm"
-deploy-sf:
- scp releases/${name}{-${version}.tar.gz,{,-common,-client,-server}-${version}-*.rpm} frs.sourceforge.net:uploads
+deploy-sf: deploy-src-to-sf deploy-rpms-to-sf deploy-debs-to-sf
check:
safekeep-test --local
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-22 04:33:55
|
Revision: 714
http://safekeep.svn.sourceforge.net/safekeep/?rev=714&view=rev
Author: dimi
Date: 2010-11-22 04:33:49 +0000 (Mon, 22 Nov 2010)
Log Message:
-----------
Tag safekeep 1.3.0
Added Paths:
-----------
safekeep/tags/Release-safekeep-1_3_0/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-22 04:32:55
|
Revision: 713
http://safekeep.svn.sourceforge.net/safekeep/?rev=713&view=rev
Author: dimi
Date: 2010-11-22 04:32:48 +0000 (Mon, 22 Nov 2010)
Log Message:
-----------
Add support for deploying to SF
Modified Paths:
--------------
safekeep/trunk/Makefile
Modified: safekeep/trunk/Makefile
===================================================================
--- safekeep/trunk/Makefile 2010-11-22 03:54:45 UTC (rev 712)
+++ safekeep/trunk/Makefile 2010-11-22 04:32:48 UTC (rev 713)
@@ -11,6 +11,8 @@
dirname := $(shell basename $(PWD))
rpmroot := $(shell grep '%_topdir' ~/.rpmmacros 2>/dev/null | sed 's/^[^ \t]*[ \t]*//')
svnroot := $(shell LANG=C svn info 2>/dev/null | grep Root | cut -c 18-)
+sf_login := dimi,$(name)@frs.sourceforge.net
+sf_dir := /home/frs/project/s/sa/$(name)
releasedir := releases
repo_srv := root@ulysses
repo_dir := /var/www/repos/lattica
@@ -129,7 +131,7 @@
tar xz -C /tmp -f $(releasedir)/$(releasename).tar.gz
rm -rf $(releasedir)/$(releasename).tar.gz
cd /tmp/$(releasename) && debuild --check-dirname-regex 'safekeep(-.*)?'
- mv /tmp/$(releasename)/safekeep*deb $(releasedir)
+ mv /tmp/$(name)-*_$(version)_all.deb $(releasedir)
distrpm: dist
rpmbuild -ta $(releasedir)/$(releasename).tar.gz
@@ -137,6 +139,17 @@
mv $(rpmroot)/RPMS/noarch/$(name)-*-$(version)-$(release)*.noarch.rpm $(releasedir)
rpm --addsign $(releasedir)/$(releasename)-$(release)*.src.rpm $(releasedir)/$(name)-*-$(version)-$(release)*.noarch.rpm
+deploy-src-to-sf:
+ echo -e "cd $(sf_dir)\nmkdir $(version)" | sftp -b- $(sf_login)
+ scp $(releasedir)/$(releasename).tar.gz $(sf_login):$(sf_dir)/$(version)
+ scp ANNOUNCE $(sf_login):$(sf_dir)/$(version)/README.txt
+
+deploy-rpms-to-sf:
+ scp $(releasedir)/$(releasename)-$(release)*.src.rpm $(releasedir)/$(name)-*-$(version)-$(release)*.noarch.rpm $(sf_login):$(sf_dir)/$(version)
+
+deploy-debs-to-sf:
+ scp $(releasedir)/$(name)-*_$(version)_all.deb $(sf_login):$(sf_dir)/$(version)
+
deploy-lattica:
scp $(releasedir)/${name}{,-common,-client,-server}-${version}-*.rpm ${repo_srv}:${repo_dir}/upload
ssh ${repo_srv} "cd ${repo_dir}; ./deploy-rpms.sh upload/${name}-*${version}-*.rpm"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-22 03:54:52
|
Revision: 712
http://safekeep.svn.sourceforge.net/safekeep/?rev=712&view=rev
Author: dimi
Date: 2010-11-22 03:54:45 +0000 (Mon, 22 Nov 2010)
Log Message:
-----------
Prep ANNOUNCE
Modified Paths:
--------------
safekeep/trunk/ANNOUNCE
Modified: safekeep/trunk/ANNOUNCE
===================================================================
--- safekeep/trunk/ANNOUNCE 2010-11-22 02:05:26 UTC (rev 711)
+++ safekeep/trunk/ANNOUNCE 2010-11-22 03:54:45 UTC (rev 712)
@@ -3,13 +3,13 @@
and an incremental backup.
What's new in this release:
+ - Add ionice(1) support for limiting IO on server side.
- Allow control of nice value on both server and client
- Fix password handling when dumping MySQL databases.
- Fix MySQL dumps when passing a username (for newer versions).
- Handle correctly Unicode strings, such as localized DB names.
- Fix a bug when dumping a specific Postgresql database.
- Prepare the code for newer Python versions
- - Drop support for Python < 2.4, subprocess module isn't supported.
- Try to remove a snapshot up to 10 times in a row to workaround
silly udev bug: https://bugzilla.redhat.com/show_bug.cgi?id=577798
- Multiple internal cleanups, and minor bugs fixes.
@@ -19,11 +19,10 @@
Sources and binaries are available from the following locations:
- - RedHat EL/CentOS 5,6 Fedora 8,9,10,11,12,13,14:
+ - RedHat EL/CentOS 3,4,5,6 Fedora 8,9,10,11,12,13,14:
http://prdownloads.sourceforge.net/safekeep/safekeep-common-1.3.0-1.noarch.rpm
http://prdownloads.sourceforge.net/safekeep/safekeep-client-1.3.0-1.noarch.rpm
http://prdownloads.sourceforge.net/safekeep/safekeep-server-1.3.0-1.noarch.rpm
- http://prdownloads.sourceforge.net/safekeep/safekeep-1.3.0-1.src.rpm
- Ubuntu Edgy, Dapper, Breezy, Hardy, Karmic, Lucid, Maverick, and Natty:
http://prdownloads.sourceforge.net/safekeep/safekeep-common_1.3.0_all.deb
@@ -32,6 +31,7 @@
- Source:
http://prdownloads.sourceforge.net/safekeep/safekeep-1.3.0.tar.gz
+ http://prdownloads.sourceforge.net/safekeep/safekeep-1.3.0-1.src.rpm
To find out more about the project visit on our website:
http://safekeep.sourceforge.net
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-22 02:05:32
|
Revision: 711
http://safekeep.svn.sourceforge.net/safekeep/?rev=711&view=rev
Author: dimi
Date: 2010-11-22 02:05:26 +0000 (Mon, 22 Nov 2010)
Log Message:
-----------
Prep release
Modified Paths:
--------------
safekeep/trunk/safekeep.spec.in
Modified: safekeep/trunk/safekeep.spec.in
===================================================================
--- safekeep/trunk/safekeep.spec.in 2010-11-22 02:03:19 UTC (rev 710)
+++ safekeep/trunk/safekeep.spec.in 2010-11-22 02:05:26 UTC (rev 711)
@@ -24,7 +24,7 @@
Summary: The SafeKeep backup system (common component)
Group: Applications/System
Requires: rdiff-backup
-Requires: python >= 2.4
+Requires: python >= 2.2
%description common
SafeKeep is a client/server backup system which enhances the
@@ -116,14 +116,14 @@
%doc samples/sample.backup
%changelog
-* Fri Nov 19 2010 Dimi Paun <di...@la...> 1.3.0-1
+* Sun Nov 21 2010 Dimi Paun <di...@la...> 1.3.0-1
+ - Add ionice(1) support for limiting IO on server side.
- Allow control of nice value on both server and client
- Fix password handling when dumping MySQL databases.
- Fix MySQL dumps when passing a username (for newer versions).
- Handle correctly Unicode strings, such as localized DB names.
- Fix a bug when dumping a specific Postgresql database.
- Prepare the code for newer Python versions
- - Drop support for Python < 2.4, subprocess module isn't supported.
- Try to remove a snapshot up to 10 times in a row to workaround
silly udev bug: https://bugzilla.redhat.com/show_bug.cgi?id=577798
- Multiple internal cleanups, and minor bugs fixes.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-22 02:03:25
|
Revision: 710
http://safekeep.svn.sourceforge.net/safekeep/?rev=710&view=rev
Author: dimi
Date: 2010-11-22 02:03:19 +0000 (Mon, 22 Nov 2010)
Log Message:
-----------
Add back the Python 2.2 compatibilty hacks
Modified Paths:
--------------
safekeep/trunk/safekeep
Modified: safekeep/trunk/safekeep
===================================================================
--- safekeep/trunk/safekeep 2010-11-21 20:10:12 UTC (rev 709)
+++ safekeep/trunk/safekeep 2010-11-22 02:03:19 UTC (rev 710)
@@ -31,6 +31,24 @@
use_subprocess = False
######################################################################
+# Python 2.2 compatibility
+######################################################################
+# There is no guarantee that we'll continue supporting Python 2.2
+# indefinitely, but we make a reasonable effor to do so as long as
+# it doesn't result in major complication/ugliness.
+
+try:
+ True, False
+except NameError:
+ True, False = 1, 0
+
+def enumerate(obj):
+ i = -1
+ for item in obj:
+ i += 1
+ yield i, item
+
+######################################################################
# Global settings
######################################################################
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-21 20:10:18
|
Revision: 709
http://safekeep.svn.sourceforge.net/safekeep/?rev=709&view=rev
Author: dimi
Date: 2010-11-21 20:10:12 +0000 (Sun, 21 Nov 2010)
Log Message:
-----------
Fix the fallback for the subprocess module, use it when available
Modified Paths:
--------------
safekeep/trunk/safekeep
Modified: safekeep/trunk/safekeep
===================================================================
--- safekeep/trunk/safekeep 2010-11-21 20:01:20 UTC (rev 708)
+++ safekeep/trunk/safekeep 2010-11-21 20:10:12 UTC (rev 709)
@@ -24,9 +24,11 @@
try:
import subprocess
from subprocess import PIPE, STDOUT
+ use_subprocess = True
except:
PIPE = -1
STDOUT = -2
+ use_subprocess = False
######################################################################
# Global settings
@@ -128,16 +130,13 @@
else:
_stderr = STDOUT
- if 'subprocess' in dir():
+ if use_subprocess:
proc = subprocess.Popen(args, bufsize=1, shell=_shell, stdin=_stdin, stdout=PIPE, stderr=_stderr, close_fds=True)
child_in = proc.stdin
child_out = proc.stdout
- def do_wait():
- return proc_wait()
-
else:
if _shell:
- args = ["/bin/sh", "-c"].extend(args)
+ args = ["/bin/sh", "-c", args]
if _stderr:
(child_in, child_out) = os.popen4(args)
else:
@@ -146,9 +145,6 @@
if not stdin:
child_in.close()
- def do_wait():
- return 0
-
if stdin:
child_in.write(stdin)
child_in.close()
@@ -160,8 +156,13 @@
else:
info(line.rstrip())
child_out.close()
- return (do_wait(), ''.join(lines))
+ if use_subprocess:
+ return (proc.wait(), ''.join(lines))
+ else:
+ return (0, ''.join(lines))
+
+
def _spawn(args, stdin=None, stdout=False):
if isinstance(args, types.StringTypes):
cmd = args.split(None)[0]
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-21 20:01:26
|
Revision: 708
http://safekeep.svn.sourceforge.net/safekeep/?rev=708&view=rev
Author: dimi
Date: 2010-11-21 20:01:20 +0000 (Sun, 21 Nov 2010)
Log Message:
-----------
Add working support for reporting exceptions that happen on the client side
Modified Paths:
--------------
safekeep/trunk/safekeep
Modified: safekeep/trunk/safekeep
===================================================================
--- safekeep/trunk/safekeep 2010-11-21 19:32:11 UTC (rev 707)
+++ safekeep/trunk/safekeep 2010-11-21 20:01:20 UTC (rev 708)
@@ -82,7 +82,7 @@
print >> sys.stderr, msg.encode('utf-8')
def info_file(file, marker=None):
- info('## File: ' + file)
+ info('# File: ' + file)
errs = 0;
fin = open(file, 'r')
try:
@@ -98,6 +98,9 @@
fin.close()
return errs
+def stacktrace():
+ return "\n" + traceback.format_exc()
+
def debug(msg):
log(msg, 'DBG')
@@ -107,8 +110,11 @@
def warn(msg):
log(msg, 'WARN')
-def error(msg):
- log(msg, 'ERR')
+def error(msg, ex):
+ extra = ""
+ if ex:
+ extra = stacktrace()
+ log(msg + extra, 'ERR')
def do_spawn(args, stdin=None, stdout=False):
debug('Run [' + ' '.join(args) + ']')
@@ -841,7 +847,6 @@
send('ERROR Unknown command: %s' % line)
break
except Exception, e:
- traceback.print_exc(file=sys.stdout)
ex = e
break
finally:
@@ -849,7 +854,7 @@
do_client_cleanup(cfg, bdir)
if ex:
- send('ERROR %s' % (ex or ''))
+ send('TRACEBACK ' + ex + '>>>' + stacktrace().replace('\n', '###'))
######################################################################
# Server implementation
@@ -862,6 +867,10 @@
return line[2:-1].strip()
elif line.startswith('ERROR'):
raise Exception(line[5:].strip())
+ elif line.startswith('TRACEBACK'):
+ i = line.find('>>>')
+ error(line[i+3:].replace('###', '\n'))
+ raise Exception(line[10:i].strip())
elif not line:
raise Exception('client died unexpectedly')
else:
@@ -1069,13 +1078,12 @@
else:
info('Server backup for client %s: OK (%d WARNINGS)' % (id, errs))
- except Exception, e:
+ except Exception, ex:
if cleanup and not cleaned_up:
info('Client-side cleanup for client %s: FAILED' % id)
do_server_rdiff_cleanup(cfg)
else:
- error(e)
- error('Server backup for client %s: FAILED' % id)
+ error('Server backup for client %s: FAILED' % id, ex)
info('------------------------------------------------------------------')
debug('Server backup done')
@@ -1527,7 +1535,7 @@
else:
assert False, 'Unknown mode: %s' % (mode)
except Exception, ex:
- error('ERROR: %s' % (ex or ''))
+ error('ERROR: %s' % (ex or ''), ex)
if email and not noemail:
send_notification(email, smtp)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-21 19:32:17
|
Revision: 707
http://safekeep.svn.sourceforge.net/safekeep/?rev=707&view=rev
Author: dimi
Date: 2010-11-21 19:32:11 +0000 (Sun, 21 Nov 2010)
Log Message:
-----------
Warn if ionice is not available
Modified Paths:
--------------
safekeep/trunk/safekeep
Modified: safekeep/trunk/safekeep
===================================================================
--- safekeep/trunk/safekeep 2010-11-21 19:28:19 UTC (rev 706)
+++ safekeep/trunk/safekeep 2010-11-21 19:32:11 UTC (rev 707)
@@ -874,11 +874,14 @@
args.extend(['nice', '-n' + str(nice)])
ionice_cmd = 'ionice'
- if ionice and ionice != 'none' and try_to_run(ionice_cmd):
- if ionice is 'idle':
- args.extend([ionice_cmd, '-c3', '-t'])
+ if ionice and ionice != 'none':
+ if try_to_run(ionice_cmd):
+ if ionice is 'idle':
+ args.extend([ionice_cmd, '-c3', '-t'])
+ else:
+ args.extend([ionice_cmd, '-c2', '-n' + ionice, '-t'])
else:
- args.extend([ionice_cmd, '-c2', '-n' + ionice, '-t'])
+ warn('ionice(1) not available, ignoring ionice.adjustment')
args.extend(['rdiff-backup'])
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-21 19:28:25
|
Revision: 706
http://safekeep.svn.sourceforge.net/safekeep/?rev=706&view=rev
Author: dimi
Date: 2010-11-21 19:28:19 +0000 (Sun, 21 Nov 2010)
Log Message:
-----------
Clean up, fix typo
Modified Paths:
--------------
safekeep/trunk/safekeep
Modified: safekeep/trunk/safekeep
===================================================================
--- safekeep/trunk/safekeep 2010-11-21 19:11:22 UTC (rev 705)
+++ safekeep/trunk/safekeep 2010-11-21 19:28:19 UTC (rev 706)
@@ -131,7 +131,7 @@
else:
if _shell:
- args = ["/bin/sh", "-c"].extends(args)
+ args = ["/bin/sh", "-c"].extend(args)
if _stderr:
(child_in, child_out) = os.popen4(args)
else:
@@ -873,11 +873,12 @@
if nice:
args.extend(['nice', '-n' + str(nice)])
- if ionice and ionice != 'none' and try_to_run('ionice'):
- if ionice == 'idle':
- args.extend(['ionice', '-c3', '-t'])
+ ionice_cmd = 'ionice'
+ if ionice and ionice != 'none' and try_to_run(ionice_cmd):
+ if ionice is 'idle':
+ args.extend([ionice_cmd, '-c3', '-t'])
else:
- args.extend(['ionice', '-c2', '-n' + ionice, '-t'])
+ args.extend([ionice_cmd, '-c2', '-n' + ionice, '-t'])
args.extend(['rdiff-backup'])
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-21 19:11:28
|
Revision: 705
http://safekeep.svn.sourceforge.net/safekeep/?rev=705&view=rev
Author: dimi
Date: 2010-11-21 19:11:22 +0000 (Sun, 21 Nov 2010)
Log Message:
-----------
Nuke the 1.3.0 tag.
Removed Paths:
-------------
safekeep/tags/Release-safekeep-1_3_0/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-21 19:09:19
|
Revision: 704
http://safekeep.svn.sourceforge.net/safekeep/?rev=704&view=rev
Author: dimi
Date: 2010-11-21 19:09:13 +0000 (Sun, 21 Nov 2010)
Log Message:
-----------
Add support for ionice(1)
Modified Paths:
--------------
safekeep/trunk/doc/safekeep.conf.txt
safekeep/trunk/safekeep
safekeep/trunk/safekeep.conf
Modified: safekeep/trunk/doc/safekeep.conf.txt
===================================================================
--- safekeep/trunk/doc/safekeep.conf.txt 2010-11-19 22:05:07 UTC (rev 703)
+++ safekeep/trunk/doc/safekeep.conf.txt 2010-11-21 19:09:13 UTC (rev 704)
@@ -64,6 +64,17 @@
the .backup file (see /backup/host/@nice).
NB: if you change this value, you will have to re-deploy the auth keys.
+ionice.adjustment::
+ The default IO nice level adjustment for safekeep.
+ It can be either 'none', 'idle', or an integer between 0-7
+ (with 0 being higher priority). See ionice(1) for more information.
+ This is currently being used only on the server side, where
+ IO load tends to be a problem.
+ NB: this depends on the availability of 'ionice(1)' on the
+ system where the server is running. If ionice cannot be found,
+ this setting is ignored.
+ If no level is specified, it defaults to 'idle'.
+
bandwidth.overall::
This is the default bandwidth limit for both upload and
download for all the clients. It is an integer number of KB/s
Modified: safekeep/trunk/safekeep
===================================================================
--- safekeep/trunk/safekeep 2010-11-19 22:05:07 UTC (rev 703)
+++ safekeep/trunk/safekeep 2010-11-21 19:09:13 UTC (rev 704)
@@ -867,12 +867,18 @@
else:
log(line[:-1])
-def do_server_rdiff(cfg, bdir, nice, force):
+def do_server_rdiff(cfg, bdir, nice, ionice, force):
args = []
if nice:
args.extend(['nice', '-n' + str(nice)])
+ if ionice and ionice != 'none' and try_to_run('ionice'):
+ if ionice == 'idle':
+ args.extend(['ionice', '-c3', '-t'])
+ else:
+ args.extend(['ionice', '-c2', '-n' + ionice, '-t'])
+
args.extend(['rdiff-backup'])
if cfg['host']:
@@ -968,7 +974,7 @@
elif server_minor > client_minor:
warn('Protocol mismatch: %s <> %s' % (PROTOCOL, client_protocol))
-def do_server(cfgs, ids, nice, force, cleanup):
+def do_server(cfgs, ids, nice, ionice, force, cleanup):
debug("Do server main loop")
for cfg in cfgs.itervalues():
id = cfg['id']
@@ -1038,7 +1044,7 @@
else:
backup_marker = None
- do_server_rdiff(cfg, bdir, nice, force)
+ do_server_rdiff(cfg, bdir, nice, ionice, force)
errs = 0
if os.path.isdir(rdiff_logdir):
@@ -1441,6 +1447,9 @@
if nice_def is None: nice_def = 10
nice_srv = get_int('nice.adjustment.server') or nice_def
nice_cln = get_int('nice.adjustment.client') or nice_def
+ ionice_def = get_int('ionice.adjustment')
+ if ionice_def is None: ionice_def = 'idle'
+ if ionice_def is '': ionice_def = 'none'
global default_bandwidth
default_bandwidth['overall'] = get_int('bandwidth.limit') or 0
@@ -1489,7 +1498,7 @@
if mode is 'server':
is_client = False
verbosity_level = 1 + verbosity
- do_server(cfgs, args, nice_srv, force, cleanup)
+ do_server(cfgs, args, nice_srv, ionice_def, force, cleanup)
elif mode is 'list':
if list_type is None:
list_type = 'increments'
Modified: safekeep/trunk/safekeep.conf
===================================================================
--- safekeep/trunk/safekeep.conf 2010-11-19 22:05:07 UTC (rev 703)
+++ safekeep/trunk/safekeep.conf 2010-11-21 19:09:13 UTC (rev 704)
@@ -17,6 +17,10 @@
# to disable nice, set it to 0
# nice.adjustment = 10
+# Default io niceness level used on the server side.
+# Set this to 'none' to disable ionice(1)-ness
+# ionice.adjustment = idle
+
# A default bandwidth limit for both download/upload
# bandwidth.limit=100
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-19 22:05:13
|
Revision: 703
http://safekeep.svn.sourceforge.net/safekeep/?rev=703&view=rev
Author: dimi
Date: 2010-11-19 22:05:07 +0000 (Fri, 19 Nov 2010)
Log Message:
-----------
By default, run safekeep as niced
Modified Paths:
--------------
safekeep/trunk/doc/safekeep.conf.txt
safekeep/trunk/safekeep
safekeep/trunk/safekeep.conf
Modified: safekeep/trunk/doc/safekeep.conf.txt
===================================================================
--- safekeep/trunk/doc/safekeep.conf.txt 2010-11-19 19:16:25 UTC (rev 702)
+++ safekeep/trunk/doc/safekeep.conf.txt 2010-11-19 22:05:07 UTC (rev 703)
@@ -50,7 +50,8 @@
It specifies an integer to be added to the current nice
level. Nicenesses range from -20 (most favorable scheduling)
to 19 (least favorable).
- If no nice level is specified, safekeep is not niced.
+ To disable nice, set this value to 0.
+ If no nice level is specified, safekeep is niced at +10.
nice.adjustment.server::
The nice level adjustment for safekeep, used on the server side.
Modified: safekeep/trunk/safekeep
===================================================================
--- safekeep/trunk/safekeep 2010-11-19 19:16:25 UTC (rev 702)
+++ safekeep/trunk/safekeep 2010-11-19 22:05:07 UTC (rev 703)
@@ -1438,6 +1438,7 @@
if 'email.to' in props:
email = props['email.to'].split(',')
nice_def = get_int('nice.adjustment')
+ if nice_def is None: nice_def = 10
nice_srv = get_int('nice.adjustment.server') or nice_def
nice_cln = get_int('nice.adjustment.client') or nice_def
Modified: safekeep/trunk/safekeep.conf
===================================================================
--- safekeep/trunk/safekeep.conf 2010-11-19 19:16:25 UTC (rev 702)
+++ safekeep/trunk/safekeep.conf 2010-11-19 22:05:07 UTC (rev 703)
@@ -14,7 +14,8 @@
# you can control the server/client nice level via
# nice.adjustment.server and nice.adjustment.client
# or even on a per-client box in the .backup file.
-nice.adjustment = 10
+# to disable nice, set it to 0
+# nice.adjustment = 10
# A default bandwidth limit for both download/upload
# bandwidth.limit=100
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-19 19:16:31
|
Revision: 702
http://safekeep.svn.sourceforge.net/safekeep/?rev=702&view=rev
Author: dimi
Date: 2010-11-19 19:16:25 +0000 (Fri, 19 Nov 2010)
Log Message:
-----------
First cut at a decent fallback for the subprocess module
Modified Paths:
--------------
safekeep/trunk/safekeep
Modified: safekeep/trunk/safekeep
===================================================================
--- safekeep/trunk/safekeep 2010-11-19 18:50:23 UTC (rev 701)
+++ safekeep/trunk/safekeep 2010-11-19 19:16:25 UTC (rev 702)
@@ -17,11 +17,17 @@
from __future__ import generators
import getopt, os, os.path, re, sys, fnmatch, stat, types
-import subprocess
import commands, tempfile, time, traceback
import getpass, pwd, xml.dom.minidom
import socket, smtplib
+try:
+ import subprocess
+ from subprocess import PIPE, STDOUT
+except:
+ PIPE = -1
+ STDOUT = -2
+
######################################################################
# Global settings
######################################################################
@@ -108,26 +114,47 @@
debug('Run [' + ' '.join(args) + ']')
_shell = isinstance(args, types.StringTypes)
if stdin:
- _stdin = subprocess.PIPE
+ _stdin = PIPE
else:
_stdin = None
if stdout:
_stderr = None
else:
- _stderr = subprocess.STDOUT
- proc = subprocess.Popen(args, bufsize=1, shell=_shell, stdin=_stdin, stdout=subprocess.PIPE, stderr=_stderr, close_fds=True)
+ _stderr = STDOUT
+ if 'subprocess' in dir():
+ proc = subprocess.Popen(args, bufsize=1, shell=_shell, stdin=_stdin, stdout=PIPE, stderr=_stderr, close_fds=True)
+ child_in = proc.stdin
+ child_out = proc.stdout
+ def do_wait():
+ return proc_wait()
+
+ else:
+ if _shell:
+ args = ["/bin/sh", "-c"].extends(args)
+ if _stderr:
+ (child_in, child_out) = os.popen4(args)
+ else:
+ (child_in, child_out) = os.popen3(args)
+
+ if not stdin:
+ child_in.close()
+
+ def do_wait():
+ return 0
+
if stdin:
- proc.stdin.write(stdin)
- proc.stdin.close()
+ child_in.write(stdin)
+ child_in.close()
+
lines=[]
- for line in proc.stdout:
+ for line in child_out:
if stdout:
lines.append(line)
else:
info(line.rstrip())
- proc.stdout.close()
- return (proc.wait(), ''.join(lines))
+ child_out.close()
+ return (do_wait(), ''.join(lines))
def _spawn(args, stdin=None, stdout=False):
if isinstance(args, types.StringTypes):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-19 18:50:29
|
Revision: 701
http://safekeep.svn.sourceforge.net/safekeep/?rev=701&view=rev
Author: dimi
Date: 2010-11-19 18:50:23 +0000 (Fri, 19 Nov 2010)
Log Message:
-----------
Use our abstraction instead
Modified Paths:
--------------
safekeep/trunk/safekeep
Modified: safekeep/trunk/safekeep
===================================================================
--- safekeep/trunk/safekeep 2010-11-19 18:46:12 UTC (rev 700)
+++ safekeep/trunk/safekeep 2010-11-19 18:50:23 UTC (rev 701)
@@ -1117,7 +1117,7 @@
if backup_user is not work_user:
gencmd = 'su -s /bin/sh -c %s - %s' % (commands.mkarg(gencmd), backup_user)
debug(gencmd)
- if os.system(gencmd):
+ if spawn(gencmd):
error('%s: Failed to generate key %s. Skipping client.' % (id, privatekeyfile))
break
if not os.path.isfile(publickeyfile):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-19 18:46:17
|
Revision: 700
http://safekeep.svn.sourceforge.net/safekeep/?rev=700&view=rev
Author: dimi
Date: 2010-11-19 18:46:12 +0000 (Fri, 19 Nov 2010)
Log Message:
-----------
Somehow newer rdiff-backups removes all write permission
on some of the directories, and shutil.rmtree() cannot
deal with that correctly.
Modified Paths:
--------------
safekeep/trunk/safekeep-test
Modified: safekeep/trunk/safekeep-test
===================================================================
--- safekeep/trunk/safekeep-test 2010-11-19 17:58:31 UTC (rev 699)
+++ safekeep/trunk/safekeep-test 2010-11-19 18:46:12 UTC (rev 700)
@@ -167,7 +167,9 @@
cmd = "diff -u %(tmproot)s/md5sums.client %(tmproot)s/md5sums.restore"
if os.system(cmd % params):
raise TestFailure("The MD5 sums differ")
- shutil.rmtree(os.path.join(tmproot, 'restore'))
+ dir = os.path.join(tmproot, 'restore')
+ os.system("chmod +w " + dir)
+ shutil.rmtree(dir)
time.sleep(1)
def takeOver(host, role, verrel):
@@ -492,6 +494,7 @@
if nocleanup:
print tmproot
else:
+ os.system("chmod -R +w " +tmproot)
shutil.rmtree(tmproot)
sys.exit(exitcode)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <di...@us...> - 2010-11-19 17:58:37
|
Revision: 699
http://safekeep.svn.sourceforge.net/safekeep/?rev=699&view=rev
Author: dimi
Date: 2010-11-19 17:58:31 +0000 (Fri, 19 Nov 2010)
Log Message:
-----------
A few silly typos
Modified Paths:
--------------
safekeep/trunk/safekeep
Modified: safekeep/trunk/safekeep
===================================================================
--- safekeep/trunk/safekeep 2010-11-19 17:17:37 UTC (rev 698)
+++ safekeep/trunk/safekeep 2010-11-19 17:58:31 UTC (rev 699)
@@ -105,7 +105,7 @@
log(msg, 'ERR')
def do_spawn(args, stdin=None, stdout=False):
- debug('Run [' + ' '.joint(args) + ']')
+ debug('Run [' + ' '.join(args) + ']')
_shell = isinstance(args, types.StringTypes)
if stdin:
_stdin = subprocess.PIPE
@@ -642,7 +642,7 @@
if not line: raise ConfigException('Unexpected end of file')
cfgStr += line
- do_client_config_parse(cfgStr, dflt_id)
+ return do_client_config_parse(cfgStr, dflt_id)
def do_client_config_parse(cfgStr, dflt_id=None):
dom = xml.dom.minidom.parseString(cfgStr)
@@ -814,6 +814,7 @@
send('ERROR Unknown command: %s' % line)
break
except Exception, e:
+ traceback.print_exc(file=sys.stdout)
ex = e
break
finally:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|