rpms/yum-utils/devel fastestmirror.patch, 1.1, 1.2 yum-utils.spec, 1.40, 1.41

Tim Lauridsen (timlau) fedora-extras-commits at redhat.com
Mon May 26 08:22:38 UTC 2008


Author: timlau

Update of /cvs/pkgs/rpms/yum-utils/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv3018

Modified Files:
	fastestmirror.patch yum-utils.spec 
Log Message:
Release 1.1.4-3: fix som fastestmirror issues

fastestmirror.patch:

Index: fastestmirror.patch
===================================================================
RCS file: /cvs/pkgs/rpms/yum-utils/devel/fastestmirror.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- fastestmirror.patch	24 May 2008 14:18:09 -0000	1.1
+++ fastestmirror.patch	26 May 2008 08:21:40 -0000	1.2
@@ -1,740 +1,3 @@
-diff --git a/plugins/fastestmirror/fastestmirror-asyncore.py b/plugins/fastestmirror/fastestmirror-asyncore.py
-new file mode 100644
-index 0000000..751b923
---- /dev/null
-+++ b/plugins/fastestmirror/fastestmirror-asyncore.py
-@@ -0,0 +1,362 @@
-+#!/usr/bin/env python
-+#
-+# Version: 0.3.2
-+#
-+# A plugin for the Yellowdog Updater Modified which sorts each repo's
-+# mirrorlist by connection speed prior to download.
-+#
-+# To install this plugin, just drop it into /usr/lib/yum-plugins, and
-+# make sure you have 'plugins=1' in your /etc/yum.conf.  You also need to
-+# create the following configuration file, if not installed through an RPM:
-+#
-+#  /etc/yum/pluginconf.d/fastestmirror.conf:
-+#   [main]
-+#   enabled=1
-+#   verbose=1
-+#   socket_timeout=3
-+#   hostfilepath=/var/cache/yum/timedhosts
-+#   maxhostfileage=10
-+#   #exclude=.gov, facebook
-+#
-+# 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.
-+#
-+# (C) Copyright 2005 Luke Macken <lmacken at redhat.com>
-+#
-+
-+"""
-+B{FastestMirror} is a Yum plugin which sorts each repository's mirrorlist
-+according to connection speed prior to download.
-+"""
-+
-+import os
-+import sys
-+import time
-+import socket
-+import string
-+import urlparse
-+import datetime
-+import asyncore
-+
-+from yum.plugins import TYPE_CORE
-+
-+requires_api_version = '2.5'
-+plugin_type = (TYPE_CORE,)
-+
-+verbose = False
-+socket_timeout = 1
-+timedhosts = {}
-+hostfilepath = ''
-+maxhostfileage = 10
-+loadcache = False
-+exclude = None
-+
-+def init_hook(conduit):
-+    """
-+    This function initiliazes the variables required for running B{fastestmirror}
-+    module. The variables are initiliazed from the main section of the plugin file.
-+
-+    There are no parameteres for this function. It uses global variables to
-+    communicate with other functions.
-+
-+    This function refers:
-+        - L{get_hostfile_age}
-+
-+    @param verbose : Verbosity of output.
-+    @type verbose : Boolean
-+    @param socket_timeout : The default timeout for a socket connection.
-+    @type socket_timeout : Integer
-+    @param hostfilepath : Absolute path to the plugin's cache file.
-+    @type hostfilepath : String
-+    @param maxhostfileage : Maximum age of the plugin's cache file.
-+    @type maxhostfileage : Integer
-+    @param loadcache : Fastest Mirrors to be loaded from plugin's cache or not.
-+    @type loadcache : Boolean
-+
-+    """
-+    global verbose, socket_timeout, hostfilepath, maxhostfileage, loadcache
-+    global exclude
-+    verbose = conduit.confBool('main', 'verbose', default=False)
-+    socket_timeout = conduit.confInt('main', 'socket_timeout', default=3)
-+    hostfilepath = conduit.confString('main', 'hostfilepath',
-+            default='/var/cache/yum/timedhosts')
-+    maxhostfileage = conduit.confInt('main', 'maxhostfileage', default=10)
-+    exclude = conduit.confString('main', 'exclude', default=None)
-+    # If the file hostfilepath exists and is newer than the maxhostfileage,
-+    # then load the cache.
-+    if os.path.exists(hostfilepath) and get_hostfile_age() < maxhostfileage:
-+        loadcache = True
-+
-+def clean_hook(conduit):
-+    """
-+    This function cleans the plugin cache file if exists. The function is called
-+    when C{yum [options] clean [plugins | all ]} is executed.
-+    """
-+    if os.path.exists(hostfilepath):
-+        conduit.info(2, "Cleaning up list of fastest mirrors")
-+        os.unlink(hostfilepath)
-+
-+# Get the hostname from a url, stripping away any usernames/passwords
-+host = lambda mirror: mirror.split('/')[2].split('@')[-1]
-+
-+def postreposetup_hook(conduit):
-+    """
-+    This function is called after Yum has initiliazed all the repository information.
-+
-+    If cache file exists, this function will load the mirror speeds from the file,
-+    else it will determine the fastest mirrors afresh and write them back to the cache
-+    file.
-+
-+    There are no parameteres for this function. It uses global variables to
-+    communicate with other functions.
-+
-+    This function refers:
-+        - L{read_timedhosts()}
-+        - L{FastestMirror.get_mirrorlist()}
-+        - L{write_timedhosts()}
-+
-+    @param loadcache : Fastest Mirrors to be loaded from plugin's cache file or not.
-+    @type loadcache : Boolean
-+    """
-+    global loadcache, exclude
-+    if loadcache:
-+        conduit.info(2, "Loading mirror speeds from cached hostfile")
-+        read_timedhosts()
-+    else:
-+        conduit.info(2, "Determining fastest mirrors")
-+    repomirrors = {}
-+    repos = conduit.getRepos()
-+    for repo in repos.listEnabled():
-+        if not repomirrors.has_key(str(repo)):
-+            repomirrors[str(repo)] = FastestMirror(repo.urls).get_mirrorlist()
-+        if exclude:
-+            for mirror in repomirrors[str(repo)]:
-+                if filter(lambda exp: exp in host(mirror),
-+                          exclude.replace(',', ' ').split()):
-+                    conduit.info(2, "Excluding mirror: %s" % host(mirror))
-+                    repomirrors[str(repo)].remove(mirror)
-+        repo.urls = repomirrors[str(repo)]
-+        if len(repo.urls):
-+            conduit.info(2, " * %s: %s" % (str(repo), host(repo.urls[0])))
-+        repo.failovermethod = 'priority'
-+        repo.check()
-+        repo.setupGrab()
-+    if not loadcache:
-+        write_timedhosts()
-+
-+def read_timedhosts():
-+    """
-+    This function reads the time and hostname from the plugin's cache file and
-+    store them in C{timedhosts}.
-+
-+    There are no parameteres for this function. It uses global variables to
-+    communicate with other functions.
-+
-+    This function is referred by:
-+        - L{postreposetup_hook()}
-+
-+    @param timedhosts : A list of time intervals to reach different hosts
-+    corresponding to the mirrors. The index of the list are hostnames.
-+    C{timedhosts[host] = time}.
-+    @type timedhosts : List
-+    """
-+    global timedhosts
-+    try:
-+        hostfile = file(hostfilepath)
-+        for line in hostfile.readlines():
-+            host, time = line.split()
-+            timedhosts[host] = float(time)
-+        hostfile.close()
-+    except IOError:
-+        pass
-+
-+def write_timedhosts():
-+    """
-+    This function writes the plugin's cache file with the entries in the
-+    C{timedhosts} list.
-+
-+    There are no parameteres for this function. It uses global variables to
-+    communicate with other functions.
-+
-+    This function is referred by:
-+        - L{postreposetup_hook()}
-+
-+    @param timedhosts : A list of time intervals to reach different hosts
-+    corresponding to the mirrors. The index of the list are hostnames.
-+    C{timedhosts[host] = time}.
-+    @type timedhosts : List
-+    """
-+    global timedhosts
-+    try:
-+        hostfile = file(hostfilepath, 'w')
-+        for host in timedhosts.keys():
-+            hostfile.write('%s %s\n' % (host, timedhosts[host]))
-+        hostfile.close()
-+    except IOError:
-+        pass
-+
-+def get_hostfile_age():
-+    """
-+    This function returns the current age of the plugin's cache file.
-+
-+    There are no parameteres for this function. It uses global variables to
-+    communicate with other functions.
-+
-+    This function is referred by:
-+        - L{init_hook()}
-+
-+    @param hostfilepath : Absolute path to the plugin's cache file.
-+    @type hostfilepath : String
-+    @rtype: Integer
-+    @return: The age of the plugin's cache file.
-+    """
-+    global hostfilepath
-+    timestamp = datetime.datetime.fromtimestamp(os.path.getmtime(hostfilepath))
-+    return (datetime.datetime.now() - timestamp).days
-+
-+class FastestMirror:
-+    """
-+    This is the helper class of B{fastestmirror} module. This class does
-+    all the processing of the response time calculation for all the mirrors
-+    of all the enabled Yum repositories.
-+    """
-+
-+    def __init__(self, mirrorlist):
-+        """
-+        This is the initiliazer function of the B{L{FastestMirror}} class.
-+
-+        @param mirrorlist : A list of mirrors for an enabled repository.
-+        @type mirrorlist : List
-+        """
-+        self.mirrorlist = mirrorlist
-+        self.results = {}
-+        socket.setdefaulttimeout(socket_timeout)
-+
-+    def get_mirrorlist(self):
-+        """
-+        This function pings/polls all the mirrors in the list
-+        C{FastestMirror.mirrorlist} and returns the sorted list of mirrors
-+        according to the increasing response time of the mirrors.
-+
-+        This function refers:
-+            - L{FastestMirror._poll_mirrors()}
-+
-+        This function is referred by:
-+            - L{postreposetup_hook()}
-+            - L{main()}
-+
-+        @rtype: List
-+        @return: The list of mirrors sorted according to the increasing
-+        response time.
-+        """
-+        self._poll_mirrors()
-+        mirrors = [(v, k) for k, v in self.results.items()]
-+        mirrors.sort()
-+        return [x[1] for x in mirrors]
-+
-+    def _poll_mirrors(self):
-+        """
-+        This function uses L{PollThread} class to ping/poll individual mirror
-+        in parallel.
-+
-+        This function refers:
-+            - L{PollThread.run()}
-+
-+        This function is referred by:
-+            - L{FastestMirror.get_mirrorlist()}
-+        """
-+        for mirror in self.mirrorlist:
-+            AsyncMirrorConn(self, mirror)
-+        count = len(self.mirrorlist)
-+        if count > 10: count = 10
-+        asyncore.loop(timeout=socket_timeout, count=count)
-+
-+
-+class AsyncMirrorConn(asyncore.dispatcher):
-+
-+    def __init__(self, parent, mirror):
-+        asyncore.dispatcher.__init__(self)
-+        self.parent = parent
-+        self.mirror = mirror
-+        self.host = urlparse.urlparse(mirror)[1]
-+        self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
-+        self.time_before = time.time()
-+        try:
-+            self.connect((self.host, 80))
-+        except:
-+            if verbose: print " * %s : dead" % self.host
-+            self.close()
-+
-+    def handle_connect(self):
-+        result = time.time() - self.time_before
-+        self.handle_close()
-+        self._add_result(self.mirror, self.host, result)
-+
-+    def handle_close(self):
-+        self.close()
-+
-+    def handle_read(self):
-+        pass
-+
-+    def handle_write(self):
-+        pass
-+
-+
-+    def _add_result(self, mirror, host, time):
-+        """
-+        This function is called by L{PollThread.run()} to add details of a
-+        mirror in C{FastestMirror.results} dictionary.
-+
-+        This function is referred by:
-+            - L{PollThread.run()}
-+
-+        @param mirror : The mirror that was polled for response time.
-+        @type mirror : String
-+        @param host : The hostname of the mirror.
-+        @type host : String
-+        @param time : The response time of the mirror.
-+        @type time : Integer
-+        @param timedhosts : A list of time intervals to reach different hosts
-+        corresponding to the mirrors. The index of the list are hostnames.
-+        @type timedhosts : List
-+        """
-+        global timedhosts
-+        if verbose: print " * %s : %f secs" % (host, time)
-+        self.parent.results[mirror] = time
-+        timedhosts[host] = time
-+
-+
-+def main():
-+    """
-+    This is the main function for B{fastestmirror} module.
-+
-+    This function explains the usage of B{fastestmirror} module. Also parses
-+    the command line arguments.
-+
-+    This function refers:
-+        - L{FastestMirror.get_mirrorlist()}
-+    """
-+    global verbose
-+    verbose = True
-+
-+    if len(sys.argv) == 1:
-+        print "Usage: %s <mirror1> [mirror2] ... [mirrorN]" % sys.argv[0]
-+        sys.exit(-1)
-+
-+    del(sys.argv[0])
-+    mirrorlist = []
-+
-+    for arg in sys.argv:
-+        mirrorlist.append(arg)
-+
-+    print "Result: " + str(FastestMirror(mirrorlist).get_mirrorlist())
-+
-+if __name__ == '__main__':
-+    main()
-diff --git a/plugins/fastestmirror/fastestmirror-asyncore/fastestmirror-asyncore.py b/plugins/fastestmirror/fastestmirror-asyncore/fastestmirror-asyncore.py
-deleted file mode 100644
-index 39bfde1..0000000
---- a/plugins/fastestmirror/fastestmirror-asyncore/fastestmirror-asyncore.py
-+++ /dev/null
-@@ -1,363 +0,0 @@
--#!/usr/bin/env python
--# This is a threadless prototype version of fastestmirror
--#
--# Version: 0.3.2
--#
--# A plugin for the Yellowdog Updater Modified which sorts each repo's
--# mirrorlist by connection speed prior to download.
--#
--# To install this plugin, just drop it into /usr/lib/yum-plugins, and
--# make sure you have 'plugins=1' in your /etc/yum.conf.  You also need to
--# create the following configuration file, if not installed through an RPM:
--#
--#  /etc/yum/pluginconf.d/fastestmirror.conf:
--#   [main]
--#   enabled=1
--#   verbose=1
--#   socket_timeout=3
--#   hostfilepath=/var/cache/yum/timedhosts
--#   maxhostfileage=10
--#   #exclude=.gov, facebook
--#
--# 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.
--#
--# (C) Copyright 2005 Luke Macken <lmacken at redhat.com>
--#
--
--"""
--B{FastestMirror} is a Yum plugin which sorts each repository's mirrorlist
--according to connection speed prior to download.
--"""
--
--import os
--import sys
--import time
--import socket
--import string
--import urlparse
--import datetime
--import asyncore
--
--from yum.plugins import TYPE_CORE
--
--requires_api_version = '2.5'
--plugin_type = (TYPE_CORE,)
--
--verbose = False
--socket_timeout = 1
--timedhosts = {}
--hostfilepath = ''
--maxhostfileage = 10
--loadcache = False
--exclude = None
--
--def init_hook(conduit):
--    """
--    This function initiliazes the variables required for running B{fastestmirror}
--    module. The variables are initiliazed from the main section of the plugin file.
--
--    There are no parameteres for this function. It uses global variables to
--    communicate with other functions.
--
--    This function refers:
--        - L{get_hostfile_age}
--
--    @param verbose : Verbosity of output.
--    @type verbose : Boolean
--    @param socket_timeout : The default timeout for a socket connection.
--    @type socket_timeout : Integer
--    @param hostfilepath : Absolute path to the plugin's cache file.
--    @type hostfilepath : String
--    @param maxhostfileage : Maximum age of the plugin's cache file.
--    @type maxhostfileage : Integer
--    @param loadcache : Fastest Mirrors to be loaded from plugin's cache or not.
--    @type loadcache : Boolean
--
--    """
--    global verbose, socket_timeout, hostfilepath, maxhostfileage, loadcache
--    global exclude
--    verbose = conduit.confBool('main', 'verbose', default=False)
--    socket_timeout = conduit.confInt('main', 'socket_timeout', default=3)
--    hostfilepath = conduit.confString('main', 'hostfilepath',
--            default='/var/cache/yum/timedhosts')
--    maxhostfileage = conduit.confInt('main', 'maxhostfileage', default=10)
--    exclude = conduit.confString('main', 'exclude', default=None)
--    # If the file hostfilepath exists and is newer than the maxhostfileage,
--    # then load the cache.
--    if os.path.exists(hostfilepath) and get_hostfile_age() < maxhostfileage:
--        loadcache = True
--
--def clean_hook(conduit):
--    """
--    This function cleans the plugin cache file if exists. The function is called
--    when C{yum [options] clean [plugins | all ]} is executed.
--    """
--    if os.path.exists(hostfilepath):
--        conduit.info(2, "Cleaning up list of fastest mirrors")
--        os.unlink(hostfilepath)
--
--# Get the hostname from a url, stripping away any usernames/passwords
--host = lambda mirror: mirror.split('/')[2].split('@')[-1]
--
--def postreposetup_hook(conduit):
--    """
--    This function is called after Yum has initiliazed all the repository information.
--
--    If cache file exists, this function will load the mirror speeds from the file,
--    else it will determine the fastest mirrors afresh and write them back to the cache
--    file.
--
--    There are no parameteres for this function. It uses global variables to
--    communicate with other functions.
--
--    This function refers:
--        - L{read_timedhosts()}
--        - L{FastestMirror.get_mirrorlist()}
--        - L{write_timedhosts()}
--
--    @param loadcache : Fastest Mirrors to be loaded from plugin's cache file or not.
--    @type loadcache : Boolean
--    """
--    global loadcache, exclude
--    if loadcache:
--        conduit.info(2, "Loading mirror speeds from cached hostfile")
--        read_timedhosts()
--    else:
--        conduit.info(2, "Determining fastest mirrors")
--    repomirrors = {}
--    repos = conduit.getRepos()
--    for repo in repos.listEnabled():
--        if not repomirrors.has_key(str(repo)):
--            repomirrors[str(repo)] = FastestMirror(repo.urls).get_mirrorlist()
--        if exclude:
--            for mirror in repomirrors[str(repo)]:
--                if filter(lambda exp: exp in host(mirror),
--                          exclude.replace(',', ' ').split()):
--                    conduit.info(2, "Excluding mirror: %s" % host(mirror))
--                    repomirrors[str(repo)].remove(mirror)
--        repo.urls = repomirrors[str(repo)]
--        if len(repo.urls):
--            conduit.info(2, " * %s: %s" % (str(repo), host(repo.urls[0])))
--        repo.failovermethod = 'priority'
--        repo.check()
--        repo.setupGrab()
--    if not loadcache:
--        write_timedhosts()
--
--def read_timedhosts():
--    """
--    This function reads the time and hostname from the plugin's cache file and
--    store them in C{timedhosts}.
--
--    There are no parameteres for this function. It uses global variables to
--    communicate with other functions.
--
--    This function is referred by:
--        - L{postreposetup_hook()}
--
--    @param timedhosts : A list of time intervals to reach different hosts
--    corresponding to the mirrors. The index of the list are hostnames.
--    C{timedhosts[host] = time}.
--    @type timedhosts : List
--    """
--    global timedhosts
--    try:
--        hostfile = file(hostfilepath)
--        for line in hostfile.readlines():
--            host, time = line.split()
--            timedhosts[host] = float(time)
--        hostfile.close()
--    except IOError:
--        pass
--
--def write_timedhosts():
--    """
--    This function writes the plugin's cache file with the entries in the
--    C{timedhosts} list.
--
--    There are no parameteres for this function. It uses global variables to
--    communicate with other functions.
--
--    This function is referred by:
--        - L{postreposetup_hook()}
--
--    @param timedhosts : A list of time intervals to reach different hosts
--    corresponding to the mirrors. The index of the list are hostnames.
--    C{timedhosts[host] = time}.
--    @type timedhosts : List
--    """
--    global timedhosts
--    try:
--        hostfile = file(hostfilepath, 'w')
--        for host in timedhosts.keys():
--            hostfile.write('%s %s\n' % (host, timedhosts[host]))
--        hostfile.close()
--    except IOError:
--        pass
--
--def get_hostfile_age():
--    """
--    This function returns the current age of the plugin's cache file.
--
--    There are no parameteres for this function. It uses global variables to
--    communicate with other functions.
--
--    This function is referred by:
--        - L{init_hook()}
--
--    @param hostfilepath : Absolute path to the plugin's cache file.
--    @type hostfilepath : String
--    @rtype: Integer
--    @return: The age of the plugin's cache file.
--    """
--    global hostfilepath
--    timestamp = datetime.datetime.fromtimestamp(os.path.getmtime(hostfilepath))
--    return (datetime.datetime.now() - timestamp).days
--
--class FastestMirror:
--    """
--    This is the helper class of B{fastestmirror} module. This class does
--    all the processing of the response time calculation for all the mirrors
--    of all the enabled Yum repositories.
--    """
--
--    def __init__(self, mirrorlist):
--        """
--        This is the initiliazer function of the B{L{FastestMirror}} class.
--
--        @param mirrorlist : A list of mirrors for an enabled repository.
--        @type mirrorlist : List
--        """
--        self.mirrorlist = mirrorlist
--        self.results = {}
--        socket.setdefaulttimeout(socket_timeout)
--
--    def get_mirrorlist(self):
--        """
--        This function pings/polls all the mirrors in the list
--        C{FastestMirror.mirrorlist} and returns the sorted list of mirrors
--        according to the increasing response time of the mirrors.
--
--        This function refers:
--            - L{FastestMirror._poll_mirrors()}
--
--        This function is referred by:
--            - L{postreposetup_hook()}
--            - L{main()}
--
--        @rtype: List
--        @return: The list of mirrors sorted according to the increasing
--        response time.
--        """
--        self._poll_mirrors()
--        mirrors = [(v, k) for k, v in self.results.items()]
--        mirrors.sort()
--        return [x[1] for x in mirrors]
--
--    def _poll_mirrors(self):
--        """
--        This function uses L{PollThread} class to ping/poll individual mirror
--        in parallel.
--
--        This function refers:
--            - L{PollThread.run()}
--
--        This function is referred by:
--            - L{FastestMirror.get_mirrorlist()}
--        """
--        for mirror in self.mirrorlist:
--            AsyncMirrorConn(self, mirror)
--        count = len(self.mirrorlist)
--        if count > 10: count = 10
--        asyncore.loop(timeout=socket_timeout, count=count)
--
--
--class AsyncMirrorConn(asyncore.dispatcher):
--
--    def __init__(self, parent, mirror):
--        asyncore.dispatcher.__init__(self)
--        self.parent = parent
--        self.mirror = mirror
--        self.host = urlparse.urlparse(mirror)[1]
--        self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
--        self.time_before = time.time()
--        try:
--            self.connect((self.host, 80))
--        except:
--            if verbose: print " * %s : dead" % self.host
--            self.close()
--
--    def handle_connect(self):
--        result = time.time() - self.time_before
--        self.handle_close()
--        self._add_result(self.mirror, self.host, result)
--
--    def handle_close(self):
--        self.close()
--
--    def handle_read(self):
--        pass
--
--    def handle_write(self):
--        pass
--
--
--    def _add_result(self, mirror, host, time):
--        """
--        This function is called by L{PollThread.run()} to add details of a
--        mirror in C{FastestMirror.results} dictionary.
--
--        This function is referred by:
--            - L{PollThread.run()}
--
--        @param mirror : The mirror that was polled for response time.
--        @type mirror : String
--        @param host : The hostname of the mirror.
--        @type host : String
--        @param time : The response time of the mirror.
--        @type time : Integer
--        @param timedhosts : A list of time intervals to reach different hosts
--        corresponding to the mirrors. The index of the list are hostnames.
--        @type timedhosts : List
--        """
--        global timedhosts
--        if verbose: print " * %s : %f secs" % (host, time)
--        self.parent.results[mirror] = time
--        timedhosts[host] = time
--
--
--def main():
--    """
--    This is the main function for B{fastestmirror} module.
--
--    This function explains the usage of B{fastestmirror} module. Also parses
--    the command line arguments.
--
--    This function refers:
--        - L{FastestMirror.get_mirrorlist()}
--    """
--    global verbose
--    verbose = True
--
--    if len(sys.argv) == 1:
--        print "Usage: %s <mirror1> [mirror2] ... [mirrorN]" % sys.argv[0]
--        sys.exit(-1)
--
--    del(sys.argv[0])
--    mirrorlist = []
--
--    for arg in sys.argv:
--        mirrorlist.append(arg)
--
--    print "Result: " + str(FastestMirror(mirrorlist).get_mirrorlist())
--
--if __name__ == '__main__':
--    main()
 diff --git a/plugins/fastestmirror/fastestmirror.py b/plugins/fastestmirror/fastestmirror.py
 index add870a..dc4df92 100644
 --- a/plugins/fastestmirror/fastestmirror.py


Index: yum-utils.spec
===================================================================
RCS file: /cvs/pkgs/rpms/yum-utils/devel/yum-utils.spec,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- yum-utils.spec	24 May 2008 14:18:09 -0000	1.40
+++ yum-utils.spec	26 May 2008 08:21:40 -0000	1.41
@@ -1,7 +1,7 @@
 Summary: Utilities based around the yum package manager
 Name: yum-utils
 Version: 1.1.14
-Release: 2%{?dist}
+Release: 3%{?dist}
 License: GPL
 Group: Development/Tools
 Source: http://linux.duke.edu/yum/download/yum-utils/%{name}-%{version}.tar.gz
@@ -261,6 +261,8 @@
 %prep
 %setup -q
 %patch -p1
+# temporary fix: we don't want fastestmirror-asyncore.py
+rm -f $RPM_BUILD_ROOT/plugins/fastestmirror/fastestmirror-asyncore.py
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -455,6 +457,8 @@
 /usr/lib/yum-plugins/keys.*
 
 %changelog
+* Mon May 26 2008 Tim Lauridsen <timlau at fedoraproject.org>
+- remove the fastestmirror-asyncore.py, we dont want it in this release
 * Sat May 24 2008 Tim Lauridsen <timlau at fedoraproject.org>
 - Added fastestmirror.patch from upstream to fix issues with the fastestmirror plugin.
 * Wed May 21 2008 Tim Lauridsen <timlau at fedoraproject.org>




More information about the fedora-extras-commits mailing list