server/mirrormanager/repomap.py | 2 +- server/update-master-directory-list | 33 +++++++++++++++++++++++++++------ 2 files changed, 28 insertions(+), 7 deletions(-)
New commits: commit 93749dc38d59152e6b1ba804af6a24d00aba0122 Author: Matt Domsch Matt_Domsch@dell.com Date: Wed Jul 7 10:04:31 2010 -0500
umdl: set Repository.name = directory.name to be guaranteed unique
diff --git a/server/update-master-directory-list b/server/update-master-directory-list index 4bdc226..95ba977 100755 --- a/server/update-master-directory-list +++ b/server/update-master-directory-list @@ -195,26 +195,47 @@ def make_repomd_file_details(dir): fd = FileDetail(directory=dir, filename='repomd.xml', sha1=sha1, md5=md5, sha256=sha256, sha512=sha512, timestamp=timestamp, size=size)
+ +def move_repository_from_development(prefix, arch, newdir): + try: + repo = Repository.selectBy(prefix=prefix, arch=arch)[0] + except: + return None + + if repo.directory is not None and newdir.name is not None: + if '/development' in repo.directory.name and '/releases' in newdir.name: + repo.directory = newdir + return repo + def make_repository(dir, category): repo = None path = dir.name[len(category.topdir.name)+1:] (ver, arch) = guess_ver_arch_from_path(category, path) if ver is None or arch is None: return None - path = trim_os_from_dirname(path) - name=path.split('/') - name = rename_SRPMS_source(name) - name='-'.join(name) - name='%s-%s-%s' % (category.product.name, category.name, name)
prefix = repo_prefix(path, category, ver) try: - repo = Repository(name=name, category=category, version=ver, arch=arch, directory=dir, prefix=prefix) + # historically, Repository.name was a longer string with + # product and category deliniations. But we were getting + # unique constraint conflicts once we started introducing + # repositories under repositories. And .name isn't used for + # anything meaningful. So simply have it match dir.name, + # which can't conflict. + repo = Repository(name=dir.name, category=category, version=ver, arch=arch, directory=dir, prefix=prefix) except: + # repo exists, but it may be one we want to move + #try: + #repo = move_repository_from_development(prefix, arch, dir) + #except: + #pass pass
return repo
+ + + def nuke_gone_directories(category, category_directories): """ deleting a Directory has a ripple effect through the whole database. Be really sure you're ready do to this. It comes
commit 20dd461704b7363f14e6a2a8b11d7542bf114a75 Author: Matt Domsch Matt_Domsch@dell.com Date: Mon Jul 5 07:29:41 2010 -0500
repomap: remove extra -beta" on prefixes
diff --git a/server/mirrormanager/repomap.py b/server/mirrormanager/repomap.py index 66ccbc0..27665b6 100644 --- a/server/mirrormanager/repomap.py +++ b/server/mirrormanager/repomap.py @@ -362,7 +362,7 @@ def repo_prefix(path, category, ver): elif isSource: prefix = u'rhel-source-%s' % version else: - prefix = u'rhel-%s-beta' % version + prefix = u'rhel-%s' % version
if prefix and isBeta: prefix = u'%s-beta' % prefix