From eead92f700f460643943b2411d722348b444e86a Mon Sep 17 00:00:00 2001 From: Ansgar Burchardt Date: Tue, 9 Jun 2015 00:46:50 +0200 Subject: [PATCH] Remove obsolete daklib/holding.py. --- config/debian-security/dak.conf | 1 - config/debian/dak.conf | 1 - daklib/holding.py | 99 --------------------------------- daklib/queue.py | 1 - docs/README.config | 4 -- setup/dak-minimal.conf.template | 1 - 6 files changed, 107 deletions(-) delete mode 100644 daklib/holding.py diff --git a/config/debian-security/dak.conf b/config/debian-security/dak.conf index 901f9ac5..e1869d3b 100644 --- a/config/debian-security/dak.conf +++ b/config/debian-security/dak.conf @@ -154,7 +154,6 @@ Dir Override "/srv/security-master.debian.org/scripts/override/"; Upload "/srv/queued/ftpmaster/"; TempPath "/srv/security-master.debian.org/tmp"; - Holding "/srv/security-master.debian.org/queue/holding/"; Done "/srv/security-master.debian.org/queue/done/"; Reject "/srv/security-master.debian.org/queue/reject/"; diff --git a/config/debian/dak.conf b/config/debian/dak.conf index cf0ef40d..e5b696ac 100644 --- a/config/debian/dak.conf +++ b/config/debian/dak.conf @@ -221,7 +221,6 @@ Dir UrgencyLog "/srv/release.debian.org/britney/input/urgencies/"; TempPath "/srv/ftp-master.debian.org/tmp/"; BTSVersionTrack "/srv/ftp-master.debian.org/queue/bts_version_track/"; - Holding "/srv/ftp-master.debian.org/queue/holding/"; Done "/srv/ftp-master.debian.org/queue/done/"; Reject "/srv/ftp-master.debian.org/queue/reject/"; }; diff --git a/daklib/holding.py b/daklib/holding.py deleted file mode 100644 index 6c9ce570..00000000 --- a/daklib/holding.py +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/env python -# vim:set et sw=4: - -""" -Simple singleton class for storing info about Holding directory - -@contact: Debian FTP Master -@copyright: 2001 - 2006 James Troup -@copyright: 2009 Joerg Jaspert -@license: GNU General Public License version 2 or later -""" - -# 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, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -############################################################################### - -import os -from errno import ENOENT, EEXIST, EACCES -import shutil - -from config import Config -from utils import fubar - -############################################################################### - -class Holding(object): - __shared_state = {} - - def __init__(self, *args, **kwargs): - self.__dict__ = self.__shared_state - - if not getattr(self, 'initialised', False): - self.initialised = True - - self.in_holding = {} - self.holding_dir = Config()["Dir::Holding"] - # ftptrainees haven't access to holding, use a temp directory instead - if not os.access(self.holding_dir, os.W_OK): - self.holding_dir = Config()["Dir::TempPath"] - - def chdir_to_holding(self): - os.chdir(self.holding_dir) - - def copy_to_holding(self, filename): - base_filename = os.path.basename(filename) - - dest = os.path.join(self.holding_dir, base_filename) - try: - fd = os.open(dest, os.O_RDWR | os.O_CREAT | os.O_EXCL, 0o640) - os.close(fd) - except OSError as e: - # Shouldn't happen, but will if, for example, someone lists a - # file twice in the .changes. - if e.errno == EEXIST: - return "%s: already exists in holding area; can not overwrite." % (base_filename) - - try: - shutil.copy(filename, dest) - except IOError as e: - # In either case (ENOENT or EACCES) we want to remove the - # O_CREAT | O_EXCLed ghost file, so add the file to the list - # of 'in holding' even if it's not the real file. - if e.errno == ENOENT: - os.unlink(dest) - return "%s: can not copy to holding area: file not found." % (base_filename) - - elif e.errno == EACCES: - os.unlink(dest) - return "%s: can not copy to holding area: read permission denied." % (base_filename) - - self.in_holding[base_filename] = "" - - return None - - def clean(self): - cwd = os.getcwd() - os.chdir(self.holding_dir) - for f in self.in_holding.keys(): - # TODO: Sanitize path in a much better manner... - if os.path.exists(f): - if f.find('/') != -1: - fubar("WTF? clean_holding() got a file ('%s') with / in it!" % (f)) - else: - os.unlink(f) - self.in_holding = {} - os.chdir(cwd) - diff --git a/daklib/queue.py b/daklib/queue.py index b0ce511c..d2921eb6 100644 --- a/daklib/queue.py +++ b/daklib/queue.py @@ -45,7 +45,6 @@ from dak_exceptions import * from changes import * from regexes import * from config import Config -from holding import Holding from urgencylog import UrgencyLog from dbconn import * from summarystats import SummaryStats diff --git a/docs/README.config b/docs/README.config index 0e9dbd33..5fad734c 100644 --- a/docs/README.config +++ b/docs/README.config @@ -200,10 +200,6 @@ Dir //// is mainly used for britney (the testing script). // UrgencyLog "/srv/dak/testing/urgencies/"; - //// Holding (required): Directory to use for temporary storage during - //// process-upload - Holding "/srv/dak/queue/holding/"; - //// Done (required): Directory in which to store processed .changes files Done "/srv/dak/queue/done/"; diff --git a/setup/dak-minimal.conf.template b/setup/dak-minimal.conf.template index 3b6b27ad..a16f3439 100644 --- a/setup/dak-minimal.conf.template +++ b/setup/dak-minimal.conf.template @@ -42,7 +42,6 @@ Dir Log "__DAKBASE__/log/"; Lock "__DAKBASE__/lock/"; Morgue "__DAKBASE__/morgue/"; - Holding "__DAKBASE__/holding/"; Done "__DAKBASE__/done/"; Reject "__DAKBASE__/reject/"; TempPath "__DAKBASE__/tmp/"; -- 2.39.5