Package: cedar-backup2 Version: 2.8.1-1 Severity: wishlist Tags: patch ide-scsi is obsolete on 2.6 kernels, cdrecord (presently known as wodim in Debian by the way) can use recorders just like ==== wodim dev=/dev/hdc ... ==== and cannot (as far as I can see) use it the only way cedar-backup2 can use, unlesss ide-scsi is configured. To this end I've made the following trivial modifications which seem to fix the problem for me:
Index: CedarBackup2/writer.py =================================================================== --- CedarBackup2/writer.py (revision 1011) +++ CedarBackup2/writer.py (working copy) @@ -105,7 +105,7 @@ raise ValueError("Backup device is not writable by the current user.") return device -def validateScsiId(scsiId): +def validateScsiId(scsiId, device): """ Validates a SCSI id string. SCSI id must be a string in the form C{[ATA:|ATAPI:]scsibus,target,lun}. @@ -115,6 +115,9 @@ @return: SCSI id as a string, suitable for assignment to C{CdWriter.scsiId}. @raise ValueError: If the SCSI id string is invalid. """ + if scsiId is None: + return device + pattern = re.compile(r"^\s*(?:ATA:|ATAPI:)?\s*[0-9][0-9]*\s*,\s*[0-9][0-9]*\s*,\s*[0-9][0-9]*\s*$") if not pattern.search(scsiId): pattern = re.compile(r"^\s*IO.*Services(\/[0-9][0-9]*)?\s*$") @@ -432,7 +435,7 @@ @raise IOError: If device properties could not be read for some reason. """ self._device = _validateDevice(device, unittest) - self._scsiId = validateScsiId(scsiId) + self._scsiId = validateScsiId(scsiId, device) self._driveSpeed = validateDriveSpeed(driveSpeed) self._media = MediaDefinition(mediaType) if not unittest: Index: CedarBackup2/config.py =================================================================== --- CedarBackup2/config.py (revision 1011) +++ CedarBackup2/config.py (working copy) @@ -4567,8 +4567,8 @@ raise ValueError("Store section media type must be filled in.") if self.store.devicePath is None: raise ValueError("Store section device path must be filled in.") - if self.store.deviceScsiId is None: - raise ValueError("Store section SCSI id must be filled in.") +# if self.store.deviceScsiId is None: +# raise ValueError("Store section SCSI id must be filled in.") def _validatePurge(self): """ With that patch if there is no target_scsi_id tag in the configuration file a string between target_device tags is used for dev=... cdrecord parameter. My Python knowledge however is next to None, and the patch breaks some of the unittests. I wish I had more time to look into that. -- System Information: Debian Release: 4.0 APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.18.1 Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8) Versions of packages cedar-backup2 depends on: ii python 2.4.4-2 An interactive high-level object-o ii python-support 0.5.6 automated rebuilding support for p Versions of packages cedar-backup2 recommends: ii cdrecord 9:1.1.0-1 Dummy transition package for wodim ii cedar-backup2-doc 2.8.1-1 local and remote backups to CD-R/C ii eject 2.1.4-2.1 ejects CDs and operates CD-Changer ii mkisofs 9:1.1.0-1 Dummy transition package for genis ii ssh 1:4.3p2-7 Secure shell client and server (tr -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]