debian/0000755000000000000000000000000011753347704007201 5ustar debian/examples0000644000000000000000000000003311664501622010726 0ustar debian/example/rundvbackup debian/example/0000755000000000000000000000000011664322302010620 5ustar debian/example/rundvbackup0000755000000000000000000000733411663717646013123 0ustar #!/bin/sh # # File: rundvbackup # Author: Robert Jordens # License: GNU General Public License Version 2 (GPLv2), incorporated herein by # reference # Id: $Id$ # Warning: read it before you use it # # TODO: how shall we start/stop the recorder in the right moment? # tar takes its time while scanning and filling the buffer # exit on errors set -e -x HOST=$( hostname ) STAMP=$( date '+%Y%m%d%H%M%S' ) # * DIRS sorted by priority but smart: dirs with large files # scattered throughout to reduce underruns) # TODO: write multiplexer/interleaver or a tar that randomizes the list # * TODO: if you change DIRS between backups that results in consistent # but less known/defined behaviour DIRS="/etc /home /var /boot /root /bin /sbin /usr /win" # TODO: has to exist STATEDIR=/var/lib/dvbackup FONT=-misc-fixed-medium-r-normal--6-60-75-75-c-40-iso10646-1 LOGOTEMPLATE=/usr/share/doc/dvbackup/examples/logotemplate.ppm # sequence should be about: # 0 1 2 2 2 1 2 2 2 1 2 2 2 0 1 2 2 2 1 2 2 2 1 2 2 2 0 ..... # or for example: # 0 monthly (first saturday of the month) # 1 weekly (every sunday) # 2 daily (everyday except sundays and the first saturday of the month) # requires you to atmost play in 3 backups to get the current state. # TODO: example crontab if [ -z "$1" -o "x$1" = "x0" ]; then LEVEL=0 PARENT="" else LEVEL=$1 # if this fails, we should bail out and TODO: usage PARENT=$(( $LEVEL - 1 )) fi TITLE=$HOST-l$LEVEL-$STAMP test -n "$PARENT" && PARENTSTATEFILECOMMON=$STATEDIR/state-$HOST-l$PARENT test -n "$PARENTSTATEFILECOMMON" && \ PARENTSTATEFILE=$( readlink $PARENTSTATEFILECOMMON ) THISSTATEFILECOMMON=$STATEDIR/state-$HOST-l$LEVEL test -e $THISSTATEFILECOMMON && OLDSTATEFILE=$( readlink $THISSTATEFILECOMMON ) THISSTATEFILE=$STATEDIR/state-$TITLE LOGO=$( mktemp -t dvbackup-logo-XXXXXX ) # TODO: nice paragraphing "/home /etc\n/usr /var\n...". This here is # sufficient for 8 lines DIRSNL=$( echo $DIRS | tr ' ' '\n' ) # TODO: based on convert -font "$FONT" -draw "text 1,7 '$TITLE'" -draw "text 1,13 '$DIRSNL'" \ $LOGOTEMPLATE $LOGO # safe because we have backups of this statefile ($THISSTATEFILE-HighestStamp) # TODO: missing error handling, roll-back on error/abort if [ "$LEVEL" = 0 ]; then touch $THISSTATEFILE else cp $PARENTSTATEFILE $THISSTATEFILE fi (nice -n -10 tar \ --create \ --listed-incremental $THISSTATEFILE \ --label "$TITLE" \ --ignore-failed-read \ --blocking-factor 128 \ --preserve-permissions \ --same-owner \ --one-file-system \ --sparse \ --verbose --verbose \ $DIRS \ | rsbep \ | dvbackup \ --prefix=250 \ --set-backup-title=$TITLE \ --set-picture=$LOGO \ --verbose \ | dvconnect \ --send \ --device=/dev/video1394/0 \ --buffers=1024 \ --kbuffers=32 \ --underrun-data=/usr/share/dvbackup/underrun-pal.dv \ -- - \ ) 2>&1 | gzip -3 > $STATEDIR/$TITLE.log.gz rm -f $LOGO # TODO: missing log-rotation and statefile aging rm -f $THISSTATEFILECOMMON test -e "$OLDSTATEFILE" && bzip2 $OLDSTATEFILE ln -s $(basename $THISSTATEFILE) $THISSTATEFILECOMMON # TODO: testing of success of the backup # dvconnect --device /dev/video1394/0 | dvbackup -t # dvconnect --device /dev/video1394/0 | dvbackup --decode --verbose | rsbep -d -v # | tar Ox > /dev/null # tar --ignore-zeros # TODO: replay of backups: # TODO: this is damn hard at 3MB/sec. overruns guaranteed # --atime-preserve # for i in range(0,levels necessary): do # replay backup-$i-HighestStampBelowStampOf($i-1) # something with cpio # find $DIRS -print0 | cpio --format=crc --create --null --verbose debian/install0000644000000000000000000000015411664353212010562 0ustar underrun*.dv usr/share/dvbackup minilogo.ppm usr/share/dvbackup logo.xcf usr/share/dvbackup dvbackup usr/bindebian/copyright0000644000000000000000000000350011667034331011123 0ustar Format: http://anonscm.debian.org/viewvc/dep/web/deps/dep5.mdwn?view=markup&pathrev=174 Upstream-Name: dvbackup Upstream-Contact: Peter Schlaile Source: http://dvbackup.sourceforge.net/ Files: debian/* Copyright: © 2011 Dmitry Smirnov License: GPL-2+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . . On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". Files: debian/examples/rundvdbackup debian/README.debian Copyright: © 2004 Robert Jordens License: GPL-2 On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". Files: * Copyright: © 2001 Peter Schlaile Guido Fiala License: GPL-2+ On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". Files: logo.xcf minilogo.ppm minilogo.c Copyright: © Larry Ewing License: Permission to use and/or modify this image is granted provided with acknowledgement of Larry Ewing and The GIMP. debian/README.Debian0000644000000000000000000000257511664351652011251 0ustar dvbackup for Debian ------------------- * dvbackup depends on rsbep, a useful error correction algorithm. On other architectures that i386 you have to use rsbepC, the somewhat slower version implemented in pure C, instead of rsbep. * Your system and the tool you use to generate the backup stream (tar for example) should be able to provide 3.6 MB/sec _sustained_ datarate. Otherwise you will get underruns and can't use the full capacity of the tape. * Ideas of backup scripts are in /usr/share/doc/dvbackup/examples * A useful commandline for a backup could be (you have to start and stop recording yourself, these only do the streaming): # tar cpsvv /home /etc /usr /bin /sbin /root /var | \ rsbep | \ dvbackup --verbose --prefix 120 --set-backup-title "full 2004-02-19" | \ dvconnect --send --underrun-data /usr/share/dvbackup/underrun-pal.dv \ --buffers 512 --device /dev/video1394/0 -- - For verification: # dvconnect --device /dev/video1394/0 | \ dvbackup --decode --verbose | \ rsbep -d -v | \ tar Oxvv > /dev/null And for rescue (never tested, as noone ever tests "worst case" ;-): # dvconnect --device /dev/video1394/0 | \ dvbackup --decode --verbose | \ rsbep -d -v | \ tar xvv -- Robert Jordens , Thu Feb 19 20:33:29 CET 2004 debian/manpages0000644000000000000000000000001311664340412010677 0ustar debian/*.1 debian/rules0000755000000000000000000000134011664354276010262 0ustar #!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 # see http://lists.debian.org/debian-devel-announce/2011/09/msg00001.html # Also it does hardening by default, see http://wiki.debian.org/Hardening -include /usr/share/dpkg/default.mk MANPAGES := $(patsubst debian/%.sgml, debian/%.1, $(wildcard debian/*.sgml)) $(MANPAGES): docbook-to-man $(patsubst %.1, %.sgml, $@) > $@ %: dh $@ override_dh_auto_clean: $(RM) $(MANPAGES) dvbackup dvconnect override_dh_auto_build: $(MANPAGES) dh_auto_build -- CFLAGS="$(CFLAGS)" override_dh_auto_install: dh_install dh_buildinfo get-orig-source: uscan --noconf --force-download --repack --rename --download-current-version --destdir=. debian/docs0000644000000000000000000000001511664470661010050 0ustar ReleaseNotes debian/compat0000644000000000000000000000000211663720561010373 0ustar 8 debian/source/0000755000000000000000000000000011663724764010506 5ustar debian/source/format0000644000000000000000000000001411656645551011712 0ustar 3.0 (quilt) debian/control0000644000000000000000000000223111664470716010603 0ustar Source: dvbackup Section: admin Priority: extra Maintainer: Debian QA Group Build-Depends: debhelper (>= 8), dh-buildinfo, docbook-to-man, libpopt-dev, zlib1g-dev Standards-Version: 3.9.2 Homepage: http://dvbackup.sourceforge.net/ Package: dvbackup Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, libdv-bin (>= 0.99) Recommends: rsbep (>= 0.0.5) Suggests: star, afio, cpio Description: backup tool using MiniDV camcorders Dvbackup hides the data it receives on standard input in a perfectly legal DV (digital video) stream. This allows you to use your DV camcorder and your DV cartridges as a potent mass storage system. Obviously, your system and your camcorder have to be connected via IEEE1394 (aka Firewire, iLink). . Current digital camcorders can save approximately 13 GB of data on those tiny DV cartridges at a speed of 3.6 MB/sec. That's faster than most DAT streamers which only work at 1 MB/sec or less. dvbackup can not use all of the data, but 10 GB should be good enough for everyone. . To bring the data on tape, you have to use an additional utility, called dvconnect, which is included in libdv-bin. debian/watch0000644000000000000000000000007011664352135010222 0ustar version=3 http://sf.net/dvbackup/dvbackup-(.*)\.tar\.gz debian/dvbackup.sgml0000644000000000000000000001666710015121632011660 0ustar Robert"> Jordens"> Feb 19, 2004"> 1"> jordens@debian.org"> DVBACKUP"> Debian"> GNU"> ]>
&dhemail;
&dhfirstname; &dhsurname; 2004 &dhusername; &dhdate;
&dhucpackage; &dhsection; &dhpackage; Converter from arbitrary data to a DV stream &dhpackage; DESCRIPTION This manual page documents briefly the &dhpackage; tool. This manual page was written for the &debian; distribution because the original program does not have a manual page. As you probably know, current digital camcorders can save approximately 13 GB of data on those tiny DV cartridges at a speed of 3.6 MB/second. That's fast. Very fast. It's faster than most DAT streamers which only work at 1 MB/sec or less. We can not use all of the data, but 10 GB should be good enough for everyone. That's nice, but how can we use this to save data on it? And here comes the fun part: If you read the DV documentation carefully, you will notice that the AC DCT coefficients of the video data blocks (8x8 pixels in size) get a fixed amount of space in the DV data stream, but can be terminated earlier with a certain code sequence. So let's have some fun: We terminate the AC coefficients immediately leaving only the DC coefficient for a fancy penguin picture and use the rest for our backup data. Future implementations could easily add a little picture showing the currently written file or something like that. Then there is the audio data, which is written uncompressed onto the tape. That means: We tell the camcorder at the beginning of each frame, that we won't use audio at all but fill the space reserved for it with data. Easy, but somewhat hacky. In fact, I don't know, if this works on every camcorder and not only on mine (a Sony VX700). Your mileage may vary. To finally bring the data on tape, you have to use an additional utility, called dvconnect, which is (hopefully soon) included into libdv. Take a look at the patch manager if it's not in already. And then it's time to rock and roll: Advantages of dvbackup over other backup technologies relatively cheap (the cheapest camcorder will be enough, but if you have already one...) the tapes are quite cheap open standard: if your streamer, aah camcorder dies you can rescue your data with any other one (except PAL/NTSC need to fit), you are not bound to a special company it's faster than many streamers and it will be more comfortable - you can use the search-index function to "jump" to a recording tapes (re)wind faster than many streamers you do not need to rewind the tape to eject it Disadvantages of dvbackup you do not get any warranty :-) Usage of the Unix client Press record on your camcorder. (Or use your favorite avc control program for this. For the VX700 this doesn't work and you have to hack something together, that uses LANC. I might publish my "solution" for this soon...) Type "find . |cpio -o -H crc |dvbackup --prefix=125 |dvconnect -s" to stream directly to your camcorder. This most likely does only work on very fast harddisks and filesystems. You might try something like "find . |cpio -o -H crc |dvbackup --prefix=125 |dvconnect -s -b 500" Alternatively, you can write the data in several parts on tape. Just go experimenting, and mail me the resulting backup scripts... Stop your camcorder and rewind. Now it's time to verify: Press play on tape ;-) Type "dvconnect |dvbackup -t" and watch for crc errors. The data corruption bug mentioned for version 0.0.1 seems to be fixed so there is no excuse in not using this little nifty program ;-) If you want to restore: Do a simple "dvconnect |dvbackup -d|cpio -imV". CPIO will also happily tell you about CRC errors. So you might want to check using cpio's archive test mode too. But keep in mind, that cpio's CRC function is not that fast! AUTHOR This manual page was written by &dhusername; &dhemail; for the &debian; system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2. On Debian systems, the full text of this license can be found in the file /usr/share/common-licenses/GPL-2.
debian/changelog0000644000000000000000000000477411664470321011060 0ustar dvbackup (1:0.0.4-7) unstable; urgency=low * QA upload * Major repackaging - rsbep separated into standalone package in order to fix improper packaging. (Closes: #449933) * debian/control - removed useless recommends (Closes: #488559) thanks to Justin B Rye - fixing spelling in description (Closes: #363355, #557464) thanks to Simon Waters and to Pascal De Vuyst - Standards to 3.9.2 - lintianization - added autotools-dev to take care of outdated config.(sub|guess) * debian/watch: updated (related to #449933) * debian/rules: completely rewritten * debian/compat: to 8 * debian/copyright: - reformatted according to DEP5 - rewritten to reflect packaging changes -- Dmitry Smirnov Sat, 26 Nov 2011 00:02:15 +1100 dvbackup (0.0.4rj1-6.1) unstable; urgency=low * NMU. * debian/control: Remove build dependencies on automake1.8 and autoconf. (Closes: #473298) -- Eric Dorland Sat, 03 May 2008 00:37:25 -0400 dvbackup (0.0.4rj1-6) unstable; urgency=low * debian/watch: added * another fix for the target_cpu test -- Robert Jordens Mon, 17 Jan 2005 13:47:27 +0100 dvbackup (0.0.4rj1-5) unstable; urgency=low * [Goswin von Brederlow ] + Missing Build-Depends automake1.8, autoconf + Repair broken test for i[3456]86 $target_cpu in configure.in + closes: Bug#253546 * use AM_MAINTAINER_MODE to stop auto* from being invoked -- Robert Jordens Fri, 11 Jun 2004 00:37:48 +0200 dvbackup (0.0.4rj1-4) unstable; urgency=low * debian/control: dvbackup has to be extra, because libdv-bin -- Robert Jordens Wed, 9 Jun 2004 17:19:13 +0200 dvbackup (0.0.4rj1-3) unstable; urgency=low * updated examples/rundvbackup * added examples/logotemplate.ppm and templating in examples/rundvbackup * debian/control: recommends: star and afio; they are also good (better) choices as backup engines -- Robert Jordens Mon, 15 Mar 2004 23:10:41 +0100 dvbackup (0.0.4rj1-2) unstable; urgency=medium * configure.in: cpu detecting during compile should work, fixes FTBFS' -- Robert Jordens Mon, 8 Mar 2004 12:04:21 +0100 dvbackup (0.0.4rj1-1) unstable; urgency=low * Initial Release; closes: Bug#233799 -- Robert Jordens Wed, 18 Feb 2004 11:22:43 +0100