public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Zac Medico" <zmedico@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/portage:master commit in: repoman/lib/repoman/
Date: Mon, 23 Mar 2020 22:02:58 +0000 (UTC)	[thread overview]
Message-ID: <1585000892.1bdff51e2b217a0b69a9195430487bc75a7fbe63.zmedico@gentoo> (raw)

commit:     1bdff51e2b217a0b69a9195430487bc75a7fbe63
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 21:58:43 2020 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Mon Mar 23 22:01:32 2020 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=1bdff51e

repoman: fetch_metadata_xsd: use fetch function

Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>

 repoman/lib/repoman/metadata.py | 51 ++++++++---------------------------------
 1 file changed, 10 insertions(+), 41 deletions(-)

diff --git a/repoman/lib/repoman/metadata.py b/repoman/lib/repoman/metadata.py
index 11ec1aaf8..4537d2ce2 100644
--- a/repoman/lib/repoman/metadata.py
+++ b/repoman/lib/repoman/metadata.py
@@ -5,21 +5,14 @@ from __future__ import print_function, unicode_literals
 import errno
 import logging
 import sys
-import tempfile
 import time
 
-try:
-	from urllib.parse import urlparse
-except ImportError:
-	from urlparse import urlparse
-
-
 # import our initialized portage instance
 from repoman._portage import portage
 
 from portage import os
-from portage import shutil
 from portage.output import green
+from portage.package.ebuild.fetch import fetch
 
 if sys.hexversion >= 0x3000000:
 	basestring = str
@@ -64,41 +57,17 @@ def fetch_metadata_xsd(metadata_xsd, repoman_settings):
 			"%s the local copy of metadata.xsd "
 			"needs to be refetched, doing that now" % green("***"))
 		print()
-		parsed_url = urlparse(metadata_xsd_uri)
-		setting = 'FETCHCOMMAND_' + parsed_url.scheme.upper()
-		fcmd = repoman_settings.get(setting)
-		if not fcmd:
-			fcmd = repoman_settings.get('FETCHCOMMAND')
-			if not fcmd:
-				logging.error("FETCHCOMMAND is unset")
-				return False
-
-		destdir = repoman_settings["DISTDIR"]
-		fd, metadata_xsd_tmp = tempfile.mkstemp(
-			prefix='metadata.xsd.', dir=destdir)
-		os.close(fd)
+
+		if not fetch([metadata_xsd_uri], repoman_settings, force=1, try_mirrors=0):
+			logging.error(
+				"failed to fetch metadata.xsd from '%s'" % metadata_xsd_uri)
+			return False
 
 		try:
-			if not portage.getbinpkg.file_get(
-				metadata_xsd_uri, destdir, fcmd=fcmd,
-				filename=os.path.basename(metadata_xsd_tmp)):
-				logging.error(
-					"failed to fetch metadata.xsd from '%s'" % metadata_xsd_uri)
-				return False
-
-			try:
-				portage.util.apply_secpass_permissions(
-					metadata_xsd_tmp,
-					gid=portage.data.portage_gid, mode=0o664, mask=0o2)
-			except portage.exception.PortageException:
-				pass
-
-			shutil.move(metadata_xsd_tmp, metadata_xsd)
-		finally:
-			try:
-				os.unlink(metadata_xsd_tmp)
-			except OSError:
-				pass
+			portage.util.apply_secpass_permissions(metadata_xsd,
+				gid=portage.data.portage_gid, mode=0o664, mask=0o2)
+		except portage.exception.PortageException:
+			pass
 
 	return True
 


             reply	other threads:[~2020-03-23 22:03 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-23 22:02 Zac Medico [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-03-31  6:34 [gentoo-commits] proj/portage:master commit in: repoman/lib/repoman/ Zac Medico
2021-03-31  6:28 Zac Medico
2021-03-28 22:59 Zac Medico
2021-03-28 18:48 Zac Medico
2020-08-16  0:43 Zac Medico
2020-08-15 23:56 Zac Medico
2019-12-03 23:18 Zac Medico
2019-12-03 23:07 Zac Medico
2019-05-26  4:29 Zac Medico
2018-10-27 23:39 Zac Medico
2018-09-30 20:38 Mike Gilbert
2018-09-30 20:38 Mike Gilbert
2018-09-22  9:44 Zac Medico
2018-08-16 20:05 Michał Górny

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1585000892.1bdff51e2b217a0b69a9195430487bc75a7fbe63.zmedico@gentoo \
    --to=zmedico@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox