X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fregexes.py;h=d46aaad381b490c06bd42993df6b670c66b22e86;hb=557166746172f6e479aa83461a455d4eb9e9d8ee;hp=1ed01c888aa52d89f18874d2f25f71287fabe418;hpb=5d1a48553085b05a9bda395db9d12deb463d893a;p=dak.git diff --git a/daklib/regexes.py b/daklib/regexes.py old mode 100644 new mode 100755 index 1ed01c88..d46aaad3 --- a/daklib/regexes.py +++ b/daklib/regexes.py @@ -1,9 +1,15 @@ #!/usr/bin/env python # vim:set et sw=4: -"""Central repository of regexes for dak""" -# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 James Troup -# Copyright (C) 2009 Mark Hymers +""" +Central repository of regexes for dak + +@contact: Debian FTP Master +@copyright: 2001, 2002, 2003, 2004, 2005, 2006 James Troup +@copyright: 2009 Mark Hymers +@copyright: 2009, 2010 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 @@ -23,21 +29,34 @@ import re +#: Is it a number? re_isanum = re.compile (r"^\d+$") + +#: Looking for the default reply re_default_answer = re.compile(r"\[(.*)\]") +#: Used in build_summaries to make changes output look better re_fdnic = re.compile(r"\n\n") +#: Detect a binnmu re_bin_only_nmu = re.compile(r"\+b\d+$") +#: To sort out comment lines re_comments = re.compile(r"\#.*") +#: To ignore comment and whitespace lines. +re_whitespace_comment = re.compile(r"^\s*(#|$)") re_no_epoch = re.compile(r"^\d+\:") re_no_revision = re.compile(r"-[^-]+$") re_arch_from_filename = re.compile(r"/binary-[^/]+/") re_extract_src_version = re.compile (r"(\S+)\s*\((.*)\)") re_isadeb = re.compile (r"(.+?)_(.+?)_(.+)\.u?deb$") -re_issource = re.compile (r"(.+)_(.+?)\.(orig\.tar\.gz|diff\.gz|tar\.gz|dsc)$") +orig_source_ext_re = r"orig(?:-.+)?\.tar\.(?:gz|bz2|xz)" +re_orig_source_ext = re.compile(orig_source_ext_re + "$") +re_source_ext = re.compile("(" + orig_source_ext_re + r"|debian\.tar\.(?:gz|bz2|xz)|diff\.gz|tar\.(?:gz|bz2|xz)|dsc)$") +re_issource = re.compile(r"(.+)_(.+?)\." + re_source_ext.pattern) +re_is_orig_source = re.compile (r"(.+)_(.+?)\.orig(?:-.+)?\.tar\.(?:gz|bz2|xz)$") +#re_is_orig_source = re.compile (r"(.+)_(.+?)\.(?:orig\.)?tar\.(?:gz|bz2)$") -re_single_line_field = re.compile(r"^(\S*)\s*:\s*(.*)") +re_single_line_field = re.compile(r"^(\S*?)\s*:\s*(.*)") re_multi_line_field = re.compile(r"^\s(.*)") re_taint_free = re.compile(r"^[-+~/\.\w]+$") @@ -62,10 +81,6 @@ re_doc_directory = re.compile(r".*/doc/([^/]*).*") re_contrib = re.compile('^contrib/') re_nonfree = re.compile('^non\-free/') -re_arch = re.compile("Architecture: .*") -re_builddep = re.compile("Build-Depends: .*") -re_builddepind = re.compile("Build-Depends-Indep: .*") - re_localhost = re.compile("localhost\.localdomain") re_version = re.compile('^(.*)\((.*)\)') @@ -96,3 +111,20 @@ re_build_dep_arch = re.compile(r"\[[^]]+\]") # From dak/transitions.py re_broken_package = re.compile(r"[a-zA-Z]\w+\s+\-.*") + +# From dak/add_user.py +re_gpg_fingerprint_colon = re.compile(r"^fpr:+(.*):$", re.MULTILINE); +# The next one is dirty +re_user_address = re.compile(r"^pub:.*<(.*)@.*>.*$", re.MULTILINE); +re_user_mails = re.compile(r"^(pub|uid):[^rdin].*<(.*@.*)>.*$", re.MULTILINE); +re_user_name = re.compile(r"^pub:.*:(.*)<.*$", re.MULTILINE); +re_re_mark = re.compile(r'^RE:') + +re_parse_lintian = re.compile(r"^(?PW|E|O): (?P.*?): (?P[^ ]*) ?(?P.*)$") + +# in process-upload +re_match_expired = re.compile(r"^The key used to sign .+ has expired on .+$") + +# in generate-releases +re_gensubrelease = re.compile (r".*/(binary-[0-9a-z-]+|source)$") +re_includeinrelease = re.compile (r"(Contents-[0-9a-z-]+.gz|Index|Packages(.gz|.bz2)?|Sources(.gz|.bz2)?|MD5SUMS|Release)$")