[csw-devel] SF.net SVN: gar:[18783] csw/mgar/gar/v2/lib/python/csw_upload_pkg.py
wahwah at users.sourceforge.net
wahwah at users.sourceforge.net
Tue Jul 17 11:24:44 CEST 2012
Revision: 18783
http://gar.svn.sourceforge.net/gar/?rev=18783&view=rev
Author: wahwah
Date: 2012-07-17 09:24:44 +0000 (Tue, 17 Jul 2012)
Log Message:
-----------
csw-upload-pkg: Removing the --remove option
This option was confusing to users and did more harm than good.
We now have safe_remove_package, which checks if the package you want to
remove is free of reverse dependencies, and does not allow to remove the
package if it would break any.
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/csw_upload_pkg.py
Modified: csw/mgar/gar/v2/lib/python/csw_upload_pkg.py
===================================================================
--- csw/mgar/gar/v2/lib/python/csw_upload_pkg.py 2012-07-16 23:16:19 UTC (rev 18782)
+++ csw/mgar/gar/v2/lib/python/csw_upload_pkg.py 2012-07-17 09:24:44 UTC (rev 18783)
@@ -54,15 +54,6 @@
This amounts to 3x2x4 = 24 package catalogs total.
-= Removing packages from the catalog =
-
-The --remove option works the same way as the regular use, except that it
-removes assignments of a given package to catalogs, instead of adding them.
-
-When removing packages from catalogs, files on disk are passed as arguments.
-On the buildfarm, all files are available under the /home/mirror/opencsw
-directory.
-
For more information, see:
http://wiki.opencsw.org/automated-release-process#toc0
"""
@@ -180,7 +171,7 @@
planned_modifications.append(
(filename, md5_sum,
arch, osrel, cat_arch, cat_osrel))
- # The plan:
+ # The plan:
# - Create groups of files to be inserted into each of the catalogs
# - Invoke checkpkg to check every target catalog
checkpkg_sets = self._CheckpkgSets(planned_modifications)
@@ -193,66 +184,6 @@
file_metadata = metadata_by_md5[md5_sum]
self._InsertIntoCatalog(filename, arch, osrel, file_metadata)
- def Remove(self):
- for filename in self.filenames:
- self._RemoveFile(filename)
-
- def _RemoveFile(self, filename):
- md5_sum = self._GetFileMd5sum(filename)
- file_in_allpkgs, file_metadata = self._GetSrv4FileMetadata(md5_sum)
- if not file_metadata:
- logging.warning("Could not find metadata for file %s", repr(filename))
- return
- osrel = file_metadata['osrel']
- arch = file_metadata['arch']
- catalogs = self._MatchSrv4ToCatalogs(
- filename, DEFAULT_CATREL, arch, osrel, md5_sum)
- for unused_catrel, cat_arch, cat_osrel in sorted(catalogs):
- self._RemoveFromCatalog(filename, cat_arch, cat_osrel, file_metadata)
-
- def _RemoveFromCatalog(self, filename, arch, osrel, file_metadata):
- print("Removing %s (%s %s) from catalog %s %s %s"
- % (file_metadata["catalogname"],
- file_metadata["arch"],
- file_metadata["osrel"],
- DEFAULT_CATREL, arch, osrel))
- md5_sum = self._GetFileMd5sum(filename)
- basename = os.path.basename(filename)
- parsed_basename = opencsw.ParsePackageFileName(basename)
- # TODO: Move this bit to a separate class (RestClient)
- url = (
- "%s%s/catalogs/%s/%s/%s/%s/"
- % (self.rest_url,
- RELEASES_APP,
- DEFAULT_CATREL,
- arch,
- osrel,
- md5_sum))
- logging.debug("DELETE @ URL: %s %s", type(url), url)
- c = pycurl.Curl()
- d = StringIO()
- h = StringIO()
- c.setopt(pycurl.URL, str(url))
- c.setopt(pycurl.CUSTOMREQUEST, "DELETE")
- c.setopt(pycurl.WRITEFUNCTION, d.write)
- c.setopt(pycurl.HEADERFUNCTION, h.write)
- c.setopt(pycurl.HTTPHEADER, ["Expect:"]) # Fixes the HTTP 417 error
- c = self._SetAuth(c)
- if self.debug:
- c.setopt(c.VERBOSE, 1)
- c.perform()
- http_code = c.getinfo(pycurl.HTTP_CODE)
- logging.debug(
- "DELETE curl getinfo: %s %s %s",
- type(http_code),
- http_code,
- c.getinfo(pycurl.EFFECTIVE_URL))
- c.close()
- if not (http_code >= 200 and http_code <= 299):
- raise RestCommunicationError(
- "%s - HTTP code: %s, content: %s"
- % (url, http_code, d.getvalue()))
-
def _GetFileMd5sum(self, filename):
if filename not in self.md5_by_filename:
logging.debug("_GetFileMd5sum(%s): Reading the file", filename)
@@ -558,10 +489,6 @@
parser.add_option("-d", "--debug",
dest="debug",
default=False, action="store_true")
- parser.add_option("--remove",
- dest="remove",
- default=False, action="store_true",
- help="Remove packages from catalogs instead of adding them")
parser.add_option("--os-release",
dest="os_release",
help="If specified, only uploads to the specified OS release.")
@@ -618,7 +545,4 @@
debug=options.debug,
username=username,
password=password)
- if options.remove:
- uploader.Remove()
- else:
- uploader.Upload()
+ uploader.Upload()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the devel
mailing list