From wahwah at users.sourceforge.net Sat Mar 1 13:09:14 2014 From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net) Date: Sat, 1 Mar 2014 12:09:14 +0000 Subject: SF.net SVN: gar:[23090] csw/mgar/gar/v2/lib/python/checkpkg_lib.py Message-ID: <3fbmd13ZtPzj2@mail.opencsw.org> Revision: 23090 http://sourceforge.net/p/gar/code/23090 Author: wahwah Date: 2014-03-01 12:09:13 +0000 (Sat, 01 Mar 2014) Log Message: ----------- checkpkg: Bugfix for dependency detection Introduced during the rewrite, a data structure wasn't updated to match the new code. The result was that the context in which packages were examined, was broken. Modified Paths: -------------- csw/mgar/gar/v2/lib/python/checkpkg_lib.py Modified: csw/mgar/gar/v2/lib/python/checkpkg_lib.py =================================================================== --- csw/mgar/gar/v2/lib/python/checkpkg_lib.py 2014-02-28 18:42:25 UTC (rev 23089) +++ csw/mgar/gar/v2/lib/python/checkpkg_lib.py 2014-03-01 12:09:13 UTC (rev 23090) @@ -821,8 +821,9 @@ pkgname = pkg_data["basic_stats"]["pkgname"] examined_files_by_pkg.setdefault(pkgname, set()) for entry in pkg_data["pkgmap"]: - if "path" in entry and entry["path"]: - base_path, base_name = os.path.split(entry["path"]) + entry = representations.PkgmapEntry._make(entry) + if entry.path: + base_path, base_name = os.path.split(entry.path) examined_files_by_pkg[pkgname].add((base_path, base_name)) return examined_files_by_pkg This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From wahwah at users.sourceforge.net Sat Mar 1 13:09:22 2014 From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net) Date: Sat, 1 Mar 2014 12:09:22 +0000 Subject: SF.net SVN: gar:[23091] csw/mgar/gar/v2/lib/python Message-ID: <3fbmdD4Dq1zlm@mail.opencsw.org> Revision: 23091 http://sourceforge.net/p/gar/code/23091 Author: wahwah Date: 2014-03-01 12:09:22 +0000 (Sat, 01 Mar 2014) Log Message: ----------- checkpkg: Various code cleanup No dependency changes Modified Paths: -------------- csw/mgar/gar/v2/lib/python/checkpkg_lib.py csw/mgar/gar/v2/lib/python/package_checks.py Modified: csw/mgar/gar/v2/lib/python/checkpkg_lib.py =================================================================== --- csw/mgar/gar/v2/lib/python/checkpkg_lib.py 2014-03-01 12:09:13 UTC (rev 23090) +++ csw/mgar/gar/v2/lib/python/checkpkg_lib.py 2014-03-01 12:09:22 UTC (rev 23091) @@ -3,8 +3,6 @@ # This file is supposed to drain the checkpkg.py file until is becomes # empty and goes away. -from Cheetah import Template -from sqlobject import sqlbuilder import collections import copy import getpass @@ -18,16 +16,19 @@ import sqlobject import textwrap -from lib.python import mute_progressbar +from Cheetah import Template +from sqlobject import sqlbuilder + from lib.python import common_constants from lib.python import configuration from lib.python import database from lib.python import errors from lib.python import models as m +from lib.python import mute_progressbar +from lib.python import representations from lib.python import rest from lib.python import sharedlib_utils from lib.python import tag -from lib.python import representations DESCRIPTION_RE = r"^([\S]+) - (.*)$" @@ -522,11 +523,11 @@ self.pkgname, tag_name, tag_info, msg=msg) def NeedFile(self, full_path, reason): - "See base class _NeedFile." + """See base class _NeedFile.""" self._NeedFile(self.pkgname, full_path, reason) def NeedPackage(self, needed_pkg, reason): - "See base class _NeedPackage." + """See base class _NeedPackage.""" self._NeedPackage(self.pkgname, needed_pkg, reason) @@ -538,11 +539,11 @@ osrel, arch, catrel, catalog, pkg_set_files, rest_client=rest_client) def NeedFile(self, pkgname, full_path, reason): - "See base class _NeedFile." + """See base class _NeedFile.""" self._NeedFile(pkgname, full_path, reason) def NeedPackage(self, pkgname, needed_pkg, reason): - "See base class _NeedPackage." + """See base class _NeedPackage.""" self._NeedPackage(pkgname, needed_pkg, reason) def ReportError(self, pkgname, tag_name, tag_info=None, msg=None): @@ -620,7 +621,7 @@ Needed files are extracted from the Interface objects. """ # The idea behind reasons is that if two packages are necessary for - # the same reason, any of them would be satisfactory. + # the same reason, any of these two would be satisfactory. # For example: # (CSWfoo, /opt/csw/bin/foo, "provides foo support"), # (CSWbar, /opt/csw/bin/bar, "provides foo support"), @@ -654,6 +655,7 @@ reason_group.append((needed_pkg, reason)) req_pkgs_reasons_by_pkgname.setdefault(pkgname, []) req_pkgs_reasons_by_pkgname[pkgname].append(reason_group) + for pkgname in declared_deps_by_pkgname: declared_deps = declared_deps_by_pkgname[pkgname] req_pkgs_reasons_by_pkgname.setdefault(pkgname, []) @@ -662,6 +664,7 @@ missing_dep_groups) = self._ReportMissingDependencies( checkpkg_interface, pkgname, declared_deps, req_pkgs_reasons_by_pkgname[pkgname]) + namespace = { "pkgname": pkgname, "missing_deps": missing_deps_reasons_by_pkg, @@ -673,6 +676,7 @@ if report.strip(): for line in report.splitlines(): messenger.Message(line) + for missing_deps in missing_dep_groups: alternatives = False prefix = "" @@ -752,7 +756,7 @@ # If one of the packages suggested is the package under examination, # consider the dependency satisifed. if pkgname == for_pkgname or pkgname in declared_deps_set: - logging.debug("%s is satisfied by %s", repr(reason), pkgname) + logging.debug("%r is satisfied by %s", reason, pkgname) dependency_fulfilled = True break if not dependency_fulfilled: @@ -1039,11 +1043,6 @@ def GetPkgByPath(self, full_file_path, osrel, arch, catrel): """Returns a list of packages.""" - # Memoization for performance - - # Memoization won't buy us much. Perhaps we can fetch all the files - # belonging to the same package, so that we quickly prepopulate the cache. - # TODO(maciej): Move this to models.py and have pkgdb_web return the JSON # structure. This is a step towards RESTification. key = (full_file_path, osrel, arch, catrel) @@ -1205,5 +1204,5 @@ # Files belonging to this package should not be removed from the catalog # as the package might be still present in another catalog. sqo_srv4_in_cat.destroySelf() - except sqlobject.main.SQLObjectNotFound, e: + except sqlobject.main.SQLObjectNotFound as e: logging.warning(e) Modified: csw/mgar/gar/v2/lib/python/package_checks.py =================================================================== --- csw/mgar/gar/v2/lib/python/package_checks.py 2014-03-01 12:09:13 UTC (rev 23090) +++ csw/mgar/gar/v2/lib/python/package_checks.py 2014-03-01 12:09:22 UTC (rev 23091) @@ -1190,8 +1190,8 @@ link_type = "hardlink" error_mgr.NeedFile( pkgmap_entry.target, - "%s contains a %s (%s) which needs the target file: %s." - % (link_type, pkgname, repr(pkgmap_entry.path), repr(pkgmap_entry.target))) + '%s contains %r (a %s) which needs the target file: %r.' + % (pkgname, pkgmap_entry.path, link_type, pkgmap_entry.target)) def CheckPrefixDirs(pkg_data, error_mgr, logger, messenger): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From wahwah at users.sourceforge.net Sat Mar 1 13:09:30 2014 From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net) Date: Sat, 1 Mar 2014 12:09:30 +0000 Subject: SF.net SVN: gar:[23092] csw/mgar/gar/v2/lib/python/checkpkg_lib.py Message-ID: <3fbmdJ2snhzmx@mail.opencsw.org> Revision: 23092 http://sourceforge.net/p/gar/code/23092 Author: wahwah Date: 2014-03-01 12:09:29 +0000 (Sat, 01 Mar 2014) Log Message: ----------- checkpkg: New assertion: files declared as needed Previously, if no package was found to satisfy a need for a file, no error was thrown. From now on, there will be an error thrown that a file was missing and not satisfied. This will catch things like dangling symlinks. Modified Paths: -------------- csw/mgar/gar/v2/lib/python/checkpkg_lib.py Modified: csw/mgar/gar/v2/lib/python/checkpkg_lib.py =================================================================== --- csw/mgar/gar/v2/lib/python/checkpkg_lib.py 2014-03-01 12:09:22 UTC (rev 23091) +++ csw/mgar/gar/v2/lib/python/checkpkg_lib.py 2014-03-01 12:09:29 UTC (rev 23092) @@ -633,11 +633,21 @@ reasons_by_pkg_by_pkgname = {} pkgs_by_reasons_by_pkgname = {} needed_pkgs = copy.deepcopy(needed_pkgs) + unsatisfied_needed_files = [] # Resolving files into packages and adding to the common data structure. - for pkgname, full_path, reason in needed_files: - needed_pkgs_tmp = checkpkg_interface.GetPkgByPath(full_path) - for needed_pkgname in needed_pkgs_tmp: - needed_pkgs.append(NeededPackage(pkgname, needed_pkgname, reason)) + for needed_file in needed_files: + pkgname, full_path, reason = needed_file + logging.debug('_ReportDependencies(): processing %r %r %r', pkgname, + full_path, reason) + needed_pkgnames = checkpkg_interface.GetPkgByPath(full_path) + if needed_pkgnames: + for needed_pkgname in needed_pkgnames: + needed_pkg = NeededPackage(pkgname, needed_pkgname, reason) + logging.debug('Need package %r', needed_pkg) + needed_pkgs.append(needed_pkg) + else: + logging.warning('Did not find packages for %r', full_path) + unsatisfied_needed_files.append(needed_file) for pkgname, needed_pkgname, reason in needed_pkgs: reasons_by_pkg_by_pkgname.setdefault(pkgname, {}) reasons_by_pkg_by_pkgname[pkgname].setdefault(needed_pkgname, []) @@ -691,6 +701,14 @@ if alternatives: messenger.SuggestGarLine("# (end of the list of alternative dependencies)") + # Files that were declared as needed, but we did not find any packages + # providing these files. + for unsatisfied_file in unsatisfied_needed_files: + checkpkg_interface.ReportErrorForPkgname( + unsatisfied_file.pkgname, + 'file-needed-but-no-package-satisfies-it', + '%s %s' % (unsatisfied_file.full_path, unsatisfied_file.reason)) + def _ReportMissingDependencies(self, error_mgr, pkgname, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From wahwah at users.sourceforge.net Sat Mar 1 13:54:36 2014 From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net) Date: Sat, 1 Mar 2014 12:54:36 +0000 Subject: SF.net SVN: gar:[23093] csw/mgar/pkg/google-gflags/trunk/Makefile Message-ID: <3fbndL2PzNz12C@mail.opencsw.org> Revision: 23093 http://sourceforge.net/p/gar/code/23093 Author: wahwah Date: 2014-03-01 12:54:34 +0000 (Sat, 01 Mar 2014) Log Message: ----------- google-gflags/trunk: Created gflags_dev Modified Paths: -------------- csw/mgar/pkg/google-gflags/trunk/Makefile Modified: csw/mgar/pkg/google-gflags/trunk/Makefile =================================================================== --- csw/mgar/pkg/google-gflags/trunk/Makefile 2014-03-01 12:09:29 UTC (rev 23092) +++ csw/mgar/pkg/google-gflags/trunk/Makefile 2014-03-01 12:54:34 UTC (rev 23093) @@ -27,19 +27,23 @@ MERGE_DIRS_isa-sparcv9 = $(libdir) MERGE_DIRS_isa-amd64 = $(libdir) - PACKAGES += CSWlibgflags2 PKGFILES_CSWlibgflags2 += $(call baseisadirs,$(libdir),libgflags\.so\.2(\.\d+)*) SPKG_DESC_CSWlibgflags2 += $(DESCRIPTION), libgflags.so.2 RUNTIME_DEP_PKGS_CSWlibgflags2 += CSWlibgcc-s1 RUNTIME_DEP_PKGS_CSWlibgflags2 += CSWlibstdc++6 -RUNTIME_DEP_PKGS_CSWgflags += CSWlibgflags2 PACKAGES += CSWlibgflags-nothreads2 PKGFILES_CSWlibgflags-nothreads2 += $(call baseisadirs,$(libdir),libgflags_nothreads\.so\.2(\.\d+)*) SPKG_DESC_CSWlibgflags-nothreads2 += $(DESCRIPTION), libgflags_nothreads.so.2 RUNTIME_DEP_PKGS_CSWlibgflags-nothreads2 += CSWlibgcc-s1 RUNTIME_DEP_PKGS_CSWlibgflags-nothreads2 += CSWlibstdc++6 -RUNTIME_DEP_PKGS_CSWgflags += CSWlibgflags-nothreads2 +PACKAGES += CSWgflags-dev +SPKG_DESC_CSWgflags-dev = $(DESCRIPTION) +OBSOLETED_BY_CSWgflags-dev = CSWgflags +RUNTIME_DEP_PKGS_CSWgflags-dev += CSWlibgflags2 +RUNTIME_DEP_PKGS_CSWgflags-dev += CSWlibgflags-nothreads2 +CHECKPKG_OVERRIDES_CSWgflags-dev += file-with-bad-content|/usr/local|root/opt/csw/bin/gflags_completions.sh + include gar/category.mk This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From wahwah at users.sourceforge.net Sat Mar 1 14:14:55 2014 From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net) Date: Sat, 1 Mar 2014 13:14:55 +0000 Subject: SF.net SVN: gar:[23094] csw/mgar/gar/v2/lib/python/rest.py Message-ID: <3fbp4p1HfDz169@mail.opencsw.org> Revision: 23094 http://sourceforge.net/p/gar/code/23094 Author: wahwah Date: 2014-03-01 13:14:53 +0000 (Sat, 01 Mar 2014) Log Message: ----------- checkpkg: rest.py Move debug logging back to debug Modified Paths: -------------- csw/mgar/gar/v2/lib/python/rest.py Modified: csw/mgar/gar/v2/lib/python/rest.py =================================================================== --- csw/mgar/gar/v2/lib/python/rest.py 2014-03-01 12:54:34 UTC (rev 23093) +++ csw/mgar/gar/v2/lib/python/rest.py 2014-03-01 13:14:53 UTC (rev 23094) @@ -246,7 +246,7 @@ exceptions=(RestCommunicationError, pycurl.error)) def GetBlob(self, tag, md5_sum): url = self.releases_url + "/blob/%s/%s/" % (tag, md5_sum) - logging.warning('GetBlob() url=%r', url) + logging.debug('GetBlob() url=%r', url) c = pycurl.Curl() d = StringIO() h = StringIO() @@ -258,13 +258,13 @@ c.setopt(c.VERBOSE, 1) c.perform() http_code = c.getinfo(pycurl.HTTP_CODE) - logging.warning( + logging.debug( "curl getinfo: %s %s %s", type(http_code), http_code, c.getinfo(pycurl.EFFECTIVE_URL)) c.close() - logging.warning("HTTP code: %s", http_code) + logging.debug("HTTP code: %s", http_code) if http_code == 401: raise RestCommunicationError("Received HTTP code {0}".format(http_code)) successful = (http_code >= 200 and http_code <= 299) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From wahwah at users.sourceforge.net Sat Mar 1 17:05:00 2014 From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net) Date: Sat, 1 Mar 2014 16:05:00 +0000 Subject: SF.net SVN: gar:[23095] csw/mgar/pkg/lang-python/gdata-python-client/trunk Message-ID: <3fbss210z4z1PS@mail.opencsw.org> Revision: 23095 http://sourceforge.net/p/gar/code/23095 Author: wahwah Date: 2014-03-01 16:04:54 +0000 (Sat, 01 Mar 2014) Log Message: ----------- lang-python/gdata-python-client/trunk: version bump Modified Paths: -------------- csw/mgar/pkg/lang-python/gdata-python-client/trunk/Makefile csw/mgar/pkg/lang-python/gdata-python-client/trunk/checksums Modified: csw/mgar/pkg/lang-python/gdata-python-client/trunk/Makefile =================================================================== --- csw/mgar/pkg/lang-python/gdata-python-client/trunk/Makefile 2014-03-01 13:14:53 UTC (rev 23094) +++ csw/mgar/pkg/lang-python/gdata-python-client/trunk/Makefile 2014-03-01 16:04:54 UTC (rev 23095) @@ -3,12 +3,10 @@ # $Id$ NAME = gdata-python-client -VERSION = 2.0.13 +VERSION = 2.0.18 CATEGORIES = python GARTYPE = v2 DESCRIPTION = Google Data Protocol, a REST-inspired technology -define BLURB -endef SPKG_SOURCEURL = http://code.google.com/apis/gdata/ MASTER_SITES = $(GOOGLE_MIRROR) DISTFILES = gdata-$(VERSION).tar.gz @@ -20,15 +18,8 @@ PATCHFILES += 0001-Remove-a-usr-local-reference.patch PACKAGES += CSWpy-gdata -CATALOGNAME_CSWpy-gdata = py_gdata SPKG_DESC_CSWpy-gdata = $(DESCRIPTION) INCOMPATIBLE_PKGS_CSWpy-gdata = CSWpygdata ARCHALL_CSWpy-gdata = 1 -PACKAGES += CSWpygdata -PKGFILES_CSWpygdata = NOFILES -SPKG_DESC_CSWpygdata = Do not release this package -ARCHALL_CSWpygdata = 1 -CHECKPKG_OVERRIDES_CSWpygdata += surplus-dependency|CSWpython - include gar/category.mk Modified: csw/mgar/pkg/lang-python/gdata-python-client/trunk/checksums =================================================================== --- csw/mgar/pkg/lang-python/gdata-python-client/trunk/checksums 2014-03-01 13:14:53 UTC (rev 23094) +++ csw/mgar/pkg/lang-python/gdata-python-client/trunk/checksums 2014-03-01 16:04:54 UTC (rev 23095) @@ -1 +1 @@ -bbbc7efd4ad8bb04ff9c0fbf88a0e871 gdata-2.0.13.tar.gz +13b6e6dd8f9e3e9a8e005e05a8329408 gdata-2.0.18.tar.gz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From wahwah at users.sourceforge.net Sat Mar 1 19:49:46 2014 From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net) Date: Sat, 1 Mar 2014 18:49:46 +0000 Subject: SF.net SVN: gar:[23096] csw/mgar/gar/v2/lib/python/checkpkg_lib.py Message-ID: <3fbxWF1MJnz9K@mail.opencsw.org> Revision: 23096 http://sourceforge.net/p/gar/code/23096 Author: wahwah Date: 2014-03-01 18:49:45 +0000 (Sat, 01 Mar 2014) Log Message: ----------- checkpkg: Don't report missing /o/c/bin/isaexec The CSWisaexec package has no files in it, /opt/csw/bin/isaexec is in a way owned by CSWisaexec, but the file is put in place by the postinstall script, not via pkgmap. Modified Paths: -------------- csw/mgar/gar/v2/lib/python/checkpkg_lib.py Modified: csw/mgar/gar/v2/lib/python/checkpkg_lib.py =================================================================== --- csw/mgar/gar/v2/lib/python/checkpkg_lib.py 2014-03-01 16:04:54 UTC (rev 23095) +++ csw/mgar/gar/v2/lib/python/checkpkg_lib.py 2014-03-01 18:49:45 UTC (rev 23096) @@ -704,6 +704,11 @@ # Files that were declared as needed, but we did not find any packages # providing these files. for unsatisfied_file in unsatisfied_needed_files: + # We need to ass a special case for isaexec, because + # /opt/csw/bin/isaexec in CSWisaexec is created in postinstall, and it + # isn't present in pkgmap, so it looks like the file is missing. + if unsatisfied_file.full_path == '/opt/csw/bin/isaexec': + continue checkpkg_interface.ReportErrorForPkgname( unsatisfied_file.pkgname, 'file-needed-but-no-package-satisfies-it', This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From wahwah at users.sourceforge.net Sat Mar 1 19:49:55 2014 From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net) Date: Sat, 1 Mar 2014 18:49:55 +0000 Subject: SF.net SVN: gar:[23097] csw/mgar/gar/v2/lib/python/rest.py Message-ID: <3fbxWH6h6lz9m@mail.opencsw.org> Revision: 23097 http://sourceforge.net/p/gar/code/23097 Author: wahwah Date: 2014-03-01 18:49:55 +0000 (Sat, 01 Mar 2014) Log Message: ----------- checkpkg: Retry GetPkgByMd5 Apache/HTTP can be flaky, so retry HTTP requests in GetPkgByMd5. (Failures have been observed on the buildfarm.) Modified Paths: -------------- csw/mgar/gar/v2/lib/python/rest.py Modified: csw/mgar/gar/v2/lib/python/rest.py =================================================================== --- csw/mgar/gar/v2/lib/python/rest.py 2014-03-01 18:49:45 UTC (rev 23096) +++ csw/mgar/gar/v2/lib/python/rest.py 2014-03-01 18:49:55 UTC (rev 23097) @@ -48,6 +48,7 @@ if not re.match(r'^[0-9a-f]{32}$', md5_sum): raise ArgumentError('Passed argument is not a valid md5 sum: %r' % md5_sum) + @retry_decorator.Retry(tries=DEFAULT_TRIES, exceptions=(RestCommunicationError, httplib.BadStatusLine)) def GetPkgByMd5(self, md5_sum): self.ValidateMd5(md5_sum) url = self.pkgdb_url + "/srv4/%s/" % md5_sum This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From wahwah at users.sourceforge.net Sat Mar 1 19:50:03 2014 From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net) Date: Sat, 1 Mar 2014 18:50:03 +0000 Subject: SF.net SVN: gar:[23098] csw/mgar/gar/v2/lib/web/pkgdb_web.py Message-ID: <3fbxWT5KPCzG6@mail.opencsw.org> Revision: 23098 http://sourceforge.net/p/gar/code/23098 Author: wahwah Date: 2014-03-01 18:50:02 +0000 (Sat, 01 Mar 2014) Log Message: ----------- pkgdb-web: Display pkgmap in fixed font Since we're back in good shape now, we can display pkgmap on the package metadata page. Modified Paths: -------------- csw/mgar/gar/v2/lib/web/pkgdb_web.py Modified: csw/mgar/gar/v2/lib/web/pkgdb_web.py =================================================================== --- csw/mgar/gar/v2/lib/web/pkgdb_web.py 2014-03-01 18:49:55 UTC (rev 23097) +++ csw/mgar/gar/v2/lib/web/pkgdb_web.py 2014-03-01 18:50:02 UTC (rev 23098) @@ -123,8 +123,12 @@ archs = models.Architecture.select(models.Architecture.q.name!='all') else: archs = [pkg.arch] - # pkgmap is disabled for now. + pkgmap = [] + for pkgmap_entry in pkg_stats['pkgmap']: + pkgmap_entry = representations.PkgmapEntry._make(pkgmap_entry) + pkgmap.append(pkgmap_entry.line) + for catrel in catrels: for arch in archs: for osrel in osrels: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. From wahwah at users.sourceforge.net Sat Mar 1 20:40:15 2014 From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net) Date: Sat, 1 Mar 2014 19:40:15 +0000 Subject: SF.net SVN: gar:[23099] csw/mgar/gar/v2/lib/python Message-ID: <3fbydQ3Ht7zXv@mail.opencsw.org> Revision: 23099 http://sourceforge.net/p/gar/code/23099 Author: wahwah Date: 2014-03-01 19:40:15 +0000 (Sat, 01 Mar 2014) Log Message: ----------- pkgdb: Fixes for the HTML generator Modified Paths: -------------- csw/mgar/gar/v2/lib/python/pkg-review-template.html csw/mgar/gar/v2/lib/python/pkgdb.py Modified: csw/mgar/gar/v2/lib/python/pkg-review-template.html =================================================================== --- csw/mgar/gar/v2/lib/python/pkg-review-template.html 2014-03-01 18:50:02 UTC (rev 23098) +++ csw/mgar/gar/v2/lib/python/pkg-review-template.html 2014-03-01 19:40:15 UTC (rev 23099) @@ -256,22 +256,22 @@