Re: [releng] Do not use <tarball> elements for different module types
- From: Vincent Untz <vuntz gnome org>
- To: release-team gnome org
- Subject: Re: [releng] Do not use <tarball> elements for different module types
- Date: Thu, 5 Aug 2010 11:34:32 +0200
Hey,
Frédéric, this change breaks two things:
+ gtk-sharp/gnome-sharp now have a autogen-sh attribute for the
autotools tag, and that references a file that doesn't exist in the
tarballs, so build fails
+ gnome-color-manager has a autogen.sh in the tarball, but it doesn't
work well (it tries to link the m4 directory, which already exists)
I guess the change you did makes some sense. How about forcing
autogen-sh to configure for all those <autotools> entries? That should
fix the issue, I guess?
Cheers,
Vincent
Le jeudi 01 juillet 2010, à 18:02 +0000, Frederic Peters a écrit :
> commit 5a3b3fb28c447d15867634b0242abd95ffb0c2a7
> Author: Fr??d??ric P??ters <fpeters 0d be>
> Date: Thu Jul 1 19:59:58 2010 +0200
>
> Do not use <tarball> elements for different module types
>
> This keeps the module type node name (<autotools>, <waf>...) and creates a
> <branch/> node within, pointing to a tarball repository, instead of creating
> straight <tarball> elements, as they are just thin wrappers for autotools.
>
> tools/smoketesting/convert-to-tarballs.py | 56 ++++++++++++++++++++++-------
> 1 files changed, 43 insertions(+), 13 deletions(-)
> ---
> diff --git a/tools/smoketesting/convert-to-tarballs.py b/tools/smoketesting/convert-to-tarballs.py
> index f6da3c6..bdde276 100755
> --- a/tools/smoketesting/convert-to-tarballs.py
> +++ b/tools/smoketesting/convert-to-tarballs.py
> @@ -150,6 +150,15 @@ class Options:
> return True
> return False
>
> + def get_base_site(self, cvssite, modulename):
> + for list in self.module_locations:
> + if list[0] == modulename:
> + return list[1]
> + for list in self.cvs_locations:
> + if re.search(list[0] + '$', cvssite):
> + return list[1]
> + raise IOError('No download site found!\n')
> +
> def get_download_site(self, cvssite, modulename):
> for list in self.module_locations:
> if list[0] == modulename:
> @@ -673,9 +682,19 @@ class ConvertToTarballs:
> self.all_versions = []
> self.no_max_version = []
> self.locator = TarballLocator(tarballdir, options.mirrors, not versions_only, local_only)
> + self.known_repositories = []
> + self.known_repositories_nodes = []
> +
> + def _create_tarball_repo_node(self, document, href):
> + repo = document.createElement('repository')
> + repo.setAttribute('href', href)
> + repo.setAttribute('name', href)
> + repo.setAttribute('type', 'tarball')
> + self.known_repositories_nodes.append(repo)
>
> def _create_tarball_node(self, document, node):
> - tarball = document.createElement('tarball')
> + assert node.nodeName != 'tarball'
> + tarball = document.createElement(node.nodeName)
> attrs = node.attributes
> cvsroot = None
> for attrName in attrs.keys():
> @@ -694,8 +713,9 @@ class ConvertToTarballs:
> attrNode = attrs.get(attrName)
> attrValue = attrNode.nodeValue
> tarball.setAttribute(attrName, attrValue)
> - source_node = document.createElement('source')
> - tarball.appendChild(source_node)
> +
> + branch_node = document.createElement('branch')
> + tarball.appendChild(branch_node)
>
> if cvsroot == None: # gnome cvs
> cvsroot = 'gnome.org'
> @@ -710,15 +730,20 @@ class ConvertToTarballs:
> try:
> name = self.options.translate_name(id)
> real_name = self.options.get_real_name(name)
> + repo = self.options.get_base_site(cvsroot, real_name)
> + if not repo in self.known_repositories:
> + self._create_tarball_repo_node(document, repo)
> + self.known_repositories.append(repo)
> baselocation = self.options.get_download_site(cvsroot, real_name)
> max_version = self.options.get_version_limit(name)
> location, version, hash, size = \
> self.locator.find_tarball(baselocation, real_name, max_version)
> print ' ', location, version, hash, size
> - tarball.setAttribute('version', version)
> - source_node.setAttribute('href', location)
> - source_node.setAttribute('size', size)
> - source_node.setAttribute('hash', hash)
> + branch_node.setAttribute('version', version)
> + branch_node.setAttribute('repo', repo)
> + branch_node.setAttribute('module', location[len(repo):])
> + branch_node.setAttribute('size', size)
> + branch_node.setAttribute('hash', hash)
> self.all_tarballs.append(name)
> self.all_versions.append(version)
> except IOError:
> @@ -728,9 +753,9 @@ class ConvertToTarballs:
> print ''
> self.not_found.append(id)
> tarball.setAttribute('version', 'EAT-YOUR-BRAAAAAANE')
> - source_node.setAttribute('href', 'http://somewhere.over.the.rainbow/where/bluebirds/die')
> - source_node.setAttribute('size', 'HUGE')
> - source_node.setAttribute('hash', 'md5:blablablaihavenorealclue')
> + branch_node.setAttribute('href', 'http://somewhere.over.the.rainbow/where/bluebirds/die')
> + branch_node.setAttribute('size', 'HUGE')
> + branch_node.setAttribute('hash', 'md5:blablablaihavenorealclue')
> if revision and not max_version:
> self.no_max_version.append(id)
> return tarball
> @@ -789,7 +814,7 @@ class ConvertToTarballs:
> save_entry_as_is = True
> elif node.nodeName == 'include':
> location = node.attributes.get('href').nodeValue
> - newname = self.fix_file(location)
> + newname = self.fix_file(location, include_repositories=False)
> # Write out the element name.
> entry = document.createElement(node.nodeName)
> # Write out the attributes.
> @@ -802,6 +827,9 @@ class ConvertToTarballs:
> entry.setAttribute(attrName, attrValue)
> else:
> save_entry_as_is = True
> + if node.nodeName == 'branch':
> + if len(node.attributes.keys()) == 0:
> + continue
>
> if save_entry_as_is:
> # Write out the element name.
> @@ -821,7 +849,7 @@ class ConvertToTarballs:
> def cleanup(self):
> self.locator.cleanup()
>
> - def fix_file(self, input_filename):
> + def fix_file(self, input_filename, include_repositories=True):
> newname = re.sub(r'^([-a-z]+?)(?:-[0-9\.]*)?(.modules)$',
> r'\1-' + self.version + r'\2',
> input_filename)
> @@ -839,7 +867,6 @@ class ConvertToTarballs:
> sys.stderr.write('Cannot proceed; would overwrite versions\n')
> sys.exit(1)
>
> - print input_filename
> old_document = minidom.parse(os.path.join(self.sourcedir, input_filename))
> oldRoot = old_document.documentElement
>
> @@ -848,6 +875,9 @@ class ConvertToTarballs:
> new_document.appendChild(newRoot)
>
> self._walk(oldRoot, newRoot, new_document)
> + if include_repositories:
> + for repo in self.known_repositories_nodes:
> + newRoot.appendChild(repo)
>
> if not self.versions_only:
> newfile = file(newname, 'w+')
> _______________________________________________
> commits-list mailing list (read only)
> http://mail.gnome.org/mailman/listinfo/commits-list
>
> Want to limit the commits to a few modules? Go to above URL, log in to edit your options and select the modules ('topics') you want.
--
Les gens heureux ne sont pas pressés.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]