[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[dak/master] Remove old implementation of generate-packages-sources



This patch removes the old implementation of generate-packages-sources
that used apt-ftparchive instead of the metadata in the Postgres
database.
---
 config/debian-security/cron.unchecked |   1 -
 config/debian/cron.dinstall           |   8 -
 config/debian/dinstall.functions      |   5 -
 dak/dak.py                            |   6 +-
 dak/generate_filelist.py              | 217 ---------------------------
 dak/generate_packages_sources.py      | 272 ----------------------------------
 dak/new_security_install.py           |   2 -
 daklib/lists.py                       | 156 -------------------
 docs/README.stable-point-release      |   8 +-
 9 files changed, 2 insertions(+), 673 deletions(-)
 delete mode 100755 dak/generate_filelist.py
 delete mode 100755 dak/generate_packages_sources.py
 delete mode 100644 daklib/lists.py

diff --git a/config/debian-security/cron.unchecked b/config/debian-security/cron.unchecked
index fc0f5b5..7e2bb29 100755
--- a/config/debian-security/cron.unchecked
+++ b/config/debian-security/cron.unchecked
@@ -85,7 +85,6 @@ ${scriptsdir}/update-buildd-archive ${base}/build-queues ${incoming}/debian-secu
 if [ "x${dopolicy}x" = "xtruex" ]; then
     # We had something approved from a policy queue, push out new archive
     dak dominate
-    #dak generate-filelist
     cd $configdir
     $configdir/map.sh
     dak generate-packages-sources2 -a security
diff --git a/config/debian/cron.dinstall b/config/debian/cron.dinstall
index 701754c..311207a 100755
--- a/config/debian/cron.dinstall
+++ b/config/debian/cron.dinstall
@@ -252,14 +252,6 @@ GO=(
 stage $GO
 
 GO=(
-    FUNC="filelist"
-    TIME="generate-filelist"
-    ARGS=""
-    ERR=""
-)
-#stage $GO
-
-GO=(
     FUNC="fingerprints"
     TIME="import-keyring"
     ARGS=""
diff --git a/config/debian/dinstall.functions b/config/debian/dinstall.functions
index 51ac4b9..f1693a3 100644
--- a/config/debian/dinstall.functions
+++ b/config/debian/dinstall.functions
@@ -107,11 +107,6 @@ function dominate() {
     dak dominate
 }
 
-function filelist() {
-    log "Generating file lists for apt-ftparchive"
-    dak generate-filelist
-}
-
 function fingerprints() {
     log "Updating fingerprints"
     dak import-keyring -L /srv/keyring.debian.org/keyrings/debian-keyring.gpg
diff --git a/dak/dak.py b/dak/dak.py
index 52bf3af..334bde0 100755
--- a/dak/dak.py
+++ b/dak/dak.py
@@ -84,14 +84,10 @@ def init():
          "export a suite to a flat directory structure"),
         ("make-pkg-file-mapping",
          "Generate package <-> file mapping"),
-        ("generate-filelist",
-         "Generate file lists for apt-ftparchive"),
         ("generate-releases",
          "Generate Release files"),
-        ("generate-packages-sources",
-         "Generate Packages/Sources files"),
         ("generate-packages-sources2",
-         "Generate Packages/Sources files [directly from database]"),
+         "Generate Packages/Sources files"),
         ("contents",
          "Generate content files"),
         ("metadata",
diff --git a/dak/generate_filelist.py b/dak/generate_filelist.py
deleted file mode 100755
index faf08bd..0000000
--- a/dak/generate_filelist.py
+++ /dev/null
@@ -1,217 +0,0 @@
-#!/usr/bin/python
-
-"""
-Generate file lists for apt-ftparchive.
-
-@contact: Debian FTP Master <ftpmaster@debian.org>
-@copyright: 2009  Torsten Werner <twerner@debian.org>
-@copyright: 2011  Ansgar Burchardt <ansgar@debian.org>
-@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
-
-################################################################################
-
-# Ganneff> Please go and try to lock mhy now. After than try to lock NEW.
-# twerner> !lock mhy
-# dak> twerner: You suck, this is already locked by Ganneff
-# Ganneff> now try with NEW
-# twerner> !lock NEW
-# dak> twerner: also locked NEW
-# mhy> Ganneff: oy, stop using me for locks and highlighting me you tall muppet
-# Ganneff> hehe :)
-
-################################################################################
-
-from daklib.dbconn import *
-from daklib.config import Config
-from daklib import utils, daklog
-from daklib.dakmultiprocessing import DakProcessPool, PROC_STATUS_SUCCESS, PROC_STATUS_SIGNALRAISED
-import apt_pkg, os, stat, sys
-
-from daklib.lists import getSources, getBinaries, getArchAll
-
-def listPath(suite, component, architecture = None, type = None,
-        incremental_mode = False):
-    """returns full path to the list file"""
-    suffixMap = { 'deb': "binary-",
-                  'udeb': "debian-installer_binary-" }
-    if architecture:
-        suffix = suffixMap[type] + architecture.arch_string
-    else:
-        suffix = "source"
-    filename = "%s_%s_%s.list" % \
-        (suite.suite_name, component.component_name, suffix)
-    pathname = os.path.join(Config()["Dir::Lists"], filename)
-    file = utils.open_file(pathname, "a")
-    timestamp = None
-    if incremental_mode:
-        timestamp = os.fstat(file.fileno())[stat.ST_MTIME]
-    else:
-        file.seek(0)
-        file.truncate()
-    return (file, timestamp)
-
-def writeSourceList(suite_id, component_id, incremental_mode):
-    session = DBConn().session()
-    suite = Suite.get(suite_id, session)
-    component = Component.get(component_id, session)
-    (file, timestamp) = listPath(suite, component,
-            incremental_mode = incremental_mode)
-
-    message = "sources list for %s %s" % (suite.suite_name, component.component_name)
-
-    for _, filename in getSources(suite, component, session, timestamp):
-        file.write(filename + '\n')
-    session.rollback()
-    file.close()
-    return (PROC_STATUS_SUCCESS, message)
-
-def writeAllList(suite_id, component_id, architecture_id, type, incremental_mode):
-    session = DBConn().session()
-    suite = Suite.get(suite_id, session)
-    component = Component.get(component_id, session)
-    architecture = Architecture.get(architecture_id, session)
-    (file, timestamp) = listPath(suite, component, architecture, type,
-            incremental_mode)
-
-    message = "all list for %s %s (arch=%s, type=%s)" % (suite.suite_name, component.component_name, architecture.arch_string, type)
-
-    for _, filename in getArchAll(suite, component, architecture, type,
-            session, timestamp):
-        file.write(filename + '\n')
-    session.rollback()
-    file.close()
-    return (PROC_STATUS_SUCCESS, message)
-
-def writeBinaryList(suite_id, component_id, architecture_id, type, incremental_mode):
-    session = DBConn().session()
-    suite = Suite.get(suite_id, session)
-    component = Component.get(component_id, session)
-    architecture = Architecture.get(architecture_id, session)
-    (file, timestamp) = listPath(suite, component, architecture, type,
-            incremental_mode)
-
-    message = "binary list for %s %s (arch=%s, type=%s)" % (suite.suite_name, component.component_name, architecture.arch_string, type)
-
-    for _, filename in getBinaries(suite, component, architecture, type,
-            session, timestamp):
-        file.write(filename + '\n')
-    session.rollback()
-    file.close()
-    return (PROC_STATUS_SUCCESS, message)
-
-def usage():
-    print """Usage: dak generate_filelist [OPTIONS]
-Create filename lists for apt-ftparchive.
-
-  -s, --suite=SUITE            act on this suite
-  -c, --component=COMPONENT    act on this component
-  -a, --architecture=ARCH      act on this architecture
-  -h, --help                   show this help and exit
-  -i, --incremental            activate incremental mode
-
-ARCH, COMPONENT and SUITE can be comma (or space) separated list, e.g.
-    --suite=testing,unstable
-
-Incremental mode appends only newer files to existing lists."""
-    sys.exit()
-
-def main():
-    cnf = Config()
-    Logger = daklog.Logger('generate-filelist')
-    Arguments = [('h', "help",         "Filelist::Options::Help"),
-                 ('s', "suite",        "Filelist::Options::Suite", "HasArg"),
-                 ('c', "component",    "Filelist::Options::Component", "HasArg"),
-                 ('a', "architecture", "Filelist::Options::Architecture", "HasArg"),
-                 ('i', "incremental",  "Filelist::Options::Incremental")]
-    session = DBConn().session()
-    query_suites = session.query(Suite)
-    suites = [suite.suite_name for suite in query_suites]
-    if not cnf.has_key('Filelist::Options::Suite'):
-        cnf['Filelist::Options::Suite'] = ','.join(suites).encode()
-    query_components = session.query(Component)
-    components = \
-        [component.component_name for component in query_components]
-    if not cnf.has_key('Filelist::Options::Component'):
-        cnf['Filelist::Options::Component'] = ','.join(components).encode()
-    query_architectures = session.query(Architecture)
-    architectures = \
-        [architecture.arch_string for architecture in query_architectures]
-    if not cnf.has_key('Filelist::Options::Architecture'):
-        cnf['Filelist::Options::Architecture'] = ','.join(architectures).encode()
-    cnf['Filelist::Options::Help'] = ''
-    cnf['Filelist::Options::Incremental'] = ''
-    apt_pkg.parse_commandline(cnf.Cnf, Arguments, sys.argv)
-    Options = cnf.subtree("Filelist::Options")
-    if Options['Help']:
-        usage()
-    pool = DakProcessPool()
-    query_suites = query_suites. \
-        filter(Suite.suite_name.in_(utils.split_args(Options['Suite'])))
-    query_components = query_components. \
-        filter(Component.component_name.in_(utils.split_args(Options['Component'])))
-    query_architectures = query_architectures. \
-        filter(Architecture.arch_string.in_(utils.split_args(Options['Architecture'])))
-
-    def parse_results(message):
-        # Split out into (code, msg)
-        code, msg = message
-        if code == PROC_STATUS_SUCCESS:
-            Logger.log([msg])
-        elif code == PROC_STATUS_SIGNALRAISED:
-            Logger.log(['E: Subprocess recieved signal ', msg])
-        else:
-            Logger.log(['E: ', msg])
-
-    for suite in query_suites:
-        suite_id = suite.suite_id
-        for component in query_components:
-            component_id = component.component_id
-            for architecture in query_architectures:
-                architecture_id = architecture.arch_id
-                if architecture not in suite.architectures:
-                    pass
-                elif architecture.arch_string == 'source':
-                    pool.apply_async(writeSourceList,
-                        (suite_id, component_id, Options['Incremental']), callback=parse_results)
-                elif architecture.arch_string == 'all':
-                    pool.apply_async(writeAllList,
-                        (suite_id, component_id, architecture_id, 'deb',
-                            Options['Incremental']), callback=parse_results)
-                    pool.apply_async(writeAllList,
-                        (suite_id, component_id, architecture_id, 'udeb',
-                            Options['Incremental']), callback=parse_results)
-                else: # arch any
-                    pool.apply_async(writeBinaryList,
-                        (suite_id, component_id, architecture_id, 'deb',
-                            Options['Incremental']), callback=parse_results)
-                    pool.apply_async(writeBinaryList,
-                        (suite_id, component_id, architecture_id, 'udeb',
-                            Options['Incremental']), callback=parse_results)
-    pool.close()
-    pool.join()
-
-    # this script doesn't change the database
-    session.close()
-
-    Logger.close()
-
-    sys.exit(pool.overall_status())
-
-if __name__ == '__main__':
-    main()
-
diff --git a/dak/generate_packages_sources.py b/dak/generate_packages_sources.py
deleted file mode 100755
index 3e01da2..0000000
--- a/dak/generate_packages_sources.py
+++ /dev/null
@@ -1,272 +0,0 @@
-#!/usr/bin/env python
-
-""" Generate Packages/Sources files
-
-@contact: Debian FTPMaster <ftpmaster@debian.org>
-@copyright: 2000, 2001, 2002, 2006  James Troup <james@nocrew.org>
-@copyright: 2009  Mark Hymers <mhy@debian.org>
-@copyright: 2010  Joerg Jaspert <joerg@debian.org>
-@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
-import os.path
-import sys
-import apt_pkg
-from tempfile import mkstemp, mkdtemp
-import commands
-from multiprocessing import Pool, TimeoutError
-
-from daklib import daklog
-from daklib.dbconn import *
-from daklib.config import Config
-
-################################################################################
-
-Options = None                 #: Commandline arguments parsed into this
-Logger = None                  #: Our logging object
-results = []                   #: Results of the subprocesses
-
-################################################################################
-
-def usage (exit_code=0):
-    print """Usage: dak generate-packages-sources [OPTIONS]
-Generate the Packages/Sources files
-
-  -s, --suite=SUITE(s)       process this suite
-                             Default: All suites not marked 'untouchable'
-  -f, --force                Allow processing of untouchable suites
-                             CAREFUL: Only to be used at point release time!
-  -h, --help                 show this help and exit
-
-SUITE can be a space seperated list, e.g.
-   --suite=unstable testing
-  """
-
-    sys.exit(exit_code)
-
-################################################################################
-
-def generate_packages_sources(arch, suite, tmppath):
-    """
-    Generate Packages/Sources files with apt-ftparchive for the given suite/arch
-
-    @type suite: string
-    @param suite: Suite name
-
-    @type arch: string
-    @param arch: Architecture name
-
-    @type tmppath: string
-    @param tmppath: The temporary path to work ing
-    """
-
-    DAILY_APT_CONF="""
-Dir
-{
-   ArchiveDir "/srv/ftp-master.debian.org/ftp/";
-   OverrideDir "/srv/ftp-master.debian.org/scripts/override/";
-   CacheDir "/srv/ftp-master.debian.org/database/";
-};
-
-Default
-{
-   Packages::Compress "bzip2 gzip";
-   Sources::Compress "bzip2 gzip";
-   Contents::Compress "gzip";
-   DeLinkLimit 0;
-   MaxContentsChange 25000;
-   FileMode 0664;
-}
-
-TreeDefault
-{
-   Contents::Header "/srv/ftp-master.debian.org/dak/config/debian/Contents.top";
-};
-
-"""
-
-    apt_trees={}
-    apt_trees["di"]={}
-
-    apt_trees["oldstable"]="""
-tree "dists/oldstable"
-{
-   FileList "/srv/ftp-master.debian.org/database/dists/oldstable_$(SECTION)_binary-$(ARCH).list";
-   SourceFileList "/srv/ftp-master.debian.org/database/dists/oldstable_$(SECTION)_source.list";
-   Sections "main contrib non-free";
-   Architectures "%(arch)s";
-   BinOverride "override.squeeze.$(SECTION)";
-   ExtraOverride "override.squeeze.extra.$(SECTION)";
-   SrcOverride "override.squeeze.$(SECTION).src";
-};
-"""
-
-    apt_trees["di"]["oldstable"]="""
-tree "dists/oldstable/main"
-{
-   FileList "/srv/ftp-master.debian.org/database/dists/oldstable_main_$(SECTION)_binary-$(ARCH).list";
-   Sections "debian-installer";
-   Architectures "%(arch)s";
-   BinOverride "override.squeeze.main.$(SECTION)";
-   SrcOverride "override.squeeze.main.src";
-   BinCacheDB "packages-debian-installer-$(ARCH).db";
-   Packages::Extensions ".udeb";
-   %(contentsline)s
-};
-
-tree "dists/oldstable/non-free"
-{
-   FileList "/srv/ftp-master.debian.org/database/dists/oldstable_non-free_$(SECTION)_binary-$(ARCH).list";
-   Sections "debian-installer";
-   Architectures "%(arch)s";
-   BinOverride "override.squeeze.main.$(SECTION)";
-   SrcOverride "override.squeeze.main.src";
-   BinCacheDB "packages-debian-installer-$(ARCH).db";
-   Packages::Extensions ".udeb";
-   %(contentsline)s
-};
-"""
-
-
-    cnf = Config()
-    try:
-        # Write apt.conf
-        (ac_fd, ac_name) = mkstemp(dir=tmppath, suffix=suite, prefix=arch)
-        os.write(ac_fd, DAILY_APT_CONF)
-        # here we want to generate the tree entries
-        os.write(ac_fd, apt_trees[suite] % {'arch': arch})
-        # this special casing needs to go away, but this whole thing may just want an
-        # aptconfig class anyways
-        if arch != 'source':
-            if arch == 'hurd-i386' and suite == 'experimental':
-                pass
-            elif apt_trees["di"].has_key(suite):
-                if arch == "amd64":
-                    os.write(ac_fd, apt_trees["di"][suite] %
-                             {'arch': arch, 'contentsline': 'Contents "$(DIST)/../Contents-udeb";'})
-                else:
-                    os.write(ac_fd, apt_trees["di"][suite] % {'arch': arch, 'contentsline': ''})
-        os.close(ac_fd)
-
-        print "Going to run apt-ftparchive for %s/%s" % (arch, suite)
-        # Run apt-ftparchive generate
-        # We dont want to add a -q or -qq here, this output should go into our logs, sometimes
-        # it has errormessages we like to see
-        os.environ['GZIP'] = '--rsyncable'
-        os.chdir(tmppath)
-        (result, output) = commands.getstatusoutput('apt-ftparchive -o APT::FTPArchive::Contents=off -o APT::FTPArchive::SHA512=off generate %s' % os.path.basename(ac_name))
-        sn="a-f %s,%s: " % (suite, arch)
-        print sn + output.replace('\n', '\n%s' % (sn))
-        return result
-
-    # Clean up any left behind files
-    finally:
-        if ac_fd:
-            try:
-                os.close(ac_fd)
-            except OSError:
-                pass
-
-        if ac_name:
-            try:
-                os.unlink(ac_name)
-            except OSError:
-                pass
-
-def sname(arch):
-    return arch.arch_string
-
-def get_result(arg):
-    global results
-    if arg:
-        results.append(arg)
-
-########################################################################
-########################################################################
-
-def main ():
-    global Options, Logger, results
-
-    cnf = Config()
-
-    for i in ["Help", "Suite", "Force"]:
-        if not cnf.has_key("Generate-Packages-Sources::Options::%s" % (i)):
-            cnf["Generate-Packages-Sources::Options::%s" % (i)] = ""
-
-    Arguments = [('h',"help","Generate-Packages-Sources::Options::Help"),
-                 ('s',"suite","Generate-Packages-Sources::Options::Suite"),
-                 ('f',"force","Generate-Packages-Sources::Options::Force")]
-
-    suite_names = apt_pkg.parse_commandline(cnf.Cnf, Arguments, sys.argv)
-    Options = cnf.subtree("Generate-Packages-Sources::Options")
-
-    if Options["Help"]:
-        usage()
-
-    Logger = daklog.Logger('generate-packages-sources')
-
-    session = DBConn().session()
-
-    if Options["Suite"]:
-        # Something here
-        suites = []
-        for s in suite_names:
-            suite = get_suite(s.lower(), session)
-            if suite:
-                suites.append(suite)
-            else:
-                print "cannot find suite %s" % s
-                Logger.log(['cannot find suite %s' % s])
-    else:
-        suites=session.query(Suite).filter(Suite.untouchable == False).all()
-
-    startdir = os.getcwd()
-    os.chdir(cnf["Dir::TempPath"])
-
-    broken=[]
-    # For each given suite, each architecture, run one apt-ftparchive
-    for s in suites:
-        results=[]
-        # Setup a multiprocessing Pool. As many workers as we have CPU cores.
-        pool = Pool()
-        arch_list=get_suite_architectures(s.suite_name, skipsrc=False, skipall=False, session=session)
-        Logger.log(['generating output for Suite %s, Architectures %s' % (s.suite_name, map(sname, arch_list))])
-        for a in arch_list:
-            pool.apply_async(generate_packages_sources, (a.arch_string, s.suite_name, cnf["Dir::TempPath"]), callback=get_result)
-
-        # No more work will be added to our pool, close it and then wait for all to finish
-        pool.close()
-        pool.join()
-
-    if len(results) > 0:
-        Logger.log(['Trouble, something with a-f broke, resultcodes: %s' % (results)])
-        print "Trouble, something with a-f broke, resultcodes: %s" % (results)
-        sys.exit(1)
-
-    os.chdir(startdir)
-    # this script doesn't change the database
-    session.close()
-    Logger.close()
-
-#######################################################################################
-
-if __name__ == '__main__':
-    main()
diff --git a/dak/new_security_install.py b/dak/new_security_install.py
index aa2928d..7d4603d 100755
--- a/dak/new_security_install.py
+++ b/dak/new_security_install.py
@@ -99,8 +99,6 @@ def _do_Approve():
         # 3. Run all the steps that are needed to publish the changed archive
         print "Domination"
         spawn("dak dominate")
-        #    print "Generating filelist for apt-ftparchive"
-        #    spawn("dak generate-filelist")
         print "Updating Packages and Sources files... This may take a while, be patient"
         spawn("/srv/security-master.debian.org/dak/config/debian-security/map.sh")
         spawn("dak generate-packages-sources2 -a security")
diff --git a/daklib/lists.py b/daklib/lists.py
deleted file mode 100644
index 5766371..0000000
--- a/daklib/lists.py
+++ /dev/null
@@ -1,156 +0,0 @@
-#!/usr/bin/python
-
-"""
-Helper functions for list generating commands (Packages, Sources).
-
-@contact: Debian FTP Master <ftpmaster@debian.org>
-@copyright: 2009-2011  Torsten Werner <twerner@debian.org>
-@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
-
-################################################################################
-
-from dbconn import get_architecture
-
-def fetch(query, args, session):
-    for (id, path, filename) in session.execute(query, args).fetchall():
-        yield (id, path + filename)
-
-def getSources(suite, component, session, timestamp = None):
-    '''
-    Calculates the sources in suite and component optionally limited by
-    sources newer than timestamp.  Returns a generator that yields a
-    tuple of source id and full pathname to the dsc file. See function
-    writeSourceList() in dak/generate_filelist.py for an example that
-    uses this function.
-    '''
-    extra_cond = ""
-    if timestamp:
-        extra_cond = "AND extract(epoch from sa.created) > %d" % timestamp
-    query = """
-        SELECT s.id, archive.path || 'pool/', c.name || '/' || f.filename
-            FROM source s
-            JOIN src_associations sa
-                ON s.id = sa.source AND sa.suite = :suite %s
-            JOIN suite
-                ON sa.suite = suite.id
-            JOIN archive
-                ON suite.archive_id = archive.id
-            JOIN files f
-                ON s.file = f.id
-            JOIN files_archive_map fam
-                ON fam.file_id = f.id AND fam.component_id = :component
-            JOIN component c
-                ON fam.component_id = c.id
-            ORDER BY filename
-    """ % extra_cond
-    args = { 'suite': suite.suite_id,
-             'component': component.component_id }
-    return fetch(query, args, session)
-
-def getArchAll(suite, component, architecture, type, session, timestamp = None):
-    '''
-    Calculates all binaries in suite and component of architecture 'all' (and
-    only 'all') and type 'deb' or 'udeb' optionally limited to binaries newer
-    than timestamp.  Returns a generator that yields a tuple of binary id and
-    full pathname to the u(deb) file. See function writeAllList() in
-    dak/generate_filelist.py for an example that uses this function.
-    '''
-    query = suite.clone(session).binaries. \
-        filter_by(architecture = architecture, binarytype = type)
-    if timestamp is not None:
-        extra_cond = 'extract(epoch from bin_associations.created) > %d' % timestamp
-        query = query.filter(extra_cond)
-    for binary in query:
-        yield (binary.binary_id, binary.poolfile.fullpath)
-
-def getBinaries(suite, component, architecture, type, session, timestamp = None):
-    '''
-    Calculates the binaries in suite and component of architecture and
-    type 'deb' or 'udeb' optionally limited to binaries newer than
-    timestamp.  Returns a generator that yields a tuple of binary id and
-    full pathname to the u(deb) file. See function writeBinaryList() in
-    dak/generate_filelist.py for an example that uses this function.
-    '''
-    extra_cond = ""
-    if timestamp:
-        extra_cond = "AND extract(epoch from ba.created) > %d" % timestamp
-    query = """
-CREATE TEMP TABLE b_candidates (
-    id integer,
-    source integer,
-    file integer,
-    architecture integer);
-
-INSERT INTO b_candidates (id, source, file, architecture)
-    SELECT b.id, b.source, b.file, b.architecture
-        FROM binaries b
-        JOIN bin_associations ba ON b.id = ba.bin
-        WHERE b.type = :type AND ba.suite = :suite AND
-            b.architecture IN (:arch_all, :architecture) %s;
-
-CREATE TEMP TABLE gf_candidates (
-    id integer,
-    filename text,
-    path text,
-    architecture integer,
-    src integer,
-    source text);
-
-INSERT INTO gf_candidates (id, filename, path, architecture, src, source)
-    SELECT bc.id, c.name || '/' || f.filename, archive.path || 'pool/' , bc.architecture, bc.source as src, s.source
-        FROM b_candidates bc
-        JOIN source s ON bc.source = s.id
-        JOIN files f ON bc.file = f.id
-        JOIN files_archive_map fam ON f.id = fam.file_id
-        JOIN component c ON fam.component_id = c.id
-        JOIN archive ON fam.archive_id = archive.id
-        JOIN suite ON suite.archive_id = archive.id
-
-        WHERE c.id = :component AND suite.id = :suite;
-
-WITH arch_any AS
-
-    (SELECT id, path, filename FROM gf_candidates
-        WHERE architecture <> :arch_all),
-
-     arch_all_with_any AS
-    (SELECT id, path, filename FROM gf_candidates
-        WHERE architecture = :arch_all AND
-              src IN (SELECT src FROM gf_candidates WHERE architecture <> :arch_all)),
-
-     arch_all_without_any AS
-    (SELECT id, path, filename FROM gf_candidates
-        WHERE architecture = :arch_all AND
-              source NOT IN (SELECT DISTINCT source FROM gf_candidates WHERE architecture <> :arch_all)),
-
-     filelist AS
-    (SELECT * FROM arch_any
-    UNION
-    SELECT * FROM arch_all_with_any
-    UNION
-    SELECT * FROM arch_all_without_any)
-
-    SELECT * FROM filelist ORDER BY filename
-    """ % extra_cond
-    args = { 'suite': suite.suite_id,
-             'component': component.component_id,
-             'architecture': architecture.arch_id,
-             'arch_all': get_architecture('all', session).arch_id,
-             'type': type }
-    return fetch(query, args, session)
-
diff --git a/docs/README.stable-point-release b/docs/README.stable-point-release
index f7d21b6..3b98f2d 100644
--- a/docs/README.stable-point-release
+++ b/docs/README.stable-point-release
@@ -100,16 +100,10 @@ dak dominate --force -s ${suite}
 - check output from cruft report:
 dak cruft-report -s ${suite}
 
-dak generate-filelist -s ${suite}
-
 - Let SRM see if all is ok
 
 - then:
-if [[ ${suitename} == squeeze ]]; then
-  dak generate-packages-sources -s ${suite} && dak contents generate -f -s ${suite} -a ftp-master
-else
-  dak generate-packages-sources2 --force -s ${suite} && dak contents generate -f -s ${suite} -a ftp-master
-fi
+dak generate-packages-sources2 --force -s ${suite} && dak contents generate -f -s ${suite} -a ftp-master
 
 - For squeeze: merge Contents
 if [ "${suitename}" = "squeeze" ]; then
-- 
2.1.4


Reply to: