-#if os.path.exists("/export/mirror/pkgbrowser/pkgs/"+$pkg.basic_stats.md5_sum[:2]+"/"+$pkg.basic_stats.md5_sum+"/"+$pkg.pkginfo.PKG+"/root/"+$md.path)
- $md.path |
+#if os.path.exists("/export/mirror/pkgbrowser/pkgs/"+$pkg.basic_stats.md5_sum[:2]+"/"+$pkg.basic_stats.md5_sum+"/"+$pkg.pkginfo.PKG+"/root/"+$md[0])
+ $md[0] |
#else
- $md.path |
+ $md[0] |
#end if
- $md.mime_type |
+ $md[1] |
-#if "machine_id" in $md
- $hachoir_machines[$md.machine_id].name
+#if $md[2] is not None
+ $hachoir_machines[$md[2]].name
#else
#end if
@@ -418,7 +418,7 @@
#for entry in $pkg.pkgmap
-
- $entry.line
+ $entry[0]
#end for
Modified: buildfarm/bin/push-opencsw-to-mirror
===================================================================
--- buildfarm/bin/push-opencsw-to-mirror 2014-01-09 11:05:35 UTC (rev 671)
+++ buildfarm/bin/push-opencsw-to-mirror 2014-03-01 20:08:51 UTC (rev 672)
@@ -9,11 +9,13 @@
# The new mirror (as of 2011-09)
/opt/csw/bin/rsync -raHv --delete-after \
--rsync-path=/opt/csw/bin/rsync \
+ --exclude=MIRROR_LAST_SYNC \
/export/mirror/opencsw-official/ \
mirror@${push_target_host}:/vhost/mirror.opencsw.org/htdocs/opencsw
- /opt/csw/bin/rsync -raHv --delete-after \
- --rsync-path=/opt/csw/bin/rsync \
- /export/mirror/opencsw-future/ \
- mirror@${push_target_host}:/vhost/mirror.opencsw.org/htdocs/opencsw-future
+# Disable future, dam 18.12.2013
+# /opt/csw/bin/rsync -raHv --delete-after \
+# --rsync-path=/opt/csw/bin/rsync \
+# /export/mirror/opencsw-future/ \
+# mirror@${push_target_host}:/vhost/mirror.opencsw.org/htdocs/opencsw-future
done
Modified: buildfarm/bin/send-catalog-update-notifications
===================================================================
--- buildfarm/bin/send-catalog-update-notifications 2014-01-09 11:05:35 UTC (rev 671)
+++ buildfarm/bin/send-catalog-update-notifications 2014-03-01 20:08:51 UTC (rev 672)
@@ -22,6 +22,7 @@
# echo /home/web/bin/gar/lib/python/catalog_notifier.py --help
# /home/web/bin/gar/lib/python/catalog_notifier.py --help
+PYTHONPATH=/home/web/bin/gar \
/home/web/bin/gar/lib/python/catalog_notifier.py \
--url http://mirror.opencsw.org/opencsw/ \
-p /home/web/official-catalog-state.pickle \
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 23:57:29 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sat, 1 Mar 2014 22:57:29 +0000
Subject: SF.net SVN: gar:[23101] csw/mgar/pkg/lang-python
Message-ID: <3fc3151QpNzx1@mail.opencsw.org>
Revision: 23101
http://sourceforge.net/p/gar/code/23101
Author: wahwah
Date: 2014-03-01 22:57:25 +0000 (Sat, 01 Mar 2014)
Log Message:
-----------
markupsafe: Initial commit
Modified Paths:
--------------
csw/mgar/pkg/lang-python/markupsafe/trunk/Makefile
csw/mgar/pkg/lang-python/markupsafe/trunk/checksums
Added Paths:
-----------
csw/mgar/pkg/lang-python/markupsafe/
Modified: csw/mgar/pkg/lang-python/markupsafe/trunk/Makefile
===================================================================
--- csw/mgar/pkg/lang-python/jinja2/trunk/Makefile 2014-02-27 22:04:36 UTC (rev 23076)
+++ csw/mgar/pkg/lang-python/markupsafe/trunk/Makefile 2014-03-01 22:57:25 UTC (rev 23101)
@@ -2,179 +2,15 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
-## This file contains comments to guide you through various GAR settings.
-## Please remove unnecessary comments before committing your code to the code
-## repository. The comments to remove are marked with double hashes.
-## If you want to remove them all in-place, use:
-## gsed -i -e '/^##/d' Makefile
-##
-## For more information about GAR variables, please see:
-## https://sourceforge.net/apps/trac/gar/wiki/GAR%20Variable%20Reference
-##
-NAME = Jinja2
-VERSION = 2.5.5
-##
-## The category that your software fits in. This is not a descriptive field, but
-## influences the build process. Depending on the CATEGORIES setting, different
-## Makefiles are included from gar/categories/ in your trunk directory, which
-## adjust the build settings for the respective category.
-##
-## Possible settings are:
-## apps, cpan, devel, gnome, java, kde, lang, lib, meta, net, python, server,
-## utils, x11, xfce, xorg, xtra
+NAME = MarkupSafe
+VERSION = 0.18
CATEGORIES = python
GARTYPE = v2
-##
-## A one-line description of the package, which will appear in the pkginfo.
-DESCRIPTION = A small but fast and easy to use stand-alone template engine
-##
-## A longer description of the package. This is only for descriptive purposes
-## inside the Makefile and is not used elsewhere.
-define BLURB
-endef
-##
-## Upstream URL that should show up in the VENDOR field as well as on
-## http://opencsw.org/packages/.
-##
-## Whitespace-separated list of URLs to download the source package from.
-## There are presets: $(SF_MIRRORS), $(GNU_MIRRORS) and $(GOOGLE_MIRROR),
-## $(PYPI_MIRROR)
-##
-## SF_PROJECT is required if you set $(MASTER_SITES) to $(SF_MIRRORS) and the
-## Sourceforge project name differs from $(NAME). Specifies the Sourceforge
-## project name of the software you wish to download.
-## SF_PROJECT =
-##
-## A list of space separated patch filenames from files/ that are to be applied
-## to the extracted software before the ./configure stage. Patches need to be
-## included in the DISTFILES variable as well.
-## PATCHFILES =
-##
-## Whitespace-separated list of files which comprise this build. mGAR will look
-## for the files in the $(FILEDIR) (trunk/files) directory and on the
-## $(MASTER_SITES).
+DESCRIPTION = XML/HTML/XHTML Markup safe string for Python
DISTFILES = $(DISTNAME).tar.gz
-PACKAGES = CSWpy-jinja2
-##
-## We define upstream file regex so we can be notifed of new upstream software
-## release
-## UFILES_REGEX = $(NAME)-(\d+(?:\.\d+)*).tar.gz
-##
-## Catalog name is the name to be used with pkg{-get,util} -i .
-## It is different from the system package name, which by convention is CSWpkgname.
-## CATALOGNAME =
-##
-## Set to 1 to mark the package as architecture-independent.
-ARCHALL = 1
-##
-## A list of files / patterns that should be excluded from the package. Amends
-## the default list of excluded filenames $(MERGE_EXCLUDE_DEFAULT), which
-## contains things like libtool .la files and files with a leading ~.
-## EXTRA_MERGE_EXCLUDE_FILES =
-##
-## A list of space separated package names that should be marked as
-## incompatible with the current package. This will go into the depend file.
-## When a user has one of the incompatible packages installed and installs
-## your package, he will be prompted that the incompatible package must be
-## removed. He will however not be prevented to install your package without
-## removing the conflicting package first.
-## INCOMPATIBLE_PKGS =
-##
-## The name of the license file that should be included in your package. Defaults
-## to COPYING. See http://sourceforge.net/apps/trac/gar/wiki/CopyRightfor details
-## on including and displaying licenses.
-## LICENSE =
-##
-## A list of space separated package names that should be produced from your
-## Makefile. This is used when a software has different components that can be
-## packaged and used individually (think runtime libraries, client tools, server
-## files, development headers). You don't need to set this when you just want to
-## produce one package.
-##
-## When you set this variable to include more than one package, you also need to
-## set PKGFILES_CSWpkgname for each package (except for the first one in your
-## $(PACKAGES) list) to define which files go into each package. The first
-## package from $(PACKAGES) one will hold all files that are not matched by
-## PKGFILES_ for other packages.
-## PACKAGES =
-##
-## If specified, GAR feeds the almost-final package prototype file to
-## $(PROTOTYPE_FILTER) and reads the final package prototype file from it.
-## $(PROTOTYPE_FILTER) is usually a sed/awk/perl one-liner, which was mostly used
-## to prepare the prototype file for use with cswclassutils (see
-## $(SPKG_CLASSES)). Now that there are convenience variables for cswclassutils,
-## you will rarely have to use this. A still valid use case would be to change
-## the file permissions of a file to be set-UID.
-## See http://wiki.opencsw.org/cswclassutils-package for common usage information
-## PROTOTYPE_FILTER =
-##
-## cswclassutils settings
-##
-## A list of action classes. Possible values are:
-## none cswpreserveconf cswcpsampleconf cswpycompile cswusergroup cswinitsmf
-## cswinetd cswetcservices
-## The class 'cswinitsmf' must be the last class listed. When you use cswclassutils,
-## you need to add CSWcswclassutils to RUNTIME_DEP_PKGS.
-## SPKG_CLASSES = none
-## Simplified settings for classes:
-## PRESERVECONF =
-## SAMPLECONF =
-## INITSMF =
-## USERGROUP =
-## ETCSERVICES =
-## INETDCONF =
-## A list of runtime package dependencies in the form of CSWfoo.
-## RUNTIME_DEP_PKGS =
-##
-## A list of packages necessary to build this package
-## BUILD_DEP_PKGS = $(RUNTIME_DEP_PKGS)
-##
-## When using non-empty $(PACKAGES):
-## RUNTIME_DEP_PKGS_CSWpkgname =
-## SPKG_DESC_CSWpkgname =
-## PKGFILES_CSWpkgname =
-## CATALOGNAME_CSWpkgname =
-##
-## A list of space separated directories where objects should be stripped in
-## addition to the bin/ and sbin/ directories.
-## STRIP_DIRS =
-##
-## Define a custom target for the configure phase. When you set this, the target
-## that will be used instead of configure: target, is named
-## configure-$(CONFIGURE_SCRIPTS) and you will need to define it in your Makefile
-## after including gar/gar.include.mk. If you want to skip the configure phase
-## completely (for example when your software doesn't need to be compiled) assign
-## this variable an empty value. The procedure works for configure, build,
-## install and test steps.
-## CONFIGURE_SCRIPTS =
-## BUILD_SCRIPTS =
-## INSTALL_SCRIPTS =
-## TEST_SCRIPTS =
-##
-## Compilation settings
-##
-## The build directory.
-## WORKSRC = $(WORKDIR)/$(NAME)-$(VERSION)
-##
-## BUILD_ARGS is passed as an argument to gmake during the build phase. Use this
-## for example, if you need to override Makefile variables.
-## BUILD_ARGS =
-##
-## Arguments passed to the ./configure script.
+PACKAGES = CSWpy-markupsafe
CONFIGURE_ARGS = $(DIRPATHS)
-##
-## BUILD64 =
-## CONFIGURE_ENV =
-## EXTRA_CFLAGS =
-## EXTRA_LDFLAGS =
-## EXTRA_INC =
-## EXTRA_LIB =
-## GARFLAVOR =
-## INSTALL_ARGS =
-## OPT_FLAGS_SOS = -xO3
-## OPT_FLAGS_GCC = -O2 -pipe
-##
-## The compiler to use. Defaults to SOS11, can be also: SOS12, GCC3, GCC4.
-## GARCOMPILER = SOS11
-##
+RUNTIME_DEP_PKGS_CSWpy-markupsafe += CSWlibgcc-s1
+RUNTIME_DEP_PKGS_CSWpy-markupsafe += CSWlibpython2-6-1-0
+RUNTIME_DEP_PKGS_CSWpy-markupsafe += CSWlibpython2-7-1-0
include gar/category.mk
Modified: csw/mgar/pkg/lang-python/markupsafe/trunk/checksums
===================================================================
--- csw/mgar/pkg/lang-python/jinja2/trunk/checksums 2014-02-27 22:04:36 UTC (rev 23076)
+++ csw/mgar/pkg/lang-python/markupsafe/trunk/checksums 2014-03-01 22:57:25 UTC (rev 23101)
@@ -1 +1 @@
-83b20c1eeb31f49d8e6392efae91b7d5 Jinja2-2.5.5.tar.gz
+f8d252fd05371e51dec2fe9a36890687 MarkupSafe-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 Sun Mar 2 12:16:35 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 2 Mar 2014 11:16:35 +0000
Subject: SF.net SVN: gar:[23102] csw/mgar/gar/v2/lib/python
Message-ID: <3fcMPy3SN6z1QK@mail.opencsw.org>
Revision: 23102
http://sourceforge.net/p/gar/code/23102
Author: wahwah
Date: 2014-03-02 11:16:33 +0000 (Sun, 02 Mar 2014)
Log Message:
-----------
find-obsolete-pkgs: Adapt to the new code
Additional changes:
- Instead of sometimes using CatSubSet and sometimes pkgname, let's always use
CatSubSet
- Split the code into smaller functions
TODO ideas:
1. Provide a per-maintainer report, so people can know what they can drop or
rebuild.
2. Use the for-generation REST endpoint, because it's fast and provides all
the information necessary for calculation, and avoids the problem with
reverse dependency cache being stale.
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/catalog_notifier.py
csw/mgar/gar/v2/lib/python/find_obsolete_pkgs.py
csw/mgar/gar/v2/lib/python/safe_remove_package.py
Modified: csw/mgar/gar/v2/lib/python/catalog_notifier.py
===================================================================
--- csw/mgar/gar/v2/lib/python/catalog_notifier.py 2014-03-01 22:57:25 UTC (rev 23101)
+++ csw/mgar/gar/v2/lib/python/catalog_notifier.py 2014-03-02 11:16:33 UTC (rev 23102)
@@ -113,6 +113,7 @@
)
for label, pkg_list in labels_and_lists:
for pkg in pkg_list:
+ # This is inefficient: it pulls down the whole package just to fetch the maintainer's email.
maintainer = rest_client.GetMaintainerByMd5(pkg["md5sum"])
maintainer_email = maintainer["maintainer_email"]
pkgs_by_maintainer.setdefault(maintainer_email, {})
Modified: csw/mgar/gar/v2/lib/python/find_obsolete_pkgs.py
===================================================================
--- csw/mgar/gar/v2/lib/python/find_obsolete_pkgs.py 2014-03-01 22:57:25 UTC (rev 23101)
+++ csw/mgar/gar/v2/lib/python/find_obsolete_pkgs.py 2014-03-02 11:16:33 UTC (rev 23102)
@@ -1,110 +1,203 @@
#!/opt/csw/bin/python -t -O
+"""Compare two catalog releases and show:
-''' Compare two different catalog releases and show:
- - Which packages need rebuilding (so they don't depend on the _stub any more)
- - Which _stub packages can be removed
- - Which packages can declare incompatibility on the old packages, so that the old packages can be removed
+- Which packages need rebuilding (so they don't depend on the _stub any more)
+- Which _stub packages can be removed
+- Which packages can declare incompatibility on the old packages, so that the
+ old packages can be removed
- set PYTHONPATH=/path/to/.buildsys/v2
- alternatively can used: sys.path.append('/path/to/.buildsys/v2')
+set PYTHONPATH=/path/to/.buildsys/v2
+alternatively can used: sys.path.append('/path/to/.buildsys/v2')
- ToDO:
- - read the sub hint from catalog
- * if stub has consumer -> rebuild
- * if stub has no consumer and the stub is present in the old/"from" catalog -> remove
- * if stub has no consumer and the stub does not yet present in the old/"from" catalog -> keep
-'''
+Overview:
+- read the stub hint from catalog
+ * if any packages depend on the stub -> rebuild them
+ * if nothing depends on the stub and the stub is present in the old/"from"
+ catalog -> remove
+ * if nothing depends on the stub and the stub does not yet present in the
+ old/"from" catalog -> keep
-import optparse
-import pprint
+TODO:
+- Group packages to rebuild by maintainer, and provide a per-maintainer report.
+"""
+
+import cjson
import gdbm
import logging
-import sys
+import optparse
import os
+import pprint
+import re
import subprocess
+import sys
+
from collections import namedtuple
-import re
-import cjson
-from lib.python import rest
from lib.python import common_constants
from lib.python import configuration
+from lib.python import rest
from lib.python.safe_remove_package import RevDeps
-logging.basicConfig(format='%(asctime)s %(levelname)s:%(message)s')
+logging.basicConfig(format='%(levelname)s %(asctime)s %(filename)s:%(lineno)d %(message)s')
logger = logging.getLogger(__name__)
-oldcatrel = ''
-newcatrel = ''
datadir=configuration.CHECKPKG_DIR % os.environ
# fn_revdep = os.path.join(datadir,'RevDeps_%s_%s_%s.json')
fn_cat = os.path.join(datadir,'catalog_%s_%s_%s.json')
fn_removelst = 'PkgsToRemoveFrom_%s_%s_%s.lst'
fn_rebuildlst = 'PkgsToRebuildFrom_%s_%s_%s.lst'
-revdeplst = {}
-CatSubSet = namedtuple('CatSubSet','catalogname md5_sum version dependlist')
+CatSubSet = namedtuple('CatSubSet',
+ 'pkgname, catalogname, md5_sum, version, dependlist')
class CompCatalog(object):
- def __init__(self,name,arch,osrel):
- self.rest_client = rest.RestClient()
+ def __init__(self, name, arch, osrel):
+ config = configuration.GetConfig()
+ username, password = rest.GetUsernameAndPassword()
+ self.rest_client = rest.RestClient(
+ pkgdb_url=config.get('rest', 'pkgdb'),
+ releases_url=config.get('rest', 'releases'),
+ username=username,
+ password=password)
+
self.catrel = name
self.arch = arch
self.osrel = osrel
def __getCat(self, name,arch,osrel):
''' get dependcy list from catalog, read cached list if available '''
- catlst = {}
- if os.path.exists(fn_cat % (name,osrel,arch)):
+ pkg_by_pkgname = {}
+ disk_cache_path = fn_cat % (name, osrel, arch)
+ if os.path.exists(disk_cache_path):
logger.info('CompCatalog::getCat: use cached data: %s' % (fn_cat % (name,osrel,arch)))
- with open(fn_cat % (name,osrel,arch), "r") as fd:
- catlst = cjson.decode(fd.read())
+ with open(disk_cache_path) as fd:
+ data = cjson.decode(fd.read())
+ pkg_by_pkgname = {}
+ for pkgname, lst in data.iteritems():
+ lst[4] = tuple(lst[4])
+ pkg_by_pkgname[pkgname] = CatSubSet(*lst)
else:
cat = self.rest_client.GetCatalog(name,arch,osrel)
for pkg in cat:
+ pkgitems = self.rest_client.GetPkgstatsByMd5(pkg['md5_sum'])
+ pkgname = pkgitems['basic_stats']['pkgname']
try:
- pkgitems = self.rest_client.GetPkgstatsByMd5(pkg['md5_sum'])
pkgdeplst = [ i[0] for i in pkgitems['depends']]
- catlst[pkgitems['basic_stats']['pkgname']] = CatSubSet(pkg['catalogname'],pkg['md5_sum'],pkg['version'],pkgdeplst)
- except Exception as inst:
- logger.error("CompCatalog::getPkgStat: %s %s %s" , type(inst),pkg['catalogname'],pkg['md5_sum'])
- with open(fn_cat % (name,osrel,arch), "w") as fd:
- fd.write(cjson.encode(catlst))
- logger.info('CompCatalog::getCat: write cache file: %s' % (fn_cat % (name,osrel,arch)))
- return catlst
+ pkg_by_pkgname[pkgname] = CatSubSet(pkgname, pkg['catalogname'],
+ pkg['md5_sum'], pkg['version'],
+ tuple(pkgdeplst))
+ except Exception as exc:
+ logger.error("CompCatalog::getPkgStat: %s %s %s",
+ type(exc), pkg.catalogname, pkg.md5_sum)
+ with open(disk_cache_path, "w") as fd:
+ fd.write(cjson.encode(pkg_by_pkgname))
+ logger.info('CompCatalog::getCat: write cache file: %s'
+ % (fn_cat % (name,osrel,arch)))
+ return pkg_by_pkgname
def getCatalog(self):
return self.__getCat(self.catrel,self.arch,self.osrel)
+
def processCat(catrel,arch,osrel):
- revdeplst = {}
-
- logger.info("processCat: -> %s %s %s" % (catrel, arch, osrel))
+ logger.info("processCat: -> %r %r %r" % (catrel, arch, osrel))
cc = CompCatalog(catrel,arch,osrel)
- catlst = cc.getCatalog()
- logger.info("processCat: iterate on %s" % (catrel))
+ pkg_by_pkgname = cc.getCatalog()
+ logger.info("processCat: iterate on %r" % (catrel))
- ''' build reverse dependency list '''
- rd = RevDeps()
- for p in catlst.keys():
- revdeplst[p] = rd.RevDepsByPkg(catrel,arch,osrel,p)
+ # build reverse dependency list
+ rev_deps_access = RevDeps()
+ rev_deps_by_pkg = {}
+ for pkgname in pkg_by_pkgname:
+ pkg = pkg_by_pkgname[pkgname]
+ # logger.info('pkg: %r', pkg)
+ # RevDepsByPkg returns only md5 sums and pkgnames, so we need to map
+ # them back to CatSubSet
+ revdeps = rev_deps_access.RevDepsByPkg(catrel, arch, osrel, pkgname)
+ # rev_deps_by_pkg[pkg] = [pkg_by_pkgname[pkgname] for _, pkgname in revdeps]
+ revdep_pkgs = []
+ for _, pkgname in revdeps:
+ revdep_pkg = pkg_by_pkgname[pkgname]
+ revdep_pkgs.append(revdep_pkg)
+ try:
+ rev_deps_by_pkg[pkg] = revdep_pkgs
+ except TypeError as exc:
+ logging.fatal('pkg: %r', pkg)
+ raise
- logger.info("processCat: <- %s %s %s" % (catrel, arch, osrel))
- return catlst, revdeplst
+ logger.info("processCat: <- %r %r %r" % (catrel, arch, osrel))
+ return pkg_by_pkgname, rev_deps_by_pkg
-def main():
+
+def ComputeRemoveAndRebuild(oldcatrel, newcatrel, arch, osrel):
+ newcatlst, newrevdeplst = processCat(newcatrel,arch,osrel)
+ oldcatlst, oldrevdeplst = processCat(oldcatrel,arch,osrel)
+
+ to_remove_candidates = []
+ rebuildlst = set()
+ logger.debug(' process dependecies in %s' % newcatrel)
+ for pkg in newrevdeplst:
+ # Checking stub packages
+ catalogname = pkg.catalogname
+ if catalogname.endswith("_stub"):
+ if not newrevdeplst[pkg]:
+ # Stub has no reverse dependencies, so it will be considered for removal.
+ to_remove_candidates.append(pkg)
+ logger.debug("{0}({1}) has no consumer".format(pkg.pkgname, catalogname))
+ else:
+ # Reverse dependencies of this stub need to be rebuilt.
+ for new_rev_dep in newrevdeplst[pkg]:
+ is_newpkg_stub = new_rev_dep.catalogname.endswith("_stub")
+ if new_rev_dep not in rebuildlst and not is_newpkg_stub:
+ rebuildlst.add(new_rev_dep)
+ logger.info(" REBUILD: {3}, it still depends on {0} ({1}) in {2}"
+ .format(pkg.pkgname, pkg.catalogname, newcatrel,
+ '%s/%s' % (new_rev_dep.pkgname, new_rev_dep.catalogname)))
+ pkgs_to_drop = []
+ logger.debug(' process dependecies in %s' % newcatrel)
+
+ for pkg in to_remove_candidates:
+ if pkg in oldrevdeplst:
+ # this package is already a _stub in the old catalog,
+ # and therefore can be dropped
+ pkgs_to_drop.append(pkg)
+ logger.info(" DROP : {0}/{1} from {2}"
+ .format(pkg.pkgname, pkg.catalogname, newcatrel))
+ else:
+ logger.info(" KEEP : {0} not a _stub package in {1}"
+ .format(pkg.pkgname, oldcatrel))
+ return pkgs_to_drop, rebuildlst
+
+
+def WriteToTextFiles(pkgs_to_drop, pkgs_to_rebuild, newcatrel, arch, osrel):
+ print ('write %s' % (fn_removelst % (newcatrel,osrel,arch)))
+ with open(fn_removelst % (newcatrel, osrel, arch), "w") as fd:
+ for pkg in sorted(pkgs_to_drop, key=lambda p: p.catalogname):
+ fd.write(pkg.catalogname + '\n')
+ logger.info("number of packages to remove: %d" % len(pkgs_to_drop))
+ print ('write %s' % (fn_pkgs_to_rebuild % (newcatrel,osrel,arch)))
+ with open(fn_pkgs_to_rebuild % (newcatrel,osrel,arch), "w") as fd:
+ for pkg in sorted(pkgs_to_rebuild, key=lambda p: p.catalogname):
+ fd.write(pkg.catalogname+'\n')
+ logger.info("packages to rebuild: %d" % len(pkgs_to_rebuild))
+
+
+def GetCLIOptions():
parser = optparse.OptionParser()
parser.add_option("--debug", dest="debug", action="store_true")
parser.add_option("--verbose", dest="verbose", action="store_true")
- parser.add_option("--to-catalog-release", dest="newcatalog", default='kiel',
+ parser.add_option("--to-catalog-release", dest="newcatalog", default='unstable',
help='set name of catalog to fetch', metavar = 'catalogname')
- parser.add_option("--from-catalog-release", dest="oldcatalog", default='dublin',
- help='set name of previous (older) catalog to fetch', metavar = 'old catalogname')
+ parser.add_option("--from-catalog-release", dest="oldcatalog", default='kiel',
+ help='set name of previous (older) catalog to fetch',
+ metavar = 'old catalogname')
parser.add_option("--os-arch", dest="arch", default='i386',
- help='set name of architecture (sparc|i386) to fetch', metavar = 'OS Architecture')
+ help='set name of architecture (sparc|i386) to fetch',
+ metavar = 'OS Architecture')
parser.add_option("--os-release", dest="osrel", default='SunOS5.10',
- help='set os release to fetch (SunOS5.10|SunOS5.11)', metavar = 'OS Release')
+ help='set os release to fetch (SunOS5.10|SunOS5.11)',
+ metavar = 'OS Release')
options, args = parser.parse_args()
opterror = False
if options.verbose:
@@ -133,55 +226,15 @@
opterror = True
if opterror:
sys.exit(1)
+ return oldcatrel, newcatrel, arch, osrel
- newcatlst, newrevdeplst = processCat(newcatrel,arch,osrel)
- oldcatlst, oldrevdeplst = processCat(oldcatrel,arch,osrel)
- to_remove_candidates = []
- rebuildlst = []
- logger.debug(' process dependecies in %s' % newcatrel)
- for p in newrevdeplst.keys():
- ''' check stub packages '''
- catalogname = CatSubSet(*newcatlst[p]).catalogname
- if catalogname.endswith("_stub"):
- if not newrevdeplst[p]:
- to_remove_candidates.append(p)
- logger.debug("{0}({1}) has no consumer".format(p,catalogname))
- else:
- for dp in newrevdeplst[p]:
- dpkg = dp[1]
- if dpkg not in rebuildlst and not CatSubSet(*newcatlst[dpkg]).catalogname.endswith("_stub"):
- rebuildlst.append(dpkg)
- logger.info(" REBUILD: {3}\n\t\t\tthese still use {0} ({1}) in {2}\n"
- .format(p,CatSubSet(*newcatlst[p]).catalogname,newcatrel,
- [ dp[1] for dp in newrevdeplst[p]]))
- reallyremovelst = []
- logger.debug(' process dependecies in %s' % newcatrel)
+def main():
+ oldcatrel, newcatrel, arch, osrel = GetCLIOptions()
+ reallyremovelst, rebuildlst = ComputeRemoveAndRebuild(oldcatrel, newcatrel,
+ arch, osrel)
+ WriteToTextFiles(reallyremovelst, rebuildlst, newcatrel, arch, osrel)
- for p in to_remove_candidates:
- if p in oldrevdeplst: # this package is already a _stub in oldcatalog -> drop
- reallyremovelst.append(p)
- logger.info(" DROP : %s from %s" % (p,newcatrel))
- else:
- logger.info(" KEEP : {0} not a _stub package in {1}".format(p,oldcatrel))
- print ('write %s' % (fn_removelst % (newcatrel,osrel,arch)))
- rmcnt = 0
- remove_catnames = sorted(CatSubSet(*newcatlst[rp]).catalogname for rp in reallyremovelst)
- with open(fn_removelst % (newcatrel,osrel,arch), "w") as fd:
- for c in remove_catnames:
- fd.write(c+'\n')
- rmcnt = rmcnt + 1
- logger.info("packages to remove: %d" % rmcnt)
- print ('write %s' % (fn_rebuildlst % (newcatrel,osrel,arch)))
- rbcnt = 0
- rebuild_catnames = sorted(CatSubSet(*newcatlst[rp]).catalogname for rp in rebuildlst)
- with open(fn_rebuildlst % (newcatrel,osrel,arch), "w") as fd:
- for c in rebuild_catnames:
- fd.write(c+'\n')
- rbcnt = rbcnt + 1
- logger.info("packages to rebuild: %d" % rbcnt)
-
-
if __name__ == '__main__':
main()
Modified: csw/mgar/gar/v2/lib/python/safe_remove_package.py
===================================================================
--- csw/mgar/gar/v2/lib/python/safe_remove_package.py 2014-03-01 22:57:25 UTC (rev 23101)
+++ csw/mgar/gar/v2/lib/python/safe_remove_package.py 2014-03-02 11:16:33 UTC (rev 23102)
@@ -45,9 +45,10 @@
UNSTABLE = "unstable"
EVERY_N_DOTS = 100
datadir = configuration.CHECKPKG_DIR % os.environ
-fn_revdeps = os.path.join(datadir,'revdeps-%s-%s-%s.json')
-fn_pkgstatsdb = os.path.join(datadir,"pkgstats")
+fn_revdeps = os.path.join(datadir, 'revdeps-%s-%s-%s.json')
+fn_pkgstatsdb = os.path.join(datadir, 'pkgstats')
+
class Error(Exception):
"""A generic error."""
@@ -62,10 +63,18 @@
RevDepsSet = namedtuple('RevDepsSet','md5_sum pkgname')
'''
- def __init__(self):
+ def __init__(self, rest_client=None):
self.cached_catalogs = {}
- self.rest_client = rest.RestClient()
self.cp = rest.CachedPkgstats(fn_pkgstatsdb)
+ self.rest_client = rest_client
+ if self.rest_client is None:
+ config = configuration.GetConfig()
+ username, password = rest.GetUsernameAndPassword()
+ self.rest_client = rest.RestClient(
+ pkgdb_url=config.get('rest', 'pkgdb'),
+ releases_url=config.get('rest', 'releases'),
+ username=username,
+ password=password)
def MakeRevIndex(self, catrel, arch, osrel, quiet=False):
key = (catrel, arch, osrel)
@@ -88,7 +97,7 @@
short_data = self.cp.GetDeps(md5)
pkgname = short_data["pkgname"]
for dep_pkgname, _ in short_data["deps"]:
- rev_dep_set = rev_deps.setdefault(dep_pkgname, list())
+ rev_dep_set = rev_deps.setdefault(dep_pkgname, [])
rev_dep_set.append((md5, pkgname))
if not quiet and not counter % EVERY_N_DOTS:
sys.stdout.write(".")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 2 12:20:24 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 2 Mar 2014 11:20:24 +0000
Subject: SF.net SVN: opencsw:[673] buildfarm/bin/find-obsolete-pkgs
Message-ID: <3fcMVB0Crmz1Tq@mail.opencsw.org>
Revision: 673
http://sourceforge.net/p/opencsw/code/673
Author: wahwah
Date: 2014-03-02 11:20:21 +0000 (Sun, 02 Mar 2014)
Log Message:
-----------
find-obsolete-pkgs: More parametrized
You can change the names of catalog releases and everything else will follow.
Modified Paths:
--------------
buildfarm/bin/find-obsolete-pkgs
Modified: buildfarm/bin/find-obsolete-pkgs
===================================================================
--- buildfarm/bin/find-obsolete-pkgs 2014-03-01 20:08:51 UTC (rev 672)
+++ buildfarm/bin/find-obsolete-pkgs 2014-03-02 11:20:21 UTC (rev 673)
@@ -1,24 +1,30 @@
#!/bin/sh
-PYTHONPATH=/home/web/bin/gar
-export PYTHONPATH
+set -u
# /opt/csw/bin/python -c 'import json, sys; a = json.loads(sys.stdin.read()); print "\n".join(" ".join(x) for x in a)' | \
# while read R A C; do \
HTMLDIR=/opt/csw/apache2/share/htdocs/buildfarm/obsolete-pkgs
+# We're modifying unstable, but since kiel/testing periodically synced, we need
+# to use dublin/stable as the base catalog release used for drop/rebuild
+# calculations.
+from_catrel=dublin
+to_catrel=unstable
+
mkdir -p ${HTMLDIR}.new
cd ${HTMLDIR}.new
for A in sparc i386; do
for R in SunOS5.9 SunOS5.10 SunOS5.11; do
- echo "dublin -> unstable $A $R"
- /home/web/bin/gar/lib/python/find_obsolete_pkgs.py \
- --verbose \
- --from-catalog-release=dublin \
- --to-catalog-release=unstable \
- --os-arch=$A --os-release=$R \
- >${HTMLDIR}.new/unstable2kiel-${A}-${R}.log 2>&1
+ echo "${from_catrel} -> ${to_catrel} $A $R"
+ PYTHONPATH="/home/web/bin/gar" \
+ /home/web/bin/gar/lib/python/find_obsolete_pkgs.py \
+ --verbose \
+ --from-catalog-release="${from_catrel}" \
+ --to-catalog-release="${to_catrel}" \
+ --os-arch="$A" --os-release="$R" \
+ >${HTMLDIR}.new/${from_catrel}2${to_catrel}-${A}-${R}.log 2>&1
done
done
mv ${HTMLDIR} ${HTMLDIR}.old
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 2 15:33:07 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 2 Mar 2014 14:33:07 +0000
Subject: SF.net SVN: gar:[23103] csw/mgar/pkg/opencsw-manual/trunk/files/
for-maintainers
Message-ID: <3fcRmZ4vKHzRL@mail.opencsw.org>
Revision: 23103
http://sourceforge.net/p/gar/code/23103
Author: wahwah
Date: 2014-03-02 14:33:06 +0000 (Sun, 02 Mar 2014)
Log Message:
-----------
opencsw-manual: information about catalog staging
Modified Paths:
--------------
csw/mgar/pkg/opencsw-manual/trunk/files/for-maintainers/index.rst
Added Paths:
-----------
csw/mgar/pkg/opencsw-manual/trunk/files/for-maintainers/catalog-staging.rst
Added: csw/mgar/pkg/opencsw-manual/trunk/files/for-maintainers/catalog-staging.rst
===================================================================
--- csw/mgar/pkg/opencsw-manual/trunk/files/for-maintainers/catalog-staging.rst (rev 0)
+++ csw/mgar/pkg/opencsw-manual/trunk/files/for-maintainers/catalog-staging.rst 2014-03-02 14:33:06 UTC (rev 23103)
@@ -0,0 +1,24 @@
+---------------
+Catalog staging
+---------------
+
+For releases and staging overview, see the releases and staging wiki
+page[#releases-and-staging-wiki]_, written in 2009. You can also see the README
+file on the `OpenCSW master mirror`_.
+
+* unstable is a working catalog where package maintainers can make changes at
+ will. It is regenerated every few hours.
+* testing is a symlink to a named release. It gets periodically updated from the
+ unstable catalog. As of March 2014, it is done infrequently, by a human.
+* stable is a symlink to a named release. Once a stable release is made, it is
+ not updated unless there are important security updates to be pushed.
+
+Footnotes
+---------
+.. [#releases-and-staging-wiki]
+ `Releases and staging wiki page`_
+.. _Releases and staging wiki page:
+ http://sourceforge.net/apps/trac/gar/browser/csw/mgar/gar/v2/
+ lib/python/sharedlib_utils_test.py#L13
+.. _OpenCSW master mirror:
+ http://mirror.opencsw.org/opencsw/
Modified: csw/mgar/pkg/opencsw-manual/trunk/files/for-maintainers/index.rst
===================================================================
--- csw/mgar/pkg/opencsw-manual/trunk/files/for-maintainers/index.rst 2014-03-02 11:16:33 UTC (rev 23102)
+++ csw/mgar/pkg/opencsw-manual/trunk/files/for-maintainers/index.rst 2014-03-02 14:33:06 UTC (rev 23103)
@@ -17,3 +17,4 @@
package-naming
buildfarm-setup
32-bit-and-64-bit
+ staging
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 2 17:09:51 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 2 Mar 2014 16:09:51 +0000
Subject: SF.net SVN: gar:[23104] csw/mgar/pkg/lang-python/jinja2/trunk
Message-ID: <3fcTwG1zgXzm6@mail.opencsw.org>
Revision: 23104
http://sourceforge.net/p/gar/code/23104
Author: wahwah
Date: 2014-03-02 16:09:48 +0000 (Sun, 02 Mar 2014)
Log Message:
-----------
lang-python/jinja2/trunk: Version bump to 2.7.2
Modified Paths:
--------------
csw/mgar/pkg/lang-python/jinja2/trunk/Makefile
csw/mgar/pkg/lang-python/jinja2/trunk/checksums
Modified: csw/mgar/pkg/lang-python/jinja2/trunk/Makefile
===================================================================
--- csw/mgar/pkg/lang-python/jinja2/trunk/Makefile 2014-03-02 14:33:06 UTC (rev 23103)
+++ csw/mgar/pkg/lang-python/jinja2/trunk/Makefile 2014-03-02 16:09:48 UTC (rev 23104)
@@ -2,179 +2,13 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
-## This file contains comments to guide you through various GAR settings.
-## Please remove unnecessary comments before committing your code to the code
-## repository. The comments to remove are marked with double hashes.
-## If you want to remove them all in-place, use:
-## gsed -i -e '/^##/d' Makefile
-##
-## For more information about GAR variables, please see:
-## https://sourceforge.net/apps/trac/gar/wiki/GAR%20Variable%20Reference
-##
NAME = Jinja2
-VERSION = 2.5.5
-##
-## The category that your software fits in. This is not a descriptive field, but
-## influences the build process. Depending on the CATEGORIES setting, different
-## Makefiles are included from gar/categories/ in your trunk directory, which
-## adjust the build settings for the respective category.
-##
-## Possible settings are:
-## apps, cpan, devel, gnome, java, kde, lang, lib, meta, net, python, server,
-## utils, x11, xfce, xorg, xtra
+VERSION = 2.7.2
CATEGORIES = python
GARTYPE = v2
-##
-## A one-line description of the package, which will appear in the pkginfo.
DESCRIPTION = A small but fast and easy to use stand-alone template engine
-##
-## A longer description of the package. This is only for descriptive purposes
-## inside the Makefile and is not used elsewhere.
-define BLURB
-endef
-##
-## Upstream URL that should show up in the VENDOR field as well as on
-## http://opencsw.org/packages/.
-##
-## Whitespace-separated list of URLs to download the source package from.
-## There are presets: $(SF_MIRRORS), $(GNU_MIRRORS) and $(GOOGLE_MIRROR),
-## $(PYPI_MIRROR)
-##
-## SF_PROJECT is required if you set $(MASTER_SITES) to $(SF_MIRRORS) and the
-## Sourceforge project name differs from $(NAME). Specifies the Sourceforge
-## project name of the software you wish to download.
-## SF_PROJECT =
-##
-## A list of space separated patch filenames from files/ that are to be applied
-## to the extracted software before the ./configure stage. Patches need to be
-## included in the DISTFILES variable as well.
-## PATCHFILES =
-##
-## Whitespace-separated list of files which comprise this build. mGAR will look
-## for the files in the $(FILEDIR) (trunk/files) directory and on the
-## $(MASTER_SITES).
DISTFILES = $(DISTNAME).tar.gz
PACKAGES = CSWpy-jinja2
-##
-## We define upstream file regex so we can be notifed of new upstream software
-## release
-## UFILES_REGEX = $(NAME)-(\d+(?:\.\d+)*).tar.gz
-##
-## Catalog name is the name to be used with pkg{-get,util} -i .
-## It is different from the system package name, which by convention is CSWpkgname.
-## CATALOGNAME =
-##
-## Set to 1 to mark the package as architecture-independent.
ARCHALL = 1
-##
-## A list of files / patterns that should be excluded from the package. Amends
-## the default list of excluded filenames $(MERGE_EXCLUDE_DEFAULT), which
-## contains things like libtool .la files and files with a leading ~.
-## EXTRA_MERGE_EXCLUDE_FILES =
-##
-## A list of space separated package names that should be marked as
-## incompatible with the current package. This will go into the depend file.
-## When a user has one of the incompatible packages installed and installs
-## your package, he will be prompted that the incompatible package must be
-## removed. He will however not be prevented to install your package without
-## removing the conflicting package first.
-## INCOMPATIBLE_PKGS =
-##
-## The name of the license file that should be included in your package. Defaults
-## to COPYING. See http://sourceforge.net/apps/trac/gar/wiki/CopyRightfor details
-## on including and displaying licenses.
-## LICENSE =
-##
-## A list of space separated package names that should be produced from your
-## Makefile. This is used when a software has different components that can be
-## packaged and used individually (think runtime libraries, client tools, server
-## files, development headers). You don't need to set this when you just want to
-## produce one package.
-##
-## When you set this variable to include more than one package, you also need to
-## set PKGFILES_CSWpkgname for each package (except for the first one in your
-## $(PACKAGES) list) to define which files go into each package. The first
-## package from $(PACKAGES) one will hold all files that are not matched by
-## PKGFILES_ for other packages.
-## PACKAGES =
-##
-## If specified, GAR feeds the almost-final package prototype file to
-## $(PROTOTYPE_FILTER) and reads the final package prototype file from it.
-## $(PROTOTYPE_FILTER) is usually a sed/awk/perl one-liner, which was mostly used
-## to prepare the prototype file for use with cswclassutils (see
-## $(SPKG_CLASSES)). Now that there are convenience variables for cswclassutils,
-## you will rarely have to use this. A still valid use case would be to change
-## the file permissions of a file to be set-UID.
-## See http://wiki.opencsw.org/cswclassutils-package for common usage information
-## PROTOTYPE_FILTER =
-##
-## cswclassutils settings
-##
-## A list of action classes. Possible values are:
-## none cswpreserveconf cswcpsampleconf cswpycompile cswusergroup cswinitsmf
-## cswinetd cswetcservices
-## The class 'cswinitsmf' must be the last class listed. When you use cswclassutils,
-## you need to add CSWcswclassutils to RUNTIME_DEP_PKGS.
-## SPKG_CLASSES = none
-## Simplified settings for classes:
-## PRESERVECONF =
-## SAMPLECONF =
-## INITSMF =
-## USERGROUP =
-## ETCSERVICES =
-## INETDCONF =
-## A list of runtime package dependencies in the form of CSWfoo.
-## RUNTIME_DEP_PKGS =
-##
-## A list of packages necessary to build this package
-## BUILD_DEP_PKGS = $(RUNTIME_DEP_PKGS)
-##
-## When using non-empty $(PACKAGES):
-## RUNTIME_DEP_PKGS_CSWpkgname =
-## SPKG_DESC_CSWpkgname =
-## PKGFILES_CSWpkgname =
-## CATALOGNAME_CSWpkgname =
-##
-## A list of space separated directories where objects should be stripped in
-## addition to the bin/ and sbin/ directories.
-## STRIP_DIRS =
-##
-## Define a custom target for the configure phase. When you set this, the target
-## that will be used instead of configure: target, is named
-## configure-$(CONFIGURE_SCRIPTS) and you will need to define it in your Makefile
-## after including gar/gar.include.mk. If you want to skip the configure phase
-## completely (for example when your software doesn't need to be compiled) assign
-## this variable an empty value. The procedure works for configure, build,
-## install and test steps.
-## CONFIGURE_SCRIPTS =
-## BUILD_SCRIPTS =
-## INSTALL_SCRIPTS =
-## TEST_SCRIPTS =
-##
-## Compilation settings
-##
-## The build directory.
-## WORKSRC = $(WORKDIR)/$(NAME)-$(VERSION)
-##
-## BUILD_ARGS is passed as an argument to gmake during the build phase. Use this
-## for example, if you need to override Makefile variables.
-## BUILD_ARGS =
-##
-## Arguments passed to the ./configure script.
CONFIGURE_ARGS = $(DIRPATHS)
-##
-## BUILD64 =
-## CONFIGURE_ENV =
-## EXTRA_CFLAGS =
-## EXTRA_LDFLAGS =
-## EXTRA_INC =
-## EXTRA_LIB =
-## GARFLAVOR =
-## INSTALL_ARGS =
-## OPT_FLAGS_SOS = -xO3
-## OPT_FLAGS_GCC = -O2 -pipe
-##
-## The compiler to use. Defaults to SOS11, can be also: SOS12, GCC3, GCC4.
-## GARCOMPILER = SOS11
-##
include gar/category.mk
Modified: csw/mgar/pkg/lang-python/jinja2/trunk/checksums
===================================================================
--- csw/mgar/pkg/lang-python/jinja2/trunk/checksums 2014-03-02 14:33:06 UTC (rev 23103)
+++ csw/mgar/pkg/lang-python/jinja2/trunk/checksums 2014-03-02 16:09:48 UTC (rev 23104)
@@ -1 +1 @@
-83b20c1eeb31f49d8e6392efae91b7d5 Jinja2-2.5.5.tar.gz
+df1581455564e97010e38bc792012aa5 Jinja2-2.7.2.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 Sun Mar 2 17:22:36 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 2 Mar 2014 16:22:36 +0000
Subject: SF.net SVN: gar:[23105] csw/mgar/pkg/bison/trunk/Makefile
Message-ID: <3fcVBs4LB5zqs@mail.opencsw.org>
Revision: 23105
http://sourceforge.net/p/gar/code/23105
Author: wahwah
Date: 2014-03-02 16:22:34 +0000 (Sun, 02 Mar 2014)
Log Message:
-----------
bison/trunk: remove dependency on CSWiconv, build for Solaris 9
Modified Paths:
--------------
csw/mgar/pkg/bison/trunk/Makefile
Property Changed:
----------------
csw/mgar/pkg/bison/trunk/Makefile
Modified: csw/mgar/pkg/bison/trunk/Makefile
===================================================================
--- csw/mgar/pkg/bison/trunk/Makefile 2014-03-02 16:09:48 UTC (rev 23104)
+++ csw/mgar/pkg/bison/trunk/Makefile 2014-03-02 16:22:34 UTC (rev 23105)
@@ -1,3 +1,5 @@
+# $Id$
+
NAME = bison
VERSION = 3.0.2
GARTYPE = v2
@@ -9,21 +11,21 @@
endef
MASTER_SITES = $(GNU_MIRROR)
-# MASTER_SITES += http://alpha.gnu.org/gnu/bison/
DISTFILES = $(DISTNAME).tar.gz
RUNTIME_DEP_PKGS_CSWbison += CSWlibintl8
-RUNTIME_DEP_PKGS_CSWbison += CSWiconv
RUNTIME_DEP_PKGS_CSWbison += CSWgm4
VENDOR_URL = http://www.gnu.org/software/bison/
+PACKAGING_PLATFORMS = solaris9-sparc solaris9-i386
+PACKAGING_PLATFORMS += solaris10-sparc solaris10-i386
+
EXTRA_MERGE_EXCLUDE_FILES = $(libdir)/charset\.alias
# I guess we really need these
CHECKPKG_OVERRIDES_CSWbison += surplus-dependency|CSWgm4
-CHECKPKG_OVERRIDES_CSWbison += surplus-dependency|CSWiconv
# Tests 217-222 use zero-sized structs
EXTRA_CFLAGS += -features=extensions
Property changes on: csw/mgar/pkg/bison/trunk/Makefile
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 2 18:52:13 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 2 Mar 2014 17:52:13 +0000
Subject: SF.net SVN: gar:[23106] csw/mgar/gar/v2/lib/python
Message-ID: <3fcXBK078cz11m@mail.opencsw.org>
Revision: 23106
http://sourceforge.net/p/gar/code/23106
Author: wahwah
Date: 2014-03-02 17:52:11 +0000 (Sun, 02 Mar 2014)
Log Message:
-----------
pkgdb: Nicer format for logging messager
h/t Carsten Grzemba
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/checkpkg2.py
csw/mgar/gar/v2/lib/python/csw_upload_pkg.py
csw/mgar/gar/v2/lib/python/integrate_catalogs.py
csw/mgar/gar/v2/lib/python/pkgdb.py
csw/mgar/gar/v2/lib/python/safe_remove_package.py
Modified: csw/mgar/gar/v2/lib/python/checkpkg2.py
===================================================================
--- csw/mgar/gar/v2/lib/python/checkpkg2.py 2014-03-02 16:22:34 UTC (rev 23105)
+++ csw/mgar/gar/v2/lib/python/checkpkg2.py 2014-03-02 17:52:11 UTC (rev 23106)
@@ -116,7 +116,8 @@
elif options.debug:
# If both flags are set, debug wins.
logging_level = logging.DEBUG
- logging.basicConfig(level=logging_level)
+ fmt = '%(levelname)s %(asctime)s %(filename)s:%(lineno)d %(message)s'
+ logging.basicConfig(format=fmt, level=logging_level)
logging.debug("Starting.")
configuration.SetUpSqlobjectConnection()
Modified: csw/mgar/gar/v2/lib/python/csw_upload_pkg.py
===================================================================
--- csw/mgar/gar/v2/lib/python/csw_upload_pkg.py 2014-03-02 16:22:34 UTC (rev 23105)
+++ csw/mgar/gar/v2/lib/python/csw_upload_pkg.py 2014-03-02 17:52:11 UTC (rev 23106)
@@ -402,10 +402,11 @@
"Note that the server side only allows to upload to a limited "
"set of catalogs."))
options, args = parser.parse_args()
+ logging_level = logging.INFO
if options.debug:
- logging.basicConfig(level=logging.DEBUG)
- else:
- logging.basicConfig(level=logging.INFO)
+ logging_level = logging.DEBUG)
+ fmt = '%(levelname)s %(asctime)s %(filename)s:%(lineno)d %(message)s'
+ logging.basicConfig(format=fmt, level=logging_level)
logging.debug("args: %s", args)
hostname = socket.gethostname()
if not hostname.startswith('login'):
Modified: csw/mgar/gar/v2/lib/python/integrate_catalogs.py
===================================================================
--- csw/mgar/gar/v2/lib/python/integrate_catalogs.py 2014-03-02 16:22:34 UTC (rev 23105)
+++ csw/mgar/gar/v2/lib/python/integrate_catalogs.py 2014-03-02 17:52:11 UTC (rev 23106)
@@ -271,10 +271,12 @@
parser.add_option("--debug", dest="debug",
default=False, action="store_true")
options, args = parser.parse_args()
- loglevel = logging.INFO
+ logging_level = logging.INFO
if options.debug:
- loglevel = logging.DEBUG
- logging.basicConfig(level=loglevel)
+ logging_level = logging.DEBUG
+ fmt = '%(levelname)s %(asctime)s %(filename)s:%(lineno)d %(message)s'
+ logging.basicConfig(format=fmt, level=logging_level)
+
if not options.output_file:
raise UsageError("Please specify the output file. See --help.")
catrel_from = options.catrel_from
Modified: csw/mgar/gar/v2/lib/python/pkgdb.py
===================================================================
--- csw/mgar/gar/v2/lib/python/pkgdb.py 2014-03-02 16:22:34 UTC (rev 23105)
+++ csw/mgar/gar/v2/lib/python/pkgdb.py 2014-03-02 17:52:11 UTC (rev 23106)
@@ -412,11 +412,13 @@
default=False, action="store_true",
help="Force unpacking of packages")
options, args = parser.parse_args()
+
+ logging_level = logging.INFO
if options.debug:
- logging.basicConfig(level=logging.DEBUG)
- logging.debug("Debugging on")
- else:
- logging.basicConfig(level=logging.INFO)
+ logging_level = logging.DEBUG)
+ fmt = '%(levelname)s %(asctime)s %(filename)s:%(lineno)d %(message)s'
+ logging.basicConfig(format=fmt, level=logging_level)
+
if not args:
raise UsageError("Please specify a command. See --help.")
# SetUpSqlobjectConnection needs to be called after
Modified: csw/mgar/gar/v2/lib/python/safe_remove_package.py
===================================================================
--- csw/mgar/gar/v2/lib/python/safe_remove_package.py 2014-03-02 16:22:34 UTC (rev 23105)
+++ csw/mgar/gar/v2/lib/python/safe_remove_package.py 2014-03-02 17:52:11 UTC (rev 23106)
@@ -204,10 +204,11 @@
default=False, action="store_true",
help=("Don't apply changes (no REST calls)."))
options, args = parser.parse_args()
- debug_level = logging.INFO
+ logging_level = logging.INFO
if options.debug:
- debug_level = logging.DEBUG
- logging.basicConfig(level=debug_level)
+ logging_level = logging.DEBUG
+ fmt = '%(levelname)s %(asctime)s %(filename)s:%(lineno)d %(message)s'
+ logging.basicConfig(format=fmt, level=logging_level)
if not options.catalogname:
logging.error('option catalogname required \n%s',USAGE)
sys.exit(1)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 2 18:52:23 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 2 Mar 2014 17:52:23 +0000
Subject: SF.net SVN: gar:[23107] csw/mgar/gar/v2/lib/python
Message-ID: <3fcXBb0nNcz14n@mail.opencsw.org>
Revision: 23107
http://sourceforge.net/p/gar/code/23107
Author: wahwah
Date: 2014-03-02 17:52:23 +0000 (Sun, 02 Mar 2014)
Log Message:
-----------
find-obsolete-pkgs: Update for the new code
Also fixes for safe_remove_package.py
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/find_obsolete_pkgs.py
csw/mgar/gar/v2/lib/python/integrate_catalogs.py
csw/mgar/gar/v2/lib/python/rest.py
csw/mgar/gar/v2/lib/python/safe_remove_package.py
Modified: csw/mgar/gar/v2/lib/python/find_obsolete_pkgs.py
===================================================================
--- csw/mgar/gar/v2/lib/python/find_obsolete_pkgs.py 2014-03-02 17:52:11 UTC (rev 23106)
+++ csw/mgar/gar/v2/lib/python/find_obsolete_pkgs.py 2014-03-02 17:52:23 UTC (rev 23107)
@@ -44,8 +44,8 @@
datadir=configuration.CHECKPKG_DIR % os.environ
# fn_revdep = os.path.join(datadir,'RevDeps_%s_%s_%s.json')
fn_cat = os.path.join(datadir,'catalog_%s_%s_%s.json')
-fn_removelst = 'PkgsToRemoveFrom_%s_%s_%s.lst'
-fn_rebuildlst = 'PkgsToRebuildFrom_%s_%s_%s.lst'
+fn_pkgs_to_remove = 'PkgsToRemoveFrom_%s_%s_%s.lst'
+fn_pkgs_to_rebuild = 'PkgsToRebuildFrom_%s_%s_%s.lst'
CatSubSet = namedtuple('CatSubSet',
'pkgname, catalogname, md5_sum, version, dependlist')
@@ -171,8 +171,8 @@
def WriteToTextFiles(pkgs_to_drop, pkgs_to_rebuild, newcatrel, arch, osrel):
- print ('write %s' % (fn_removelst % (newcatrel,osrel,arch)))
- with open(fn_removelst % (newcatrel, osrel, arch), "w") as fd:
+ print ('write %s' % (fn_pkgs_to_remove % (newcatrel,osrel,arch)))
+ with open(fn_pkgs_to_remove % (newcatrel, osrel, arch), "w") as fd:
for pkg in sorted(pkgs_to_drop, key=lambda p: p.catalogname):
fd.write(pkg.catalogname + '\n')
logger.info("number of packages to remove: %d" % len(pkgs_to_drop))
Modified: csw/mgar/gar/v2/lib/python/integrate_catalogs.py
===================================================================
--- csw/mgar/gar/v2/lib/python/integrate_catalogs.py 2014-03-02 17:52:11 UTC (rev 23106)
+++ csw/mgar/gar/v2/lib/python/integrate_catalogs.py 2014-03-02 17:52:23 UTC (rev 23107)
@@ -149,11 +149,7 @@
def GetCatalogs(catrel_from, catrel_to,
include_version_changes,
- include_downgrades):
- config = configuration.GetConfig()
- rest_client = rest.RestClient(
- pkgdb_url=config.get('rest', 'pkgdb'),
- releases_url=config.get('rest', 'releases'))
+ include_downgrades, rest_client):
def GetCatalog(rest_client, r_catrel, r_arch, r_osrel):
key = r_catrel, r_arch, r_osrel
catalog = rest_client.GetCatalog(*key)
@@ -277,6 +273,14 @@
fmt = '%(levelname)s %(asctime)s %(filename)s:%(lineno)d %(message)s'
logging.basicConfig(format=fmt, level=logging_level)
+ config = configuration.GetConfig()
+ username, password = rest.GetUsernameAndPassword()
+ rest_client = rest.RestClient(
+ pkgdb_url=config.get('rest', 'pkgdb'),
+ releases_url=config.get('rest', 'releases'),
+ username=username,
+ password=password)
+
if not options.output_file:
raise UsageError("Please specify the output file. See --help.")
catrel_from = options.catrel_from
@@ -294,18 +298,17 @@
catalogs = GetCatalogs(
catrel_from, catrel_to,
options.include_version_changes,
- options.include_downgrades)
+ options.include_downgrades, rest_client)
diffs_by_catalogname = ComposeDiffsByCatalogname(
catalogs, catrel_from, catrel_to,
options.include_version_changes,
options.include_downgrades)
bundles_by_md5 = {}
bundles_missing = set()
- cp = rest.CachedPkgstats("pkgstats")
+ cp = rest.CachedPkgstats("pkgstats", rest_client)
for key in catalogs:
if catalogs[key]: # could be None
for pkg in catalogs[key]:
- # logging.debug("%r", pkg)
md5 = pkg["md5_sum"]
if md5 not in bundles_by_md5 and md5 not in bundles_missing:
stats = cp.GetPkgstats(md5)
Modified: csw/mgar/gar/v2/lib/python/rest.py
===================================================================
--- csw/mgar/gar/v2/lib/python/rest.py 2014-03-02 17:52:11 UTC (rev 23106)
+++ csw/mgar/gar/v2/lib/python/rest.py 2014-03-02 17:52:23 UTC (rev 23107)
@@ -143,7 +143,7 @@
def RemoveSvr4FromCatalog(self, catrel, arch, osrel, md5_sum):
url = (
- "%s%s/catalogs/%s/%s/%s/%s/"
+ "%s/catalogs/%s/%s/%s/%s/"
% (self.releases_url, catrel, arch, osrel, md5_sum))
logging.debug("DELETE @ URL: %s %s", type(url), url)
c = pycurl.Curl()
@@ -490,13 +490,11 @@
Wraps RestClient and provides a caching layer.
"""
- def __init__(self, filename):
+ def __init__(self, filename, rest_client):
self.filename = filename
self.d = anydbm.open("%s.db" % self.filename, "c")
config = configuration.GetConfig()
- self.rest_client = RestClient(
- pkgdb_url=config.get('rest', 'pkgdb'),
- releases_url=config.get('rest', 'releases'))
+ self.rest_client = rest_client
self.deps = anydbm.open("%s-deps.db" % self.filename, "c")
def __del__(self):
Modified: csw/mgar/gar/v2/lib/python/safe_remove_package.py
===================================================================
--- csw/mgar/gar/v2/lib/python/safe_remove_package.py 2014-03-02 17:52:11 UTC (rev 23106)
+++ csw/mgar/gar/v2/lib/python/safe_remove_package.py 2014-03-02 17:52:23 UTC (rev 23107)
@@ -10,18 +10,18 @@
"""
+import cjson
+import gdbm
+import logging
import optparse
-import rest
-import common_constants
+import os
import pprint
-import gdbm
-import logging
import sys
-import os
-import cjson
import urllib2
from lib.python import configuration
+from lib.python import rest
+from lib.python import common_constants
USAGE = """%prog --os-releases=SunOS5.10,SunOS5.11 -c
@@ -42,7 +42,7 @@
"""
-UNSTABLE = "unstable"
+UNSTABLE = 'unstable'
EVERY_N_DOTS = 100
datadir = configuration.CHECKPKG_DIR % os.environ
fn_revdeps = os.path.join(datadir, 'revdeps-%s-%s-%s.json')
@@ -57,24 +57,15 @@
class RevDeps(object):
- '''
- returns a list of [md5_sum,pkgname]
+ """returns a list of [md5_sum,pkgname]
in the moment not used, perhaps later usefull:
RevDepsSet = namedtuple('RevDepsSet','md5_sum pkgname')
- '''
+ """
- def __init__(self, rest_client=None):
+ def __init__(self, rest_client):
self.cached_catalogs = {}
- self.cp = rest.CachedPkgstats(fn_pkgstatsdb)
+ self.cp = rest.CachedPkgstats(fn_pkgstatsdb, rest_client)
self.rest_client = rest_client
- if self.rest_client is None:
- config = configuration.GetConfig()
- username, password = rest.GetUsernameAndPassword()
- self.rest_client = rest.RestClient(
- pkgdb_url=config.get('rest', 'pkgdb'),
- releases_url=config.get('rest', 'releases'),
- username=username,
- password=password)
def MakeRevIndex(self, catrel, arch, osrel, quiet=False):
key = (catrel, arch, osrel)
@@ -85,6 +76,7 @@
with open(fn, "r") as fd:
self.cached_catalogs[key] = cjson.decode(fd.read())
return
+ # This should be rewritten to use RestClient.GetCatalogForGeneration
logging.info(
"Building a database of reverse dependencies. "
"This can take up to multiple hours.")
@@ -93,7 +85,6 @@
counter = 0
for pkg_simple in catalog:
md5 = pkg_simple["md5_sum"]
- # pkg = self.cp.GetPkgstats(md5)
short_data = self.cp.GetDeps(md5)
pkgname = short_data["pkgname"]
for dep_pkgname, _ in short_data["deps"]:
@@ -126,8 +117,12 @@
else:
return []
+
class PackageRemover(object):
+ def __init__(self, rest_client):
+ self.rest_client = rest_client
+
def CachePackageIsGone(self, catalogname):
with open("packages_dropped_cache.txt", "ab") as fd:
fd.write("{0}\n".format(catalogname))
@@ -136,8 +131,7 @@
if not os_releases:
os_releases = common_constants.OS_RELS
username, password = rest.GetUsernameAndPassword()
- rest_client = rest.RestClient(username=username, password=password)
- rd = RevDeps()
+ rd = RevDeps(self.rest_client)
rev_deps = {}
# md5 sums to remove
to_remove = []
@@ -153,7 +147,8 @@
continue
for arch in common_constants.PHYSICAL_ARCHITECTURES:
try:
- pkg_simple = rest_client.Srv4ByCatalogAndCatalogname(UNSTABLE, arch, osrel, catalogname)
+ pkg_simple = self.rest_client.Srv4ByCatalogAndCatalogname(
+ UNSTABLE, arch, osrel, catalogname)
except urllib2.HTTPError, e:
logging.warning("could not fetch %r from %s/%s: %s",
catalogname, arch, osrel, e)
@@ -161,7 +156,7 @@
if not pkg_simple:
# Maybe we were given a pkgname instead of a catalogname? We can try
# that before failing.
- pkg_simple = rest_client.Srv4ByCatalogAndPkgname(
+ pkg_simple = self.rest_client.Srv4ByCatalogAndPkgname(
UNSTABLE, arch, osrel, catalogname)
if not pkg_simple:
msg = "{0} was not in the unstable {1} {2} catalog."
@@ -170,7 +165,6 @@
if pkg_simple:
found_anywhere = True
md5 = pkg_simple["md5_sum"]
- # pkg = rd.cp.GetPkgstats(md5)
key = UNSTABLE, arch, osrel
cat_rev_deps = rd.RevDepsByMD5(UNSTABLE, arch, osrel, md5)
if cat_rev_deps:
@@ -188,7 +182,7 @@
for catrel, arch, osrel, md5_sum in to_remove:
print "# [%s]" % pkg_simple["catalogname"], catrel, arch, osrel, md5_sum
if execute:
- rest_client.RemoveSvr4FromCatalog(catrel, arch, osrel, md5_sum)
+ self.rest_client.RemoveSvr4FromCatalog(catrel, arch, osrel, md5_sum)
if found_anywhere:
self.CachePackageIsGone(catalogname)
@@ -215,7 +209,16 @@
os_releases = common_constants.OS_RELS
if options.os_releases:
os_releases = options.os_releases.split(",")
- pr = PackageRemover()
+
+ config = configuration.GetConfig()
+ username, password = rest.GetUsernameAndPassword()
+ rest_client = rest.RestClient(
+ pkgdb_url=config.get('rest', 'pkgdb'),
+ releases_url=config.get('rest', 'releases'),
+ username=username,
+ password=password)
+
+ pr = PackageRemover(rest_client)
pr.RemovePackage(options.catalogname, not options.dry_run, os_releases)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 2 18:52:32 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 2 Mar 2014 17:52:32 +0000
Subject: SF.net SVN: gar:[23108] csw/mgar/gar/v2/lib/python/csw_upload_pkg.py
Message-ID: <3fcXBd3yYCz15N@mail.opencsw.org>
Revision: 23108
http://sourceforge.net/p/gar/code/23108
Author: wahwah
Date: 2014-03-02 17:52:32 +0000 (Sun, 02 Mar 2014)
Log Message:
-----------
csw-upload-pkg: Fix a syntax error
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 2014-03-02 17:52:23 UTC (rev 23107)
+++ csw/mgar/gar/v2/lib/python/csw_upload_pkg.py 2014-03-02 17:52:32 UTC (rev 23108)
@@ -404,7 +404,7 @@
options, args = parser.parse_args()
logging_level = logging.INFO
if options.debug:
- logging_level = logging.DEBUG)
+ logging_level = logging.DEBUG
fmt = '%(levelname)s %(asctime)s %(filename)s:%(lineno)d %(message)s'
logging.basicConfig(format=fmt, level=logging_level)
logging.debug("args: %s", args)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 2 18:52:40 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 2 Mar 2014 17:52:40 +0000
Subject: SF.net SVN: gar:[23109] csw/mgar/gar/v2/lib/python/rest.py
Message-ID: <3fcXBm4vRBz17C@mail.opencsw.org>
Revision: 23109
http://sourceforge.net/p/gar/code/23109
Author: wahwah
Date: 2014-03-02 17:52:39 +0000 (Sun, 02 Mar 2014)
Log Message:
-----------
rest.py: Remove a spammy message from warning lev
This error is now commonly occurring in multiple scripts, no need to show it
to users.
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-02 17:52:32 UTC (rev 23108)
+++ csw/mgar/gar/v2/lib/python/rest.py 2014-03-02 17:52:39 UTC (rev 23109)
@@ -530,8 +530,8 @@
try:
with open(authfile, 'r') as af:
password = af.read().strip()
- except IOError, e:
- logging.warning("Error reading %s: %s", authfile, e)
+ except IOError as e:
+ logging.debug("Error reading %s: %s", authfile, e)
if password is None:
# This part is specific to OpenCSW buildfarm.
@@ -539,8 +539,13 @@
ret_code, stdout, stderr = shell.ShellCommand(args)
if not ret_code:
password = stdout.strip()
+ else:
+ logging.debug('Failed running %r', args)
if password is None:
+ logging.warning(
+ 'Could not find password for user %r. '
+ 'Falling back to getpass.getpass().', username)
password = getpass.getpass("{0}'s pkg release password> ".format(username))
return username, password
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 2 22:24:46 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 2 Mar 2014 21:24:46 +0000
Subject: SF.net SVN: gar:[23110] csw/mgar/gar/v2/lib/python
Message-ID: <3fccvr2jmCz1SD@mail.opencsw.org>
Revision: 23110
http://sourceforge.net/p/gar/code/23110
Author: wahwah
Date: 2014-03-02 21:24:45 +0000 (Sun, 02 Mar 2014)
Log Message:
-----------
checkpkg: Enabled unit tests for license paths
And that the catalogname matches pkgname.
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/checkpkg_lib.py
csw/mgar/gar/v2/lib/python/package_checks_test.py
Modified: csw/mgar/gar/v2/lib/python/checkpkg_lib.py
===================================================================
--- csw/mgar/gar/v2/lib/python/checkpkg_lib.py 2014-03-02 17:52:39 UTC (rev 23109)
+++ csw/mgar/gar/v2/lib/python/checkpkg_lib.py 2014-03-02 21:24:45 UTC (rev 23110)
@@ -434,9 +434,6 @@
if file_path in self.pkgs_by_file:
for pkg in self.pkgs_by_file[file_path]:
pkgs.add(pkg)
- # logging_response = pprint.pformat(pkgs)
- # logging.debug("GetPkgByPath(%s).AndReturn(%s)"
- # % (file_path, logging_response))
self.pkgs_by_path_cache[key] = pkgs
return self.pkgs_by_path_cache[key]
Modified: csw/mgar/gar/v2/lib/python/package_checks_test.py
===================================================================
--- csw/mgar/gar/v2/lib/python/package_checks_test.py 2014-03-02 17:52:39 UTC (rev 23109)
+++ csw/mgar/gar/v2/lib/python/package_checks_test.py 2014-03-02 21:24:45 UTC (rev 23110)
@@ -10,9 +10,9 @@
import copy
import datetime
+import logging
+import mox
import os.path
-import mox
-import logging
import pprint
from lib.python.testdata.djvulibre_rt_stats import pkgstats as djvulibre_rt_stats
@@ -2600,40 +2600,31 @@
# 'soname=libneon.so.27 filename=foo.so.1')
-# class TestCheckLicenseFilePlacementLicense(CheckTestHelper,
-# unittest.TestCase):
-# FUNCTION_NAME = 'CheckLicenseFilePlacement'
-# def testBadLicensePlacement(self):
-# self.pkg_data = copy.deepcopy(neon_stats[0])
-# self.pkg_data["pkgmap"].append({
-# "class": "none", "type": "f", "line": "",
-# "user": "root", "group": "bin", "mode": '0755',
-# "path": "/opt/csw/share/doc/alien/license",
-# })
-# self.error_mgr_mock.ReportError(
-# 'wrong-docdir',
-# 'expected=/opt/csw/shared/doc/neon/... '
-# 'in-package=/opt/csw/share/doc/alien/license')
-#
-# def testGoodRandomFileWithSuffix(self):
-# """A differently suffixed file should not trigger an error."""
-# self.pkg_data = copy.deepcopy(neon_stats[0])
-# self.pkg_data["pkgmap"].append({
-# "class": "none", "type": "f", "line": "",
-# "user": "root", "group": "bin", "mode": '0755',
-# "path": "/opt/csw/share/doc/alien/license.html",
-# })
-#
-# def testGoodRandomFile(self):
-# "A random file should not trigger the message; only license files."
-# self.pkg_data = copy.deepcopy(neon_stats[0])
-# self.pkg_data["pkgmap"].append({
-# "class": "none", "type": "f", "line": "",
-# "user": "root", "group": "bin", "mode": '0755',
-# "path": "/opt/csw/share/doc/alien/random_file",
-# })
+class TestCheckLicenseFilePlacementLicense(CheckTestHelper,
+ unittest.TestCase):
+ FUNCTION_NAME = 'CheckLicenseFilePlacement'
+ def testBadLicensePlacement(self):
+ self.pkg_data = copy.deepcopy(neon_stats[0])
+ self.pkg_data["pkgmap"].append(
+ self.TestPkgmapEntry("/opt/csw/share/doc/alien/license"))
+ self.error_mgr_mock.ReportError(
+ 'wrong-docdir',
+ 'expected=/opt/csw/shared/doc/neon/... '
+ 'in-package=/opt/csw/share/doc/alien/license')
+ def testGoodRandomFileWithSuffix(self):
+ """A differently suffixed file should not trigger an error."""
+ self.pkg_data = copy.deepcopy(neon_stats[0])
+ self.pkg_data["pkgmap"].append(
+ self.TestPkgmapEntry("/opt/csw/share/doc/alien/license.html"))
+ def testGoodRandomFile(self):
+ "A random file should not trigger the message; only license files."
+ self.pkg_data = copy.deepcopy(neon_stats[0])
+ self.pkg_data["pkgmap"].append(
+ self.TestPkgmapEntry("/opt/csw/share/doc/alien/random_file"))
+
+
class TestCheckObsoleteDepsCups(CheckTestHelper, unittest.TestCase):
"A random file should not trigger the message; only license files."
FUNCTION_NAME = 'CheckObsoleteDeps'
@@ -2790,45 +2781,45 @@
# self.pkg_data = mercurial_stats[0]
-# class TestCheckCatalognameMatchesPkgname(CheckTestHelper,
-# unittest.TestCase):
-# FUNCTION_NAME = 'CheckCatalognameMatchesPkgname'
-#
-# def testMismatch(self):
-# self.pkg_data = copy.deepcopy(tree_stats[0])
-# basic_stats = self.pkg_data["basic_stats"]
-# basic_stats["catalogname"] = "foo_bar"
-# basic_stats["pkgname"] = "CSWfoo-bar-baz"
-# self.error_mgr_mock.ReportError(
-# 'catalogname-does-not-match-pkgname',
-# 'pkgname=CSWfoo-bar-baz catalogname=foo_bar '
-# 'expected-catalogname=foo_bar_baz')
-#
-# def testGoodMatch(self):
-# self.pkg_data = copy.deepcopy(tree_stats[0])
+class TestCheckCatalognameMatchesPkgname(CheckTestHelper,
+ unittest.TestCase):
+ FUNCTION_NAME = 'CheckCatalognameMatchesPkgname'
+ def testMismatch(self):
+ self.pkg_data = copy.deepcopy(tree_stats[0])
+ basic_stats = self.pkg_data["basic_stats"]
+ basic_stats["catalogname"] = "foo_bar"
+ basic_stats["pkgname"] = "CSWfoo-bar-baz"
+ self.error_mgr_mock.ReportError(
+ 'catalogname-does-not-match-pkgname',
+ 'pkgname=CSWfoo-bar-baz catalogname=foo_bar '
+ 'expected-catalogname=foo_bar_baz')
-# class TestCheckCatalognameMatchesPkgname(CheckTestHelper,
-# unittest.TestCase):
-# FUNCTION_NAME = 'CheckPkginfoOpencswRepository'
-#
-# def testRepositoryInfoGood(self):
-# self.pkg_data = copy.deepcopy(tree_stats[0])
-# # No errors reported.
-#
-# def testRepositoryInfoMissing(self):
-# self.pkg_data = copy.deepcopy(tree_stats[0])
-# del self.pkg_data["pkginfo"]["OPENCSW_REPOSITORY"]
-# self.error_mgr_mock.ReportError('pkginfo-opencsw-repository-missing')
-#
-# def testRepositoryInfoUncommitted(self):
-# self.pkg_data = copy.deepcopy(tree_stats[0])
-# self.pkg_data["pkginfo"]["OPENCSW_REPOSITORY"] = (
-# "https://gar.svn.sourceforge.net/svnroot/gar/"
-# "csw/mgar/pkg/puppet/trunk at UNCOMMITTED")
-# self.error_mgr_mock.ReportError('pkginfo-opencsw-repository-uncommitted')
-#
-#
+ def testGoodMatch(self):
+ self.pkg_data = copy.deepcopy(tree_stats[0])
+
+
+class TestCheckCatalognameMatchesPkgname(CheckTestHelper,
+ unittest.TestCase):
+ FUNCTION_NAME = 'CheckPkginfoOpencswRepository'
+
+ def testRepositoryInfoGood(self):
+ self.pkg_data = copy.deepcopy(tree_stats[0])
+ # No errors reported.
+
+ def testRepositoryInfoMissing(self):
+ self.pkg_data = copy.deepcopy(tree_stats[0])
+ del self.pkg_data["pkginfo"]["OPENCSW_REPOSITORY"]
+ self.error_mgr_mock.ReportError('pkginfo-opencsw-repository-missing')
+
+ def testRepositoryInfoUncommitted(self):
+ self.pkg_data = copy.deepcopy(tree_stats[0])
+ self.pkg_data["pkginfo"]["OPENCSW_REPOSITORY"] = (
+ "https://gar.svn.sourceforge.net/svnroot/gar/"
+ "csw/mgar/pkg/puppet/trunk at UNCOMMITTED")
+ self.error_mgr_mock.ReportError('pkginfo-opencsw-repository-uncommitted')
+
+
# class TestCheckAlternativesDependency(CheckTestHelper, unittest.TestCase):
# FUNCTION_NAME = 'CheckAlternativesDependency'
# ALTERNATIVES_EXECUTABLE = "/opt/csw/sbin/alternatives"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 2 22:38:48 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 2 Mar 2014 21:38:48 +0000
Subject: SF.net SVN: gar:[23111] csw/mgar/gar/v2/lib/python
Message-ID: <3fcdCk3llnz1Xs@mail.opencsw.org>
Revision: 23111
http://sourceforge.net/p/gar/code/23111
Author: wahwah
Date: 2014-03-02 21:38:46 +0000 (Sun, 02 Mar 2014)
Log Message:
-----------
checkpkg: Remove quotations from original checkpkg
Quotations from the old checkpkg written in shell qre not necessary any
more.
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/package_checks.py
csw/mgar/gar/v2/lib/python/package_checks_test.py
Modified: csw/mgar/gar/v2/lib/python/package_checks.py
===================================================================
--- csw/mgar/gar/v2/lib/python/package_checks.py 2014-03-02 21:24:45 UTC (rev 23110)
+++ csw/mgar/gar/v2/lib/python/package_checks.py 2014-03-02 21:38:46 UTC (rev 23111)
@@ -492,39 +492,6 @@
def CheckPkginfoSanity(pkg_data, error_mgr, logger, messenger):
- """pkginfo sanity checks.
-
-if [ "$maintname" = "" ] ; then
- # the old format, in the DESC field
- maintname=`sed -n 's/^DESC=.*for CSW by //p' $TMPFILE`
-
- # Since the DESC field has been coopted, take
- # description from second half of NAME field now.
- desc=`sed -n 's/^NAME=[^ -]* - //p' $TMPFILE`
-else
- if [ "$desc" = "" ] ; then
- desc=`sed -n 's/^NAME=[^ -]* - //p' $TMPFILE`
- fi
-fi
-
-software=`sed -n 's/^NAME=\([^ -]*\) -.*$/\1/p' $TMPFILE`
-version=`sed -n 's/^VERSION=//p' $TMPFILE`
-desc=`sed -n 's/^DESC=//p' $TMPFILE`
-email=`sed -n 's/^EMAIL=//p' $TMPFILE`
-maintname=`sed -n 's/^VENDOR=.*for CSW by //p' $TMPFILE`
-hotline=`sed -n 's/^HOTLINE=//p' $TMPFILE`
-basedir=`sed -n 's/^BASEDIR=//p' $TMPFILE`
-pkgarch=`sed -n 's/^ARCH=//p' $TMPFILE|head -1`
-
-if [ "$software" = "" ] ; then errmsg $f: software field not set properly in NAME ; fi
-if [ "$pkgname" = "" ] ; then errmsg $f: pkgname field blank ; fi
-if [ "$desc" = "" ] ; then errmsg $f: no description in either NAME or DESC field ; fi
-if [ ${#desc} -gt 100 ] ; then errmsg $f: description greater than 100 chars ; fi
-if [ "$version" = "" ] ; then errmsg $f: VERSION field blank ; fi
-if [ "$maintname" = "" ] ; then errmsg $f: maintainer name not detected. Fill out VENDOR field properly ; fi
-if [ "$email" = "" ] ; then errmsg $f: EMAIL field blank ; fi
-if [ "$hotline" = "" ] ; then errmsg $f: HOTLINE field blank ; fi
- """
catalogname = pkg_data["basic_stats"]["catalogname"]
pkgname = pkg_data["basic_stats"]["pkgname"]
pkginfo = pkg_data["pkginfo"]
Modified: csw/mgar/gar/v2/lib/python/package_checks_test.py
===================================================================
--- csw/mgar/gar/v2/lib/python/package_checks_test.py 2014-03-02 21:24:45 UTC (rev 23110)
+++ csw/mgar/gar/v2/lib/python/package_checks_test.py 2014-03-02 21:38:46 UTC (rev 23111)
@@ -2634,8 +2634,7 @@
self.error_mgr_mock.ReportError('obsolete-dependency', 'CSWlibcups')
-class TestCheckBaseDirs(CheckTestHelper,
- unittest.TestCase):
+class TestCheckBaseDirs(CheckTestHelper, unittest.TestCase):
"""Test whether appropriate base directories are provided."""
FUNCTION_NAME = 'CheckBaseDirs'
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 2 23:14:44 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 2 Mar 2014 22:14:44 +0000
Subject: SF.net SVN: gar:[23112] csw/mgar/pkg/opencsw-manual/trunk/files/
for-maintainers/index.rst
Message-ID: <3fcf180rjzzGs@mail.opencsw.org>
Revision: 23112
http://sourceforge.net/p/gar/code/23112
Author: wahwah
Date: 2014-03-02 22:14:42 +0000 (Sun, 02 Mar 2014)
Log Message:
-----------
opencsw-manual: Fix reference to catalog-staging
Modified Paths:
--------------
csw/mgar/pkg/opencsw-manual/trunk/files/for-maintainers/index.rst
Modified: csw/mgar/pkg/opencsw-manual/trunk/files/for-maintainers/index.rst
===================================================================
--- csw/mgar/pkg/opencsw-manual/trunk/files/for-maintainers/index.rst 2014-03-02 21:38:46 UTC (rev 23111)
+++ csw/mgar/pkg/opencsw-manual/trunk/files/for-maintainers/index.rst 2014-03-02 22:14:42 UTC (rev 23112)
@@ -17,4 +17,4 @@
package-naming
buildfarm-setup
32-bit-and-64-bit
- staging
+ catalog-staging
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From cgrzemba at users.sourceforge.net Mon Mar 3 10:37:10 2014
From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net)
Date: Mon, 3 Mar 2014 09:37:10 +0000
Subject: SF.net SVN: gar:[23113] csw/mgar/pkg/lang-python/pillow/trunk
Message-ID: <3fcx8b4GCszwb@mail.opencsw.org>
Revision: 23113
http://sourceforge.net/p/gar/code/23113
Author: cgrzemba
Date: 2014-03-03 09:37:08 +0000 (Mon, 03 Mar 2014)
Log Message:
-----------
lang-python/pillow/trunk: because a bug in PSdraw use GIT tree
Modified Paths:
--------------
csw/mgar/pkg/lang-python/pillow/trunk/Makefile
csw/mgar/pkg/lang-python/pillow/trunk/checksums
Modified: csw/mgar/pkg/lang-python/pillow/trunk/Makefile
===================================================================
--- csw/mgar/pkg/lang-python/pillow/trunk/Makefile 2014-03-02 22:14:42 UTC (rev 23112)
+++ csw/mgar/pkg/lang-python/pillow/trunk/Makefile 2014-03-03 09:37:08 UTC (rev 23113)
@@ -2,7 +2,7 @@
# TODO (release-critical prefixed with !, non release-critical with *)
#
NAME = Pillow
-VERSION = 2.3.0
+VERSION = 2.3.0b
GARTYPE = v2
CATEGORIES = python
@@ -11,8 +11,11 @@
Pillow is the "friendly" PIL fork by Alex Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and Contributors.
endef
-DISTFILES = $(DISTNAME).zip
+GIT_REPOS = git://github.com/python-imaging/Pillow.git
+# DISTFILES = $(DISTNAME).zip
+LICENSE = docs/COPYING
+
PACKAGES += CSWpy-pillow
CONFIGURE_ARGS = $(DIRPATHS)
Modified: csw/mgar/pkg/lang-python/pillow/trunk/checksums
===================================================================
--- csw/mgar/pkg/lang-python/pillow/trunk/checksums 2014-03-02 22:14:42 UTC (rev 23112)
+++ csw/mgar/pkg/lang-python/pillow/trunk/checksums 2014-03-03 09:37:08 UTC (rev 23113)
@@ -1 +0,0 @@
-56b6614499aacb7d6b5983c4914daea7 Pillow-2.3.0.zip
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Mon Mar 3 10:44:54 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Mon, 3 Mar 2014 09:44:54 +0000
Subject: SF.net SVN: gar:[23114] csw/mgar/gar/v2/lib/python/pkgdb.py
Message-ID: <3fcxKV6cqkz12B@mail.opencsw.org>
Revision: 23114
http://sourceforge.net/p/gar/code/23114
Author: wahwah
Date: 2014-03-03 09:44:52 +0000 (Mon, 03 Mar 2014)
Log Message:
-----------
pkgdb: Fix a syntax error
Derp!
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/pkgdb.py
Modified: csw/mgar/gar/v2/lib/python/pkgdb.py
===================================================================
--- csw/mgar/gar/v2/lib/python/pkgdb.py 2014-03-03 09:37:08 UTC (rev 23113)
+++ csw/mgar/gar/v2/lib/python/pkgdb.py 2014-03-03 09:44:52 UTC (rev 23114)
@@ -415,7 +415,7 @@
logging_level = logging.INFO
if options.debug:
- logging_level = logging.DEBUG)
+ logging_level = logging.DEBUG
fmt = '%(levelname)s %(asctime)s %(filename)s:%(lineno)d %(message)s'
logging.basicConfig(format=fmt, level=logging_level)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From cgrzemba at users.sourceforge.net Mon Mar 3 11:07:52 2014
From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net)
Date: Mon, 3 Mar 2014 10:07:52 +0000
Subject: SF.net SVN: gar:[23115] csw/mgar/pkg/lang-python/pillow/trunk/Makefile
Message-ID: <3fcxr02txKz16W@mail.opencsw.org>
Revision: 23115
http://sourceforge.net/p/gar/code/23115
Author: cgrzemba
Date: 2014-03-03 10:07:51 +0000 (Mon, 03 Mar 2014)
Log Message:
-----------
lang-python/pillow/trunk: add runtime dependencies
Modified Paths:
--------------
csw/mgar/pkg/lang-python/pillow/trunk/Makefile
Modified: csw/mgar/pkg/lang-python/pillow/trunk/Makefile
===================================================================
--- csw/mgar/pkg/lang-python/pillow/trunk/Makefile 2014-03-03 09:44:52 UTC (rev 23114)
+++ csw/mgar/pkg/lang-python/pillow/trunk/Makefile 2014-03-03 10:07:51 UTC (rev 23115)
@@ -17,6 +17,17 @@
LICENSE = docs/COPYING
PACKAGES += CSWpy-pillow
+RUNTIME_DEP_PKGS_CSWpy-pillow += CSWlibtiff5
+RUNTIME_DEP_PKGS_CSWpy-pillow += CSWlibwebp4
+RUNTIME_DEP_PKGS_CSWpy-pillow += CSWlibjpeg7
+RUNTIME_DEP_PKGS_CSWpy-pillow += CSWlibz1
+RUNTIME_DEP_PKGS_CSWpy-pillow += CSWlibtcl8-5
+RUNTIME_DEP_PKGS_CSWpy-pillow += CSWlibpython2-7-1-0
+RUNTIME_DEP_PKGS_CSWpy-pillow += CSWlibtk8-5
+RUNTIME_DEP_PKGS_CSWpy-pillow += CSWlibfreetype6
+RUNTIME_DEP_PKGS_CSWpy-pillow += CSWlibpython2-6-1-0
+RUNTIME_DEP_PKGS_CSWpy-pillow += CSWlibgcc-s1
+RUNTIME_DEP_PKGS_CSWpy-pillow += CSWliblcms2-2
CONFIGURE_ARGS = $(DIRPATHS)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Mon Mar 3 11:25:38 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Mon, 3 Mar 2014 10:25:38 +0000
Subject: SF.net SVN: gar:[23116] csw/mgar/pkg/nagios_plugins/trunk
Message-ID: <3fcyDY58tvz1Cv@mail.opencsw.org>
Revision: 23116
http://sourceforge.net/p/gar/code/23116
Author: dmichelsen
Date: 2014-03-03 10:25:36 +0000 (Mon, 03 Mar 2014)
Log Message:
-----------
nagios_plugins/trunk: Update to 1.5
Modified Paths:
--------------
csw/mgar/pkg/nagios_plugins/trunk/Makefile
csw/mgar/pkg/nagios_plugins/trunk/checksums
Modified: csw/mgar/pkg/nagios_plugins/trunk/Makefile
===================================================================
--- csw/mgar/pkg/nagios_plugins/trunk/Makefile 2014-03-03 10:07:51 UTC (rev 23115)
+++ csw/mgar/pkg/nagios_plugins/trunk/Makefile 2014-03-03 10:25:36 UTC (rev 23116)
@@ -1,8 +1,7 @@
# $Id$
#
NAME = nagios-plugins
-VERSION = 1.4.16
-CATEGORIES = apps
+VERSION = 1.5
GARTYPE = v2
#
@@ -16,21 +15,17 @@
CATALOGNAME_CSWnagiosp = nagiosp_stub
SPKG_DESC_CSWnagios-plugins = Plugins for Nagios
-define BLURB
- Plugins for Nagios
-endef
-SF_PROJECT = nagiosplug
-MASTER_SITES = $(SF_MIRRORS)
-DISTFILES = $(NAME)-$(VERSION).tar.gz
+MASTER_SITES = http://assets.nagios.com/downloads/nagiosplugins/
+DISTFILES = $(DISTNAME).tar.gz
DISTFILES += README.CSW
PATCHFILES += 0002-Use-32-bit-pst3-on-Solaris.patch
-REINPLACE_USRLOCAL += contrib/*
+#REINPLACE_USRLOCAL += contrib/*
REINPLACE_USRLOCAL += plugins/*
REINPLACE_USRLOCAL += plugins-scripts/*
-REINPLACE_USRLOCAL += ChangeLog
+#REINPLACE_USRLOCAL += ChangeLog
REINPLACE_USRLOCAL += README
POSTMSG += /opt/csw/share/doc/nagios-plugins/README.CSW
@@ -40,7 +35,7 @@
CONFIGURE_ARGS += --with-trusted-path=/bin:/sbin:/usr/bin:/usr/sbin:/opt/csw/bin:/opt/csw/sbin
CONFIGURE_ARGS += --with-mysql=/opt/csw
CONFIGURE_ARGS += --with-pgsql=/opt/csw/postgresql
-CONFIGURE_ARGS += --disable-largefile
+CONFIGURE_ARGS += --enable-largefile
CONFIGURE_ARGS += --libexecdir=$(prefix)/libexec/nagios-plugins
CONFIGURE_ARGS += --with-perl=/opt/csw/bin/perl
CONFIGURE_ARGS += --with-openssl=/opt/csw
@@ -51,6 +46,10 @@
CONFIGURE_ARGS += --with-snmpget-command=/opt/csw/bin/snmpget
CONFIGURE_ARGS += --with-snmpgetnext-command=/opt/csw/bin/snmpgetnext
+# We currently fix on 1.22.5, libmysql needs a higher level due to getpagesize2
+LINKER_MAPS =
+CHECKPKG_OVERRIDES_CSWnagios-plugins += forbidden-version-interface-dependencies
+
libexecdir ?= $(prefix)/libexec/nagios-plugins
EXTRA_INC += /opt/csw/postgresql/include
@@ -58,10 +57,14 @@
PACKAGING_PLATFORMS = solaris10-i386 solaris10-sparc
-RUNTIME_DEP_PKGS_CSWnagios-plugins += CSWlibintl8 CSWlibpq5
-RUNTIME_DEP_PKGS_CSWnagios-plugins += CSWlibmysqlclient18 CSWlibssl1-0-0
-RUNTIME_DEP_PKGS_CSWnagios-plugins += CSWlibz1 CSWperl CSWliblber2-4-2 CSWlibldap2-4-2
+RUNTIME_DEP_PKGS_CSWnagios-plugins += CSWlibintl8
+RUNTIME_DEP_PKGS_CSWnagios-plugins += CSWlibpq5
+RUNTIME_DEP_PKGS_CSWnagios-plugins += CSWlibmysqlclient18
+RUNTIME_DEP_PKGS_CSWnagios-plugins += CSWlibssl1-0-0
+RUNTIME_DEP_PKGS_CSWnagios-plugins += CSWperl
+RUNTIME_DEP_PKGS_CSWnagios-plugins += CSWlibldap2-4-2
RUNTIME_DEP_PKGS_CSWnagios-plugins += CSWnetsnmp
+RUNTIME_DEP_PKGS_CSWnagios-plugins += CSWlibdbi1
# Add this override for now
CHECKPKG_OVERRIDES_CSWnagios-plugins += surplus-dependency|CSWnetsnmp
@@ -71,11 +74,12 @@
BUILD_DEP_PKGS += CSWlibz-dev
BUILD_DEP_PKGS += CSWlibnet-dev
-TEST_TARGET =
+# Testsuite is interactive
+SKIPTEST ?= 1
include gar/category.mk
-DOCS = BUGS ChangeLog FAQ README REQUIREMENTS SUPPORT COPYING
+DOCS += FAQ README REQUIREMENTS SUPPORT COPYING
DOCDEST = $(DESTDIR)$(docdir)/$(NAME)
ROOT_PLUGINS = check_dhcp check_icmp pst3
PLUGINDEST = $(DESTDIR)$(libexecdir)
Modified: csw/mgar/pkg/nagios_plugins/trunk/checksums
===================================================================
--- csw/mgar/pkg/nagios_plugins/trunk/checksums 2014-03-03 10:07:51 UTC (rev 23115)
+++ csw/mgar/pkg/nagios_plugins/trunk/checksums 2014-03-03 10:25:36 UTC (rev 23116)
@@ -1 +1 @@
-862f5e44fb5bc65ce7e5d86d654d4da0 nagios-plugins-1.4.16.tar.gz
+730ac30df4a5e88fed8a766a2311d209 nagios-plugins-1.5.tar.gz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From cgrzemba at users.sourceforge.net Mon Mar 3 12:42:58 2014
From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net)
Date: Mon, 3 Mar 2014 11:42:58 +0000
Subject: SF.net SVN: gar:[23117] csw/mgar/pkg/389-adminutil/trunk
Message-ID: <3fczxn44Ggz1MT@mail.opencsw.org>
Revision: 23117
http://sourceforge.net/p/gar/code/23117
Author: cgrzemba
Date: 2014-03-03 11:42:57 +0000 (Mon, 03 Mar 2014)
Log Message:
-----------
389-adminutil/trunk: update version 1.1.18
Modified Paths:
--------------
csw/mgar/pkg/389-adminutil/trunk/Makefile
csw/mgar/pkg/389-adminutil/trunk/checksums
Property Changed:
----------------
csw/mgar/pkg/389-adminutil/trunk/
Index: csw/mgar/pkg/389-adminutil/trunk
===================================================================
--- csw/mgar/pkg/389-adminutil/trunk 2014-03-03 10:25:36 UTC (rev 23116)
+++ csw/mgar/pkg/389-adminutil/trunk 2014-03-03 11:42:57 UTC (rev 23117)
Property changes on: csw/mgar/pkg/389-adminutil/trunk
___________________________________________________________________
Added: svn:externals
## -0,0 +1 ##
+gar https://gar.svn.sourceforge.net/svnroot/gar/csw/mgar/gar/v2
Modified: csw/mgar/pkg/389-adminutil/trunk/Makefile
===================================================================
--- csw/mgar/pkg/389-adminutil/trunk/Makefile 2014-03-03 10:25:36 UTC (rev 23116)
+++ csw/mgar/pkg/389-adminutil/trunk/Makefile 2014-03-03 11:42:57 UTC (rev 23117)
@@ -1,7 +1,7 @@
# $Id$
#
NAME = 389-adminutil
-VERSION = 1.1.15
+VERSION = 1.1.18
GARTYPE = v2
DESCRIPTION = The enterprise-class Open Source LDAP server, libadminutil, libadmsslutil
@@ -26,14 +26,14 @@
SPKG_DESC_CSWlibadminutil0 += $(DESCRIPTION), libadminutil
PKGFILES_CSWlibadminutil0 += $(call baseisadirs,$(libdir),libadminutil\.so(\.\d+)+)
PKGFILES_CSWlibadminutil0 += $(call baseisadirs,$(sharedstatedir),.*\.res)
-RUNTIME_DEP_PKGS_CSWlibadminutil0 += CSWlibprldap60
RUNTIME_DEP_PKGS_CSWlibadminutil0 += CSWlibnspr4
-RUNTIME_DEP_PKGS_CSWlibadminutil0 += CSWlibssldap60
RUNTIME_DEP_PKGS_CSWlibadminutil0 += CSWlibplc4
-RUNTIME_DEP_PKGS_CSWlibadminutil0 += CSWlibldap60
-RUNTIME_DEP_PKGS_CSWlibadminutil0 += CSWlibicuuc49
+RUNTIME_DEP_PKGS_CSWlibadminutil0 += CSWlibicuuc52
+RUNTIME_DEP_PKGS_CSWlibadminutil0 += CSWlibicui18n52
+RUNTIME_DEP_PKGS_CSWlibadminutil0 += CSWlibsasl2-2
+RUNTIME_DEP_PKGS_CSWlibadminutil0 += CSWlibldap2-4-2
+RUNTIME_DEP_PKGS_CSWlibadminutil0 += CSWlibicudata52
-
PACKAGES += CSWlibadmsslutil0
CATALOGNAME_CSWlibadmsslutil0 = libadmsslutil0
SPKG_DESC_CSWlibadmsslutil0 += $(DESCRIPTION), libadmsslutil
@@ -41,9 +41,13 @@
RUNTIME_DEP_PKGS_CSWlibadmsslutil0 += CSWlibnspr4
RUNTIME_DEP_PKGS_CSWlibadmsslutil0 += CSWlibnss3
RUNTIME_DEP_PKGS_CSWlibadmsslutil0 += CSWlibplc4
-RUNTIME_DEP_PKGS_CSWlibadmsslutil0 += CSWlibldap60
RUNTIME_DEP_PKGS_CSWlibadmsslutil0 += CSWlibadminutil0
RUNTIME_DEP_PKGS_CSWlibadmsslutil0 += CSWlibssl3
+RUNTIME_DEP_PKGS_CSWlibadmsslutil0 += CSWlibicuuc52
+RUNTIME_DEP_PKGS_CSWlibadmsslutil0 += CSWlibicui18n52
+RUNTIME_DEP_PKGS_CSWlibadmsslutil0 += CSWlibsasl2-2
+RUNTIME_DEP_PKGS_CSWlibadmsslutil0 += CSWlibldap2-4-2
+RUNTIME_DEP_PKGS_CSWlibadmsslutil0 += CSWlibicudata52
PACKAGES += CSW389-adminutil-dev
CATALOGNAME_CSW389-adminutil-dev = 389_adminutil_dev
@@ -63,18 +67,19 @@
EXTRA_LINKER_FLAGS = -xnorunpath -norunpath
CONFIGURE_ARGS = $(DIRPATHS)
-CONFIGURE_ARGS_OPT += --with-ldapsdk-inc=/opt/csw/include/dirsrv
-CONFIGURE_ARGS_OPT += --with-ldapsdk-lib=/opt/csw/lib
-CONFIGURE_ARGS_OPT += --with-icu-inc=/opt/csw/include
-CONFIGURE_ARGS_OPT += --with-icu-lib=/opt/csw/lib
-CONFIGURE_ARGS_OPT += --with-icu-bin=/opt/csw/bin
-CONFIGURE_ARGS_OPT += --with-sasl-inc=/opt/csw/include/sasl
-CONFIGURE_ARGS_OPT += --with-sasl-lib=/opt/csw/lib
-CONFIGURE_ARGS_OPT += --with-nss-lib=/opt/csw/lib/64
-CONFIGURE_ARGS_OPT += --with-nss-inc=/opt/csw/include/nss
-CONFIGURE_ARGS_OPT += --with-nspr-lib=/opt/csw/lib
-CONFIGURE_ARGS_OPT += --with-nspr-inc=/opt/csw/include/nspr
-CONFIGURE_ARGS += $(CONFIGURE_ARGS_$(GARFLAVOR))
+# CONFIGURE_ARGS += --with-ldapsdk-inc=$(includedir)/dirsrv
+# CONFIGURE_ARGS += --with-ldapsdk-lib=$(libdir)
+CONFIGURE_ARGS += --with-openldap=$(prefix)
+CONFIGURE_ARGS += --with-openldap-inc=$(includedir)
+CONFIGURE_ARGS += --with-icu-inc=$(includedir)
+CONFIGURE_ARGS += --with-icu-lib=$(libdir)
+CONFIGURE_ARGS += --with-icu-bin=$(bindir)
+CONFIGURE_ARGS += --with-sasl-inc=$(includedir)/sasl
+CONFIGURE_ARGS += --with-sasl-lib=$(libdir)
+CONFIGURE_ARGS += --with-nss-lib=$(libdir)
+CONFIGURE_ARGS += --with-nss-inc=$(includedir)/nss
+CONFIGURE_ARGS += --with-nspr-lib=$(libdir)
+CONFIGURE_ARGS += --with-nspr-inc=$(includedir)/nspr
# CHECKPKG_OVERRIDES_CSWlibadmsslutil0 += pkginfo-opencsw-repository-uncommitted
# CHECKPKG_OVERRIDES_CSWlibadminutil0 += pkginfo-opencsw-repository-uncommitted
Modified: csw/mgar/pkg/389-adminutil/trunk/checksums
===================================================================
--- csw/mgar/pkg/389-adminutil/trunk/checksums 2014-03-03 10:25:36 UTC (rev 23116)
+++ csw/mgar/pkg/389-adminutil/trunk/checksums 2014-03-03 11:42:57 UTC (rev 23117)
@@ -1 +1 @@
-189fd6848fcc532e063b628a23436c18 389-adminutil-1.1.15.tar.bz2
+7ee4ce3c3e18bcb04c4d075a2bfed6c3 389-adminutil-1.1.18.tar.bz2
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From cgrzemba at users.sourceforge.net Mon Mar 3 13:45:46 2014
From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net)
Date: Mon, 3 Mar 2014 12:45:46 +0000
Subject: SF.net SVN: gar:[23118] csw/mgar/pkg/389-ds-base/trunk
Message-ID: <3fd1LL50Q6z1TD@mail.opencsw.org>
Revision: 23118
http://sourceforge.net/p/gar/code/23118
Author: cgrzemba
Date: 2014-03-03 12:45:44 +0000 (Mon, 03 Mar 2014)
Log Message:
-----------
389-ds-base/trunk: update version
Modified Paths:
--------------
csw/mgar/pkg/389-ds-base/trunk/Makefile
csw/mgar/pkg/389-ds-base/trunk/checksums
csw/mgar/pkg/389-ds-base/trunk/files/0008-mntent-daemon.c.patch
Added Paths:
-----------
csw/mgar/pkg/389-ds-base/trunk/files/0013-use-posix-threads-configure.ac.patch
csw/mgar/pkg/389-ds-base/trunk/files/0014-ldap-include-Makefile.am.patch
Modified: csw/mgar/pkg/389-ds-base/trunk/Makefile
===================================================================
--- csw/mgar/pkg/389-ds-base/trunk/Makefile 2014-03-03 11:42:57 UTC (rev 23117)
+++ csw/mgar/pkg/389-ds-base/trunk/Makefile 2014-03-03 12:45:44 UTC (rev 23118)
@@ -2,7 +2,7 @@
# TODO (release-critical prefixed with !, non release-critical with *)
#
NAME = 389-ds-base
-VERSION = 1.2.11.15
+VERSION = 1.3.2.13
GARTYPE = v2
DESCRIPTION = The enterprise-class Open Source LDAP server
@@ -33,12 +33,14 @@
# PATCHFILES += 0006-add-i386-platform-in-configure.ac.patch
PATCHFILES += 0007-fixup-Makefile.am.patch
# PATCHFILES += 0007-fixup-plugin_syntax.c.patch
-PATCHFILES += 0008-mntent-daemon.c.patch
-PATCHFILES += 0009-mozldap-pw.c.patch
-PATCHFILES += 0010-mntent-config.ac.patch
-PATCHFILES += 0011-Makefile.am.patch
-PATCHFILES += 0009-fix-for-550-memberuid-not-created.patch
-PATCHFILES += 0012-fix-for-47327.patch
+# PATCHFILES += 0008-mntent-daemon.c.patch
+# PATCHFILES += 0009-mozldap-pw.c.patch
+# PATCHFILES += 0010-mntent-config.ac.patch
+# PATCHFILES += 0011-Makefile.am.patch
+# PATCHFILES += 0009-fix-for-550-memberuid-not-created.patch
+# PATCHFILES += 0012-fix-for-47327.patch
+PATCHFILES += 0013-use-posix-threads-configure.ac.patch
+# PATCHFILES += 0014-ldap-include-Makefile.am.patch
BUILD_DEP_PKGS += CSWautoconf
@@ -56,11 +58,8 @@
BUILD_DEP_PKGS += CSWlibkrb5-dev
INITSMF = /etc/opt/csw/init.d/dirsrv
-RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibssldap60
-RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibprldap60
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWperl
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWpython
-RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibldif60
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibsvrcore0
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibnspr4
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibldap60
@@ -70,12 +69,9 @@
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibplds4
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibnss3
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibplc4
-# RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibicudata49
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWbdb48
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibcom-err3
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibkrb5-3
-RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibicui18n51
-RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibicuuc51
# RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibk5crypto3
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWpm-mozldap
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibssl3
@@ -84,6 +80,14 @@
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibnssdbm3
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibpcre1
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWpm-netaddr-ip
+RUNTIME_DEP_PKGS_CSW389-ds-base += CSWliblber2-4-2
+RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibicui18n52
+RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibintl8
+RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibicuuc52
+RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibldap-r2-4-2
+RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibk5crypto3
+RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibldap2-4-2
+RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibicudata52
CHECKPKG_OVERRIDES_CSW389-ds-base += file-with-bad-content|/usr/share|root/opt/csw/lib/dirsrv/perl/DSUpdate.pm
@@ -104,23 +108,25 @@
EXTRA_LINKER_FLAGS = -xnorunpath -norunpath
CONFIGURE_ARGS = $(DIRPATHS)
-CONFIGURE_ARGS += --with-ldapsdk-inc=/opt/csw/include/dirsrv
-CONFIGURE_ARGS += --with-ldapsdk-lib=$(libdir)
+# CONFIGURE_ARGS += --with-ldapsdk-inc=$(includedir)/dirsrv
+# CONFIGURE_ARGS += --with-ldapsdk-lib=$(libdir)
## CONFIGURE_ARGS += --with-ldapsdk-bin=$(abspath $(prefix)/dirsrv/bin/$(MM_BINDIR))
-CONFIGURE_ARGS += --with-ldapsdk-bin=$(bindir)
-CONFIGURE_ARGS += --with-db-inc=/opt/csw/bdb48/include
+# CONFIGURE_ARGS += --with-ldapsdk-bin=$(bindir)
+CONFIGURE_ARGS += --with-openldap=$(prefix)
+CONFIGURE_ARGS += --with-openldap-inc=$(includedir)
+CONFIGURE_ARGS += --with-db-inc=$(prefix)/bdb48/include
CONFIGURE_ARGS += --with-db-lib=$(abspath $(prefix)/bdb48/lib/$(MM_LIBDIR))
-CONFIGURE_ARGS += --with-icu-inc=/opt/csw/include
+CONFIGURE_ARGS += --with-icu-inc=$(includedir)
CONFIGURE_ARGS += --with-icu-lib=$(libdir)
-CONFIGURE_ARGS += --with-icu-bin=/opt/csw/bin
-CONFIGURE_ARGS += --with-netsnmp-inc=/opt/csw/include
+CONFIGURE_ARGS += --with-icu-bin=$(bindir)
+CONFIGURE_ARGS += --with-netsnmp-inc=$(includedir)
CONFIGURE_ARGS += --with-netsnmp-lib=$(libdir)
-CONFIGURE_ARGS += --with-sasl-inc=/opt/csw/include/sasl
+CONFIGURE_ARGS += --with-sasl-inc=$(includedir)/sasl
CONFIGURE_ARGS += --with-sasl-lib=$(libdir)
CONFIGURE_ARGS += --with-nss-lib=$(libdir)
-CONFIGURE_ARGS += --with-nss-inc=/opt/csw/include/nss
+CONFIGURE_ARGS += --with-nss-inc=$(includedir)/nss
CONFIGURE_ARGS += --with-nspr-lib=$(libdir)
-CONFIGURE_ARGS += --with-nspr-inc=/opt/csw/include/nspr
+CONFIGURE_ARGS += --with-nspr-inc=$(includedir)/nspr
include gar/category.mk
Modified: csw/mgar/pkg/389-ds-base/trunk/checksums
===================================================================
--- csw/mgar/pkg/389-ds-base/trunk/checksums 2014-03-03 11:42:57 UTC (rev 23117)
+++ csw/mgar/pkg/389-ds-base/trunk/checksums 2014-03-03 12:45:44 UTC (rev 23118)
@@ -1 +1 @@
-ae6bc25834728bcd9dd96ef82094c2bd 389-ds-base-1.2.11.15.tar.bz2
+8950764771081291117ade801b49ec04 389-ds-base-1.3.2.13.tar.bz2
Modified: csw/mgar/pkg/389-ds-base/trunk/files/0008-mntent-daemon.c.patch
===================================================================
--- csw/mgar/pkg/389-ds-base/trunk/files/0008-mntent-daemon.c.patch 2014-03-03 11:42:57 UTC (rev 23117)
+++ csw/mgar/pkg/389-ds-base/trunk/files/0008-mntent-daemon.c.patch 2014-03-03 12:45:44 UTC (rev 23118)
@@ -1,38 +1,11 @@
--- a/ldap/servers/slapd/daemon.c
+++ b/ldap/servers/slapd/daemon.c
-@@ -59,7 +59,9 @@
- #include
- #include
- #include
--#include
-+#if defined(HAVE_MNTENT_H)
-+# include
-+# endif
- #endif
- #include
- #include
-@@ -80,6 +82,7 @@
- #endif /* NEED_FILIO */
- #endif /* !defined( _WIN32 ) */
- /* for some reason, linux tty stuff defines CTIME */
-+#include
- #ifdef LINUX
- #undef CTIME
- #include
-@@ -92,7 +95,6 @@
- #include "snmp_collator.h"
- #include
- #include
--#include
- #include "fe.h"
+@@ -498,7 +498,7 @@ disk_mon_get_mount_point(char *dir)
- #if defined(ENABLE_LDAPI)
-@@ -495,7 +497,7 @@ disk_mon_get_mount_point(char *dir)
-
dev_id = s.st_dev;
-- while((mnt = getmntent(fp))){
-+ while(0 == getmntent(fp,mnt)){
- if (stat(mnt->mnt_mountp, &s) != 0) {
+- while((0 = getmntent(fp, &mnt))){
++ while(0 == getmntent(fp, &mnt)){
+ if (stat(mnt.mnt_mountp, &s) != 0) {
continue;
}
Added: csw/mgar/pkg/389-ds-base/trunk/files/0013-use-posix-threads-configure.ac.patch
===================================================================
--- csw/mgar/pkg/389-ds-base/trunk/files/0013-use-posix-threads-configure.ac.patch (rev 0)
+++ csw/mgar/pkg/389-ds-base/trunk/files/0013-use-posix-threads-configure.ac.patch 2014-03-03 12:45:44 UTC (rev 23118)
@@ -0,0 +1,10 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -588,6 +588,7 @@ dnl includes some assembler stuff in counter.o
+ TARGET='SPARC'
+ ;;
+ esac
++ AC_DEFINE([USE_POSIX_RWLOCKS], [1], [POSIX rwlocks])
+ ;;
+ *)
+ platform=""
Added: csw/mgar/pkg/389-ds-base/trunk/files/0014-ldap-include-Makefile.am.patch
===================================================================
--- csw/mgar/pkg/389-ds-base/trunk/files/0014-ldap-include-Makefile.am.patch (rev 0)
+++ csw/mgar/pkg/389-ds-base/trunk/files/0014-ldap-include-Makefile.am.patch 2014-03-03 12:45:44 UTC (rev 23118)
@@ -0,0 +1,11 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -31,7 +31,7 @@ PATH_DEFINES = -DLOCALSTATEDIR="\"$(localstatedir)\"" -DSYSCONFDIR="\"$(sysconfd
+ -DSBINDIR="\"$(sbindir)\"" -DPLUGINDIR="\"$(serverplugindir)\"" -DTEMPLATEDIR="\"$(sampledatadir)\""
+
+ AM_CPPFLAGS = $(DEBUG_DEFINES) $(DS_DEFINES) $(DS_INCLUDES) $(PATH_DEFINES)
+-PLUGIN_CPPFLAGS = $(AM_CPPFLAGS) @ldapsdk_inc@ @nss_inc@ @nspr_inc@
++PLUGIN_CPPFLAGS = $(AM_CPPFLAGS) @openldap_inc@ @ldapsdk_inc@ @nss_inc@ @nspr_inc@
+ # We need to make sure that libpthread is linked before libc on HP-UX.
+ if HPUX
+ AM_LDFLAGS = -lpthread
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From lblume at users.sourceforge.net Mon Mar 3 14:57:43 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Mon, 3 Mar 2014 13:57:43 +0000
Subject: SF.net SVN: gar:[23119] csw/mgar/pkg/ImageMagick/trunk/Makefile
Message-ID: <3fd2xK4c5Vz3S@mail.opencsw.org>
Revision: 23119
http://sourceforge.net/p/gar/code/23119
Author: lblume
Date: 2014-03-03 13:57:41 +0000 (Mon, 03 Mar 2014)
Log Message:
-----------
ImageMagick/trunk: Put the ld workaround into a conditional block
Modified Paths:
--------------
csw/mgar/pkg/ImageMagick/trunk/Makefile
Modified: csw/mgar/pkg/ImageMagick/trunk/Makefile
===================================================================
--- csw/mgar/pkg/ImageMagick/trunk/Makefile 2014-03-03 12:45:44 UTC (rev 23118)
+++ csw/mgar/pkg/ImageMagick/trunk/Makefile 2014-03-03 13:57:41 UTC (rev 23119)
@@ -124,6 +124,7 @@
###
# Needed for the Solaris ld bug
+ifeq ($(shell /usr/bin/uname -p),sparc)
RUNTIME_DEP_PKGS_CSWlibmagickcore6q16hdri2 += CSWlibintl8
RUNTIME_DEP_PKGS_CSWlibmagickcore6q16hdri2 += CSWlibglib2-0-0
RUNTIME_DEP_PKGS_CSWlibmagickwand6q16hdri2 += CSWlibltdl7
@@ -162,6 +163,7 @@
RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri3 += CSWlibfontconfig1
RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri3 += CSWlibgomp1
RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri3 += CSWlibglib2-0-0
+endif
###
#PACKAGES += CSWpm-image-magick
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From cgrzemba at users.sourceforge.net Mon Mar 3 15:30:14 2014
From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net)
Date: Mon, 3 Mar 2014 14:30:14 +0000
Subject: SF.net SVN: gar:[23120] csw/mgar/pkg/389-ds-base/trunk/Makefile
Message-ID: <3fd3fl4mrFzBZ@mail.opencsw.org>
Revision: 23120
http://sourceforge.net/p/gar/code/23120
Author: cgrzemba
Date: 2014-03-03 14:30:11 +0000 (Mon, 03 Mar 2014)
Log Message:
-----------
389-ds-base/trunk: add patches and fix dependecies
Modified Paths:
--------------
csw/mgar/pkg/389-ds-base/trunk/Makefile
Modified: csw/mgar/pkg/389-ds-base/trunk/Makefile
===================================================================
--- csw/mgar/pkg/389-ds-base/trunk/Makefile 2014-03-03 13:57:41 UTC (rev 23119)
+++ csw/mgar/pkg/389-ds-base/trunk/Makefile 2014-03-03 14:30:11 UTC (rev 23120)
@@ -33,14 +33,14 @@
# PATCHFILES += 0006-add-i386-platform-in-configure.ac.patch
PATCHFILES += 0007-fixup-Makefile.am.patch
# PATCHFILES += 0007-fixup-plugin_syntax.c.patch
-# PATCHFILES += 0008-mntent-daemon.c.patch
+PATCHFILES += 0008-mntent-daemon.c.patch
# PATCHFILES += 0009-mozldap-pw.c.patch
# PATCHFILES += 0010-mntent-config.ac.patch
# PATCHFILES += 0011-Makefile.am.patch
# PATCHFILES += 0009-fix-for-550-memberuid-not-created.patch
# PATCHFILES += 0012-fix-for-47327.patch
PATCHFILES += 0013-use-posix-threads-configure.ac.patch
-# PATCHFILES += 0014-ldap-include-Makefile.am.patch
+PATCHFILES += 0014-ldap-include-Makefile.am.patch
BUILD_DEP_PKGS += CSWautoconf
@@ -62,7 +62,6 @@
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWpython
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibsvrcore0
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibnspr4
-RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibldap60
# RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibnetsnmpmibs25
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibnetsnmp25
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibnetsnmpagent25
@@ -93,6 +92,7 @@
CHECKPKG_OVERRIDES_CSW389-ds-base += file-with-bad-content|/usr/share|root/opt/csw/lib/dirsrv/perl/DSUpdate.pm
CHECKPKG_OVERRIDES_CSW389-ds-base += file-with-bad-content|/usr/share|root/opt/csw/share/dirsrv/updates/exampleupdate.ldif
CHECKPKG_OVERRIDES_CSW389-ds-base += file-with-bad-content|/usr/share|root/opt/csw/share/man/man1/dbgen.pl.1
+CHECKPKG_OVERRIDES_CSW389-ds-base += surplus-dependency|CSWpython
CHECKPKG_OVERRIDES_CSW389-ds-base += init-file-missing-cswinitsmf-class|/etc/opt/csw/init.d/dirsrv-snmp|class=none
# is needed for setup scripts!
CHECKPKG_OVERRIDES_CSW389-ds-base += surplus-dependency|CSWpm-mozldap
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From cgrzemba at users.sourceforge.net Mon Mar 3 16:32:14 2014
From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net)
Date: Mon, 3 Mar 2014 15:32:14 +0000
Subject: SF.net SVN: gar:[23121] csw/mgar/pkg/389-ds-base/trunk/Makefile
Message-ID: <3fd52J0Tx0zLM@mail.opencsw.org>
Revision: 23121
http://sourceforge.net/p/gar/code/23121
Author: cgrzemba
Date: 2014-03-03 15:32:12 +0000 (Mon, 03 Mar 2014)
Log Message:
-----------
389-ds-base/trunk: update checkpkg_overrides and arch dependend runtime dependencies
Modified Paths:
--------------
csw/mgar/pkg/389-ds-base/trunk/Makefile
Modified: csw/mgar/pkg/389-ds-base/trunk/Makefile
===================================================================
--- csw/mgar/pkg/389-ds-base/trunk/Makefile 2014-03-03 14:30:11 UTC (rev 23120)
+++ csw/mgar/pkg/389-ds-base/trunk/Makefile 2014-03-03 15:32:12 UTC (rev 23121)
@@ -71,7 +71,6 @@
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWbdb48
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibcom-err3
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibkrb5-3
-# RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibk5crypto3
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWpm-mozldap
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibssl3
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibsasl2-2
@@ -81,17 +80,16 @@
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWpm-netaddr-ip
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWliblber2-4-2
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibicui18n52
-RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibintl8
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibicuuc52
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibldap-r2-4-2
-RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibk5crypto3
RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibldap2-4-2
-RUNTIME_DEP_PKGS_CSW389-ds-base += CSWlibicudata52
+RUNTIME_DEP_PKGS_CSW389-ds-base_sparc += CSWlibk5crypto3
+RUNTIME_DEP_PKGS_CSW389-ds-base_sparc += CSWlibintl8
+RUNTIME_DEP_PKGS_CSW389-ds-base_sparc += CSWlibicudata52
+RUNTIME_DEP_PKGS_CSW389-ds-base += $(RUNTIME_DEP_PKGS_CSW389-ds-base_$(GARCH))
CHECKPKG_OVERRIDES_CSW389-ds-base += file-with-bad-content|/usr/share|root/opt/csw/lib/dirsrv/perl/DSUpdate.pm
-CHECKPKG_OVERRIDES_CSW389-ds-base += file-with-bad-content|/usr/share|root/opt/csw/share/dirsrv/updates/exampleupdate.ldif
-CHECKPKG_OVERRIDES_CSW389-ds-base += file-with-bad-content|/usr/share|root/opt/csw/share/man/man1/dbgen.pl.1
CHECKPKG_OVERRIDES_CSW389-ds-base += surplus-dependency|CSWpython
CHECKPKG_OVERRIDES_CSW389-ds-base += init-file-missing-cswinitsmf-class|/etc/opt/csw/init.d/dirsrv-snmp|class=none
# is needed for setup scripts!
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Mon Mar 3 17:32:13 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Mon, 3 Mar 2014 16:32:13 +0000
Subject: SF.net SVN: gar:[23122] csw/mgar/pkg/mbuffer/trunk
Message-ID: <3fd6MT3G1yzTZ@mail.opencsw.org>
Revision: 23122
http://sourceforge.net/p/gar/code/23122
Author: dmichelsen
Date: 2014-03-03 16:32:12 +0000 (Mon, 03 Mar 2014)
Log Message:
-----------
mbuffer/trunk: Update to 20140126
Modified Paths:
--------------
csw/mgar/pkg/mbuffer/trunk/Makefile
csw/mgar/pkg/mbuffer/trunk/checksums
Modified: csw/mgar/pkg/mbuffer/trunk/Makefile
===================================================================
--- csw/mgar/pkg/mbuffer/trunk/Makefile 2014-03-03 15:32:12 UTC (rev 23121)
+++ csw/mgar/pkg/mbuffer/trunk/Makefile 2014-03-03 16:32:12 UTC (rev 23122)
@@ -1,5 +1,5 @@
NAME = mbuffer
-VERSION = 20130220
+VERSION = 20140126
GARTYPE = v2
DESCRIPTION = A tool for buffering data streams
Modified: csw/mgar/pkg/mbuffer/trunk/checksums
===================================================================
--- csw/mgar/pkg/mbuffer/trunk/checksums 2014-03-03 15:32:12 UTC (rev 23121)
+++ csw/mgar/pkg/mbuffer/trunk/checksums 2014-03-03 16:32:12 UTC (rev 23122)
@@ -1 +1 @@
-69674ee0a06dbd8fb26c8d5b3e8c8a2d mbuffer-20130220.tgz
+5d6eb4da888fa205fd20ddb04dc0b5d9 mbuffer-20140126.tgz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From jake_goerzen at users.sourceforge.net Mon Mar 3 20:44:38 2014
From: jake_goerzen at users.sourceforge.net (jake_goerzen at users.sourceforge.net)
Date: Mon, 3 Mar 2014 19:44:38 +0000
Subject: SF.net SVN: gar:[23123] csw/mgar/pkg/freeciv/trunk/Makefile
Message-ID: <3fdBdV5sMRz1JV@mail.opencsw.org>
Revision: 23123
http://sourceforge.net/p/gar/code/23123
Author: jake_goerzen
Date: 2014-03-03 19:44:37 +0000 (Mon, 03 Mar 2014)
Log Message:
-----------
freeciv: add needed runtime dependencies
Modified Paths:
--------------
csw/mgar/pkg/freeciv/trunk/Makefile
Modified: csw/mgar/pkg/freeciv/trunk/Makefile
===================================================================
--- csw/mgar/pkg/freeciv/trunk/Makefile 2014-03-03 16:32:12 UTC (rev 23122)
+++ csw/mgar/pkg/freeciv/trunk/Makefile 2014-03-03 19:44:37 UTC (rev 23123)
@@ -32,8 +32,12 @@
RUNTIME_DEP_PKGS_CSWfreeciv += CSWliblzma5
RUNTIME_DEP_PKGS_CSWfreeciv += CSWlibcurl4
RUNTIME_DEP_PKGS_CSWfreeciv += CSWlibfreetype6
+RUNTIME_DEP_PKGS_CSWfreeciv += CSWlibsqlite3-0
+RUNTIME_DEP_PKGS_CSWfreeciv += CSWsdlimage
+RUNTIME_DEP_PKGS_CSWfreeciv += CSWlibpq5
+RUNTIME_DEP_PKGS_CSWfreeciv += CSWlibpng15-15
+RUNTIME_DEP_PKGS_CSWfreeciv += CSWlibmysqlclient18
-
GARCOMPILER = GNU
PATCHFILES += 0001-use-finite-instead-of-isfinite-function.patch
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From jake_goerzen at users.sourceforge.net Tue Mar 4 00:36:10 2014
From: jake_goerzen at users.sourceforge.net (jake_goerzen at users.sourceforge.net)
Date: Mon, 3 Mar 2014 23:36:10 +0000
Subject: SF.net SVN: gar:[23124] csw/mgar/pkg/tor/trunk
Message-ID: <3fdHmn2CRWz6G@mail.opencsw.org>
Revision: 23124
http://sourceforge.net/p/gar/code/23124
Author: jake_goerzen
Date: 2014-03-03 23:36:01 +0000 (Mon, 03 Mar 2014)
Log Message:
-----------
tor: bump to version 0.2.4.21
Modified Paths:
--------------
csw/mgar/pkg/tor/trunk/Makefile
csw/mgar/pkg/tor/trunk/checksums
Modified: csw/mgar/pkg/tor/trunk/Makefile
===================================================================
--- csw/mgar/pkg/tor/trunk/Makefile 2014-03-03 19:44:37 UTC (rev 23123)
+++ csw/mgar/pkg/tor/trunk/Makefile 2014-03-03 23:36:01 UTC (rev 23124)
@@ -1,6 +1,6 @@
# $Id$
NAME = tor
-VERSION = 0.2.4.20
+VERSION = 0.2.4.21
GARTYPE = v2
DESCRIPTION = Secure network traffic router
Modified: csw/mgar/pkg/tor/trunk/checksums
===================================================================
--- csw/mgar/pkg/tor/trunk/checksums 2014-03-03 19:44:37 UTC (rev 23123)
+++ csw/mgar/pkg/tor/trunk/checksums 2014-03-03 23:36:01 UTC (rev 23124)
@@ -1 +1 @@
-a8cd8e3b3a3f6a7770f2c22d280f19b8 tor-0.2.4.20.tar.gz
+bde981d10e8faf1e171ef1ebbb7b398a tor-0.2.4.21.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 Tue Mar 4 01:19:26 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Tue, 4 Mar 2014 00:19:26 +0000
Subject: SF.net SVN: gar:[23125] csw/mgar/gar/v2/lib/python
Message-ID: <3fdJkc2yG3zKC@mail.opencsw.org>
Revision: 23125
http://sourceforge.net/p/gar/code/23125
Author: wahwah
Date: 2014-03-04 00:19:23 +0000 (Tue, 04 Mar 2014)
Log Message:
-----------
csw-upload-pkg: register pkg only when necessary
Calling the register function is destructive and causes a package to be
removed from all catalogs. The code probably needs to be written more
defensively against this, but at the very least we can stop calling it
unconditionally when uploading a package.
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/csw_upload_pkg.py
csw/mgar/gar/v2/lib/python/relational_util.py
Modified: csw/mgar/gar/v2/lib/python/csw_upload_pkg.py
===================================================================
--- csw/mgar/gar/v2/lib/python/csw_upload_pkg.py 2014-03-03 23:36:01 UTC (rev 23124)
+++ csw/mgar/gar/v2/lib/python/csw_upload_pkg.py 2014-03-04 00:19:23 UTC (rev 23125)
@@ -136,7 +136,8 @@
for filename in self.filenames:
self._ImportMetadata(filename)
md5_sum = self._GetFileMd5sum(filename)
- self._rest_client.RegisterLevelTwo(md5_sum)
+ if not self._rest_client.IsRegisteredLevelTwo(md5_sum):
+ self._rest_client.RegisterLevelTwo(md5_sum)
file_in_allpkgs, file_metadata = self._GetSrv4FileMetadata(md5_sum)
if file_in_allpkgs:
logging.debug("File %s already uploaded.", filename)
Modified: csw/mgar/gar/v2/lib/python/relational_util.py
===================================================================
--- csw/mgar/gar/v2/lib/python/relational_util.py 2014-03-03 23:36:01 UTC (rev 23124)
+++ csw/mgar/gar/v2/lib/python/relational_util.py 2014-03-04 00:19:23 UTC (rev 23125)
@@ -45,6 +45,9 @@
This function is intended to be called by the restful interface, not by
applications directly. Therefore, we're not using the RESTful interface here.
+
+ Note: This operation is destructive! Calling it results in the package being
+ removed from all the catalogs.
"""
# We assume stats already exist. If not, we're letting sqlobject throw an
# exception.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Tue Mar 4 01:19:43 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Tue, 4 Mar 2014 00:19:43 +0000
Subject: SF.net SVN: gar:[23126] csw/mgar/gar/v2/lib/web/pkgdb_web.py
Message-ID: <3fdJkv5V1bzNZ@mail.opencsw.org>
Revision: 23126
http://sourceforge.net/p/gar/code/23126
Author: wahwah
Date: 2014-03-04 00:19:43 +0000 (Tue, 04 Mar 2014)
Log Message:
-----------
pkgdb-web: Return a meaningful message from rest
When checking if a package exists in a certain catalog, return back parameters
of the query to allow double-checking.
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-04 00:19:23 UTC (rev 23125)
+++ csw/mgar/gar/v2/lib/web/pkgdb_web.py 2014-03-04 00:19:43 UTC (rev 23126)
@@ -545,7 +545,9 @@
web.header('Content-type', mimetype)
return cjson.encode(data)
except sqlobject.main.SQLObjectNotFound:
- raise web.notfound('Query returned no results.')
+ data = {'message': 'no %s %s %s %s packages found'
+ % (catrel_name, arch_name, osrel_name, catalogname)}
+ raise web.notfound(cjson.encode(data))
except sqlobject.dberrors.OperationalError as exc:
raise web.internalerror(exc)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From cgrzemba at users.sourceforge.net Tue Mar 4 08:30:25 2014
From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net)
Date: Tue, 4 Mar 2014 07:30:25 +0000
Subject: SF.net SVN: gar:[23127] csw/mgar/pkg/389-admin/trunk
Message-ID: <3fdVHv4DT1z1Kp@mail.opencsw.org>
Revision: 23127
http://sourceforge.net/p/gar/code/23127
Author: cgrzemba
Date: 2014-03-04 07:30:21 +0000 (Tue, 04 Mar 2014)
Log Message:
-----------
389-admin/trunk: update version, build deps, configure args, switch from Mozilla LDAP SDK to OpenLDAP
Modified Paths:
--------------
csw/mgar/pkg/389-admin/trunk/Makefile
csw/mgar/pkg/389-admin/trunk/checksums
Modified: csw/mgar/pkg/389-admin/trunk/Makefile
===================================================================
--- csw/mgar/pkg/389-admin/trunk/Makefile 2014-03-04 00:19:43 UTC (rev 23126)
+++ csw/mgar/pkg/389-admin/trunk/Makefile 2014-03-04 07:30:21 UTC (rev 23127)
@@ -2,7 +2,7 @@
# TODO (release-critical prefixed with !, non release-critical with *)
#
NAME = 389-admin
-VERSION = 1.1.30
+VERSION = 1.1.31
GARTYPE = v2
DESCRIPTION = The 389 LDAP server Admin Tools
@@ -30,6 +30,18 @@
PATCHFILES += 0003-correct-initscript-and-http.conf.in.patch
PATCHFILES += 0004-change-include-preferences-in-Makefile.am.patch
+BUILD_DEP_PKGS += CSWnspr-dev
+BUILD_DEP_PKGS += CSWlibnss-dev
+BUILD_DEP_PKGS += CSW389-adminutil-dev
+BUILD_DEP_PKGS += CSWapache2-dev CSWapache2
+BUILD_DEP_PKGS += CSWap2modnss
+BUILD_DEP_PKGS += CSWlibiconv-dev
+BUILD_DEP_PKGS += CSWlibicu-dev
+BUILD_DEP_PKGS += CSWsasl-dev
+BUILD_DEP_PKGS += CSWopenldap-dev
+BUILD_DEP_PKGS += CSWlibtool CSWautoconf CSWautomake
+
+
PACKAGES += CSWlibds-admin-serv0
CATALOGNAME_CSWlibds-admin-serv0 = libds_admin_serv0
PKGFILES_CSWlibds-admin-serv0 += $(call baseisadirs,$(libdir),libds-admin-serv\.so\.0(\.\d+)*)
@@ -80,26 +92,28 @@
EXTRA_LINKER_FLAGS = -xnorunpath -norunpath -liconv
CONFIGURE_ARGS = $(DIRPATHS)
-CONFIGURE_ARGS += --with-ldapsdk-inc=/opt/csw/include/dirsrv
-CONFIGURE_ARGS += --with-ldapsdk-lib=/opt/csw/lib
-CONFIGURE_ARGS += --with-icu-inc=/opt/csw/include
-CONFIGURE_ARGS += --with-icu-lib=/opt/csw/lib
-CONFIGURE_ARGS += --with-icu-bin=/opt/csw/bin
-CONFIGURE_ARGS += --with-sasl-inc=/opt/csw/include/sasl
-CONFIGURE_ARGS += --with-sasl-lib=/opt/csw/lib
-CONFIGURE_ARGS += --with-nspr-lib=/opt/csw/lib
-CONFIGURE_ARGS += --with-nspr-inc=/opt/csw/include/nspr
-CONFIGURE_ARGS += --with-nss-lib=/opt/csw/lib
-CONFIGURE_ARGS += --with-nss-inc=/opt/csw/include/nss
+CONFIGURE_ARGS += --with-openldap-inc=$(includedir)
+CONFIGURE_ARGS += --with-openldap=$(prefix)
+CONFIGURE_ARGS += --with-icu-inc=$(includedir)
+CONFIGURE_ARGS += --with-icu-lib=$(libdir)
+CONFIGURE_ARGS += --with-icu-bin=$(bindir)
+CONFIGURE_ARGS += --with-sasl-inc=$(includedir)/sasl
+CONFIGURE_ARGS += --with-sasl-lib=$(libdir)
+CONFIGURE_ARGS += --with-nspr-lib=$(libdir)
+CONFIGURE_ARGS += --with-nspr-inc=$(includedir)/nspr
+CONFIGURE_ARGS += --with-nss-lib=$(libdir)
+CONFIGURE_ARGS += --with-nss-inc=$(includedir)/nss
CONFIGURE_ARGS += --with-apxs=/opt/csw/apache2/sbin/apxs
CONFIGURE_ARGS += --with-httpd=/opt/csw/apache2/sbin/httpd
CONFIGURE_ARGS += --with-modnss-lib=/opt/csw/apache2/libexec
CONFIGURE_ARGS += --with-modnss-bin=/opt/csw/apache2/sbin
+# CONFIGURE_ARGS += --with-adminutil=/opt/csw
+
include gar/category.mk
pre-configure-modulated:
- cd $(WORKSRC) && rm ltmain.sh && libtoolize --copy --force
+ cd $(WORKSRC) && rm -f ltmain.sh && libtoolize --copy --force
cd $(WORKSRC) && aclocal
cd $(WORKSRC) && autoconf --force
cd $(WORKSRC) && automake -a -c -f
Modified: csw/mgar/pkg/389-admin/trunk/checksums
===================================================================
--- csw/mgar/pkg/389-admin/trunk/checksums 2014-03-04 00:19:43 UTC (rev 23126)
+++ csw/mgar/pkg/389-admin/trunk/checksums 2014-03-04 07:30:21 UTC (rev 23127)
@@ -1 +1 @@
-2a163a73d9eb96062b27e5d94e36e80f 389-admin-1.1.30.tar.bz2
+3abcdb7d588f6a22b613602c21d1d973 389-admin-1.1.31.tar.bz2
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Tue Mar 4 09:35:51 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Tue, 4 Mar 2014 08:35:51 +0000
Subject: SF.net SVN: gar:[23128] csw/mgar/pkg/xjobs/trunk
Message-ID: <3fdWlM6vQXzH0@mail.opencsw.org>
Revision: 23128
http://sourceforge.net/p/gar/code/23128
Author: dmichelsen
Date: 2014-03-04 08:35:50 +0000 (Tue, 04 Mar 2014)
Log Message:
-----------
xjobs/trunk: Update to 20140125
Modified Paths:
--------------
csw/mgar/pkg/xjobs/trunk/Makefile
csw/mgar/pkg/xjobs/trunk/checksums
Modified: csw/mgar/pkg/xjobs/trunk/Makefile
===================================================================
--- csw/mgar/pkg/xjobs/trunk/Makefile 2014-03-04 07:30:21 UTC (rev 23127)
+++ csw/mgar/pkg/xjobs/trunk/Makefile 2014-03-04 08:35:50 UTC (rev 23128)
@@ -1,5 +1,5 @@
NAME = xjobs
-VERSION = 20120412
+VERSION = 20140125
GARTYPE = v2
DESCRIPTION = Executes jobs in parallel similar to xargs
@@ -19,6 +19,14 @@
VENDOR_URL = http://www.maier-komor.de/xjobs.html
+# libumem.so.1 has only symbols which are not directly bindable
+# dam at unstable10s [unstable10s]:/home/dam/mgar/pkg/xjobs/trunk > $(mgar show-buildsys | cut -f1)/bin/check_db_symbols work/solaris10-sparc/pkgroot/opt/csw/bin/xjobs
+# Library Directly bound Not directly bound Not directly bindable
+# libumem.so.1 0 0 3
+# libc.so.1 74 0 2
+# libm.so.2 2 0 0
+CHECKPKG_OVERRIDES_CSWxjobs += no-direct-binding|/opt/csw/bin/xjobs|is|not|directly|bound|to|soname|libumem.so.1
+
# No tests available
TEST_SCRIPTS =
Modified: csw/mgar/pkg/xjobs/trunk/checksums
===================================================================
--- csw/mgar/pkg/xjobs/trunk/checksums 2014-03-04 07:30:21 UTC (rev 23127)
+++ csw/mgar/pkg/xjobs/trunk/checksums 2014-03-04 08:35:50 UTC (rev 23128)
@@ -1 +1 @@
-6a90ab1e998241171c78e4e25d38665c xjobs-20120412.tgz
+05d8ea4d83e7cb3694a43c6bb27e0a56 xjobs-20140125.tgz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Tue Mar 4 09:59:43 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Tue, 4 Mar 2014 08:59:43 +0000
Subject: SF.net SVN: gar:[23129] csw/mgar/gar/v2/lib/python
Message-ID: <3fdXGx6CZyzSY@mail.opencsw.org>
Revision: 23129
http://sourceforge.net/p/gar/code/23129
Author: wahwah
Date: 2014-03-04 08:59:42 +0000 (Tue, 04 Mar 2014)
Log Message:
-----------
chkdbcat: Make it executable (tests too)
chkdbcat_test: Add the #! line
chkdbcat: Fix unit tests and adapt to new code
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/chkdbcat.py
csw/mgar/gar/v2/lib/python/chkdbcat_test.py
Property Changed:
----------------
csw/mgar/gar/v2/lib/python/chkdbcat.py
csw/mgar/gar/v2/lib/python/chkdbcat_test.py
Modified: csw/mgar/gar/v2/lib/python/chkdbcat.py
===================================================================
--- csw/mgar/gar/v2/lib/python/chkdbcat.py 2014-03-04 08:35:50 UTC (rev 23128)
+++ csw/mgar/gar/v2/lib/python/chkdbcat.py 2014-03-04 08:59:42 UTC (rev 23129)
@@ -1,3 +1,4 @@
+#!/opt/csw/bin/python2.6
"""Check catalog data stored in the database for consistency.
Check catalog data stored in the database for consistency using Peter
@@ -5,7 +6,6 @@
Notifications for invalid catalogs can be customized by overriding
CheckDBCat.notify().
-
"""
import cjson
import datetime
@@ -16,8 +16,10 @@
import subprocess
import sys
import tempfile
+
+from lib.python import configuration
from lib.python.shell import ShellCommand
-from lib.python.rest import RestClient
+from lib.python.rest import RestClient, GetUsernameAndPassword
from lib.python.generate_catalog_file import CatalogFileGenerator
class FSLock(object):
@@ -221,13 +223,12 @@
]
"""
- return [dict(self.__list_to_dict_genrator(v)) for v in jdat]
+ return [dict(self.__list_to_dict_generator(v)) for v in jdat]
def fetch(self):
"""Fetch timing information using REST."""
- return RestClient().GetCatalogTimingInformation(self.__catrel,
- self.__arch,
- self.__osrel)
+ return self.rest_client.GetCatalogTimingInformation(
+ self.__catrel, self.__arch, self.__osrel)
def upload_newer_than(self, date):
"""Retrieve timing information on upload newer than "date"."""
@@ -282,7 +283,16 @@
methods.
"""
- self.__catalogfgen = CatalogFileGenerator(catrel, arch, osrel)
+ config = configuration.GetConfig()
+ username, password = GetUsernameAndPassword()
+ self.rest_client = RestClient(
+ pkgdb_url=config.get('rest', 'pkgdb'),
+ releases_url=config.get('rest', 'releases'),
+ username=username,
+ password=password)
+
+ self.__catalogfgen = CatalogFileGenerator(
+ catrel, arch, osrel, self.rest_client)
self.__chkcat = chkcat
# store for later use
@@ -321,7 +331,8 @@
if pkginfo['uploadby'] is not None and pkginfo['uploadby'] != "web":
return pkginfo['uploadby']+'@opencsw.org'
else:
- return RestClient().GetMaintainerByMd5(pkginfo['md5'])['maintainer_email']
+ return self.rest_client.GetMaintainerByMd5(
+ pkginfo['md5'])['maintainer_email']
def notify(self, date, addr, pkginfo):
"""Notification.
Property changes on: csw/mgar/gar/v2/lib/python/chkdbcat.py
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Modified: csw/mgar/gar/v2/lib/python/chkdbcat_test.py
===================================================================
--- csw/mgar/gar/v2/lib/python/chkdbcat_test.py 2014-03-04 08:35:50 UTC (rev 23128)
+++ csw/mgar/gar/v2/lib/python/chkdbcat_test.py 2014-03-04 08:59:42 UTC (rev 23129)
@@ -1,3 +1,5 @@
+#!/opt/csw/bin/python2.6
+
"""Tests for chkdbcat.py."""
import os
@@ -284,5 +286,5 @@
if __name__ == '__main__':
- logging.basicConfig(level=logging.DEBUG)
+ logging.basicConfig(level=logging.INFO)
unittest.main()
Property changes on: csw/mgar/gar/v2/lib/python/chkdbcat_test.py
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Tue Mar 4 09:59:51 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Tue, 4 Mar 2014 08:59:51 +0000
Subject: SF.net SVN: gar:[23130]
csw/mgar/gar/v2/lib/python/find_obsolete_pkgs.py
Message-ID: <3fdXH43hZ1zV2@mail.opencsw.org>
Revision: 23130
http://sourceforge.net/p/gar/code/23130
Author: wahwah
Date: 2014-03-04 08:59:50 +0000 (Tue, 04 Mar 2014)
Log Message:
-----------
find-obsolete-pkgs: Pass around rest_client
Since rest_client is necessary in a few places, let's instantiate it at the
top level and then pass the instance around between functions.
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/find_obsolete_pkgs.py
Modified: csw/mgar/gar/v2/lib/python/find_obsolete_pkgs.py
===================================================================
--- csw/mgar/gar/v2/lib/python/find_obsolete_pkgs.py 2014-03-04 08:59:42 UTC (rev 23129)
+++ csw/mgar/gar/v2/lib/python/find_obsolete_pkgs.py 2014-03-04 08:59:50 UTC (rev 23130)
@@ -52,18 +52,11 @@
class CompCatalog(object):
- def __init__(self, name, arch, osrel):
- config = configuration.GetConfig()
- username, password = rest.GetUsernameAndPassword()
- self.rest_client = rest.RestClient(
- pkgdb_url=config.get('rest', 'pkgdb'),
- releases_url=config.get('rest', 'releases'),
- username=username,
- password=password)
-
+ def __init__(self, name, arch, osrel, rest_client):
self.catrel = name
self.arch = arch
self.osrel = osrel
+ self.rest_client = rest_client
def __getCat(self, name,arch,osrel):
''' get dependcy list from catalog, read cached list if available '''
@@ -100,14 +93,15 @@
return self.__getCat(self.catrel,self.arch,self.osrel)
-def processCat(catrel,arch,osrel):
+def processCat(catrel, arch, osrel, rest_client):
logger.info("processCat: -> %r %r %r" % (catrel, arch, osrel))
- cc = CompCatalog(catrel,arch,osrel)
+
+ cc = CompCatalog(catrel, arch, osrel, rest_client)
pkg_by_pkgname = cc.getCatalog()
logger.info("processCat: iterate on %r" % (catrel))
# build reverse dependency list
- rev_deps_access = RevDeps()
+ rev_deps_access = RevDeps(rest_client)
rev_deps_by_pkg = {}
for pkgname in pkg_by_pkgname:
pkg = pkg_by_pkgname[pkgname]
@@ -130,9 +124,9 @@
return pkg_by_pkgname, rev_deps_by_pkg
-def ComputeRemoveAndRebuild(oldcatrel, newcatrel, arch, osrel):
- newcatlst, newrevdeplst = processCat(newcatrel,arch,osrel)
- oldcatlst, oldrevdeplst = processCat(oldcatrel,arch,osrel)
+def ComputeRemoveAndRebuild(oldcatrel, newcatrel, arch, osrel, rest_client):
+ newcatlst, newrevdeplst = processCat(newcatrel, arch, osrel, rest_client)
+ oldcatlst, oldrevdeplst = processCat(oldcatrel, arch, osrel, rest_client)
to_remove_candidates = []
rebuildlst = set()
@@ -231,8 +225,17 @@
def main():
oldcatrel, newcatrel, arch, osrel = GetCLIOptions()
+
+ config = configuration.GetConfig()
+ username, password = rest.GetUsernameAndPassword()
+ rest_client = rest.RestClient(
+ pkgdb_url=config.get('rest', 'pkgdb'),
+ releases_url=config.get('rest', 'releases'),
+ username=username,
+ password=password)
+
reallyremovelst, rebuildlst = ComputeRemoveAndRebuild(oldcatrel, newcatrel,
- arch, osrel)
+ arch, osrel, rest_client)
WriteToTextFiles(reallyremovelst, rebuildlst, newcatrel, arch, osrel)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From cgrzemba at users.sourceforge.net Tue Mar 4 16:53:47 2014
From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net)
Date: Tue, 4 Mar 2014 15:53:47 +0000
Subject: SF.net SVN: gar:[23131] csw/mgar/pkg/389-adminutil/trunk/Makefile
Message-ID: <3fdjSl1sNLz4y@mail.opencsw.org>
Revision: 23131
http://sourceforge.net/p/gar/code/23131
Author: cgrzemba
Date: 2014-03-04 15:53:47 +0000 (Tue, 04 Mar 2014)
Log Message:
-----------
389-adminutil/trunk: add runtime dependencies
Modified Paths:
--------------
csw/mgar/pkg/389-adminutil/trunk/Makefile
Modified: csw/mgar/pkg/389-adminutil/trunk/Makefile
===================================================================
--- csw/mgar/pkg/389-adminutil/trunk/Makefile 2014-03-04 08:59:50 UTC (rev 23130)
+++ csw/mgar/pkg/389-adminutil/trunk/Makefile 2014-03-04 15:53:47 UTC (rev 23131)
@@ -29,10 +29,11 @@
RUNTIME_DEP_PKGS_CSWlibadminutil0 += CSWlibnspr4
RUNTIME_DEP_PKGS_CSWlibadminutil0 += CSWlibplc4
RUNTIME_DEP_PKGS_CSWlibadminutil0 += CSWlibicuuc52
-RUNTIME_DEP_PKGS_CSWlibadminutil0 += CSWlibicui18n52
-RUNTIME_DEP_PKGS_CSWlibadminutil0 += CSWlibsasl2-2
+RUNTIME_DEP_PKGS_CSWlibadminutil0_sparc += CSWlibicui18n52
+RUNTIME_DEP_PKGS_CSWlibadminutil0_sparc += CSWlibsasl2-2
RUNTIME_DEP_PKGS_CSWlibadminutil0 += CSWlibldap2-4-2
-RUNTIME_DEP_PKGS_CSWlibadminutil0 += CSWlibicudata52
+RUNTIME_DEP_PKGS_CSWlibadminutil0_sparc += CSWlibicudata52
+RUNTIME_DEP_PKGS_CSWlibadminutil0 += $(RUNTIME_DEP_PKGS_CSWlibadminutil0_$(GARCH))
PACKAGES += CSWlibadmsslutil0
CATALOGNAME_CSWlibadmsslutil0 = libadmsslutil0
@@ -43,20 +44,17 @@
RUNTIME_DEP_PKGS_CSWlibadmsslutil0 += CSWlibplc4
RUNTIME_DEP_PKGS_CSWlibadmsslutil0 += CSWlibadminutil0
RUNTIME_DEP_PKGS_CSWlibadmsslutil0 += CSWlibssl3
-RUNTIME_DEP_PKGS_CSWlibadmsslutil0 += CSWlibicuuc52
-RUNTIME_DEP_PKGS_CSWlibadmsslutil0 += CSWlibicui18n52
-RUNTIME_DEP_PKGS_CSWlibadmsslutil0 += CSWlibsasl2-2
+RUNTIME_DEP_PKGS_CSWlibadmsslutil0_sparc += CSWlibicuuc52
+RUNTIME_DEP_PKGS_CSWlibadmsslutil0_sparc += CSWlibicui18n52
+RUNTIME_DEP_PKGS_CSWlibadmsslutil0_sparc += CSWlibsasl2-2
RUNTIME_DEP_PKGS_CSWlibadmsslutil0 += CSWlibldap2-4-2
-RUNTIME_DEP_PKGS_CSWlibadmsslutil0 += CSWlibicudata52
+RUNTIME_DEP_PKGS_CSWlibadmsslutil0_sparc += CSWlibicudata52
+RUNTIME_DEP_PKGS_CSWlibadmsslutil0 += $(RUNTIME_DEP_PKGS_CSWlibadmsslutil0_$(GARCH))
PACKAGES += CSW389-adminutil-dev
CATALOGNAME_CSW389-adminutil-dev = 389_adminutil_dev
ARCHALL_CSW389-adminutil-dev = 1
SPKG_DESC_CSW389-adminutil-dev += $(DESCRIPTION), development files
-# PKGFILES_CSW389-adminutil-dev += $(PKGFILES_DEV)
-# PKGFILES_CSW389-adminutil-dev += $(call baseisadirs,$(libdir),libadminutil\.so)
-# PKGFILES_CSW389-adminutil-dev += $(call baseisadirs,$(libdir),libadmsslutil\.so)
-# PKGFILES_CSW389-adminutil-dev += $(call baseisadirs,$(libdir)/pkgconfig,389adminutil\.pc)
RUNTIME_DEP_PKGS_CSW389-adminutil-dev += CSWlibadminutil0
RUNTIME_DEP_PKGS_CSW389-adminutil-dev += CSWlibadmsslutil0
CHECKPKG_OVERRIDES_CSW389-adminutil-dev += archall-devel-package
@@ -81,9 +79,6 @@
CONFIGURE_ARGS += --with-nspr-lib=$(libdir)
CONFIGURE_ARGS += --with-nspr-inc=$(includedir)/nspr
-# CHECKPKG_OVERRIDES_CSWlibadmsslutil0 += pkginfo-opencsw-repository-uncommitted
-# CHECKPKG_OVERRIDES_CSWlibadminutil0 += pkginfo-opencsw-repository-uncommitted
-# CHECKPKG_OVERRIDES_CSW389-adminutil-dev += pkginfo-opencsw-repository-uncommitted
include gar/category.mk
pre-configure-modulated:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Tue Mar 4 23:21:13 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Tue, 4 Mar 2014 22:21:13 +0000
Subject: SF.net SVN: gar:[23132] csw/mgar/gar/v2/bin/check_db_symbols
Message-ID: <3fdt3l48R9znK@mail.opencsw.org>
Revision: 23132
http://sourceforge.net/p/gar/code/23132
Author: chninkel
Date: 2014-03-04 22:21:10 +0000 (Tue, 04 Mar 2014)
Log Message:
-----------
gar/v2: (check_db_symbols) handle the case where only the library path is given by ldd
Modified Paths:
--------------
csw/mgar/gar/v2/bin/check_db_symbols
Modified: csw/mgar/gar/v2/bin/check_db_symbols
===================================================================
--- csw/mgar/gar/v2/bin/check_db_symbols 2014-03-04 15:53:47 UTC (rev 23131)
+++ csw/mgar/gar/v2/bin/check_db_symbols 2014-03-04 22:21:10 UTC (rev 23132)
@@ -56,12 +56,16 @@
while (my $line = <$ldd>) {
my ( $soname, $library_path ) = (
$line =~ m{\s*(\S+) # soname
- \s+=>\s+
- (\S+) # library path
+ (?:\s+=>\s+
+ (\S+))? # library path
}x
);
# (file not found) case
- if ($library_path eq '(file') {
+ if (not defined ($library_path)) {
+ $library_path = $soname;
+ $soname = (split(/\//, $soname))[-1]
+
+ } elsif ($library_path eq '(file') {
$library_path = undef;
}
$library_location{$soname} = $library_path;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Tue Mar 4 23:25:20 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Tue, 4 Mar 2014 22:25:20 +0000
Subject: SF.net SVN: gar:[23133] csw/mgar/gar/v2/bin/check_db_symbols
Message-ID: <3fdt8V5dhyzrp@mail.opencsw.org>
Revision: 23133
http://sourceforge.net/p/gar/code/23133
Author: chninkel
Date: 2014-03-04 22:25:18 +0000 (Tue, 04 Mar 2014)
Log Message:
-----------
gar/v2: (check_db_symbols) some perltidying
Modified Paths:
--------------
csw/mgar/gar/v2/bin/check_db_symbols
Modified: csw/mgar/gar/v2/bin/check_db_symbols
===================================================================
--- csw/mgar/gar/v2/bin/check_db_symbols 2014-03-04 22:21:10 UTC (rev 23132)
+++ csw/mgar/gar/v2/bin/check_db_symbols 2014-03-04 22:25:18 UTC (rev 23133)
@@ -20,11 +20,12 @@
my %symbol_flags_of;
local $ENV{'LANG'} = 'C';
- open( my $elfdump, '-|', "$ELFDUMP_BIN -y $binary" ) or die "ERROR: Can't analyze $binary with elfdump !";
- while (my $line = <$elfdump>) {
+ open( my $elfdump, '-|', "$ELFDUMP_BIN -y $binary" )
+ or die "ERROR: Can't analyze $binary with elfdump !";
+ while ( my $line = <$elfdump> ) {
chomp($line);
next if not(
- $line =~ m{
+ $line =~ m{
\[(?\d+)\]\s+
(?\S+)\s+
(?:(?
@@ -52,22 +53,25 @@
my %library_location;
local $ENV{'LANG'} = 'C';
- open( my $ldd, '-|', "$LDD_BIN $binary" ) or die "ERROR: Can't analyze $binary with elfdump !";
- while (my $line = <$ldd>) {
+ open( my $ldd, '-|', "$LDD_BIN $binary" )
+ or die "ERROR: Can't analyze $binary with elfdump !";
+ while ( my $line = <$ldd> ) {
my ( $soname, $library_path ) = (
$line =~ m{\s*(\S+) # soname
(?:\s+=>\s+
(\S+))? # library path
}x
);
- # (file not found) case
- if (not defined ($library_path)) {
- $library_path = $soname;
- $soname = (split(/\//, $soname))[-1]
- } elsif ($library_path eq '(file') {
- $library_path = undef;
- }
+ # (file not found) case
+ if ( not defined($library_path) ) {
+ $library_path = $soname;
+ $soname = ( split( /\//, $soname ) )[-1]
+
+ }
+ elsif ( $library_path eq '(file' ) {
+ $library_path = undef;
+ }
$library_location{$soname} = $library_path;
}
close($ldd);
@@ -82,20 +86,20 @@
Print some statistics about the direct binding status of symbols of a given binary
EOF
- exit ($exit_code);
+ exit($exit_code);
}
###################################################################
# Main program
###################################################################
-if (@ARGV < 1) {
- usage (1);
+if ( @ARGV < 1 ) {
+ usage(1);
}
my $binary = $ARGV[0];
-if ( ! -f $binary ) {
+if ( !-f $binary ) {
print STDERR "ERROR: $binary file doesn't exist !!\n\n";
exit(2);
}
@@ -124,11 +128,11 @@
);
my $library_location = $library_location_of->{$soname};
- if (not defined($library_location)) {
- push (@unfound_libraries, $soname);
- next;
+ if ( not defined($library_location) ) {
+ push( @unfound_libraries, $soname );
+ next;
}
- my $soname_symbol_flags_for = get_symbols_flags( $library_location );
+ my $soname_symbol_flags_for = get_symbols_flags($library_location);
foreach my $symbol ( keys( %{ $symbol_flags_of->{$soname} } ) ) {
my $flag = $symbol_flags_of->{$soname}{$symbol};
@@ -157,12 +161,12 @@
}
if (@unfound_libraries) {
- print <<'EOF';
+ print <<'EOF';
The following libraries were not found, please make sure
I can find them next time by setting LD_LIBRARY_PATH adequately:
EOF
- print ("\t" . join(', ', @unfound_libraries) . "\n");
+ print( "\t" . join( ', ', @unfound_libraries ) . "\n" );
}
print "\n";
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Tue Mar 4 23:51:54 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Tue, 4 Mar 2014 22:51:54 +0000
Subject: SF.net SVN: gar:[23134]
csw/mgar/gar/v2/lib/python/dependency_checks.py
Message-ID: <3fdtl64vckzxp@mail.opencsw.org>
Revision: 23134
http://sourceforge.net/p/gar/code/23134
Author: chninkel
Date: 2014-03-04 22:51:53 +0000 (Tue, 04 Mar 2014)
Log Message:
-----------
gar/v2: add libumem to the list of solaris native libraries
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/dependency_checks.py
Modified: csw/mgar/gar/v2/lib/python/dependency_checks.py
===================================================================
--- csw/mgar/gar/v2/lib/python/dependency_checks.py 2014-03-04 22:25:18 UTC (rev 23133)
+++ csw/mgar/gar/v2/lib/python/dependency_checks.py 2014-03-04 22:51:53 UTC (rev 23134)
@@ -49,7 +49,7 @@
BASE_SOLARIS_LIBRARIES = set([
"libsocket.so.1", "libnsl.so.1", "libdl.so.1", "librt.so.1",
- "libresolv.so.2", "libpthread.so.1",
+ "libresolv.so.2", "libpthread.so.1", "libumem.so.1",
# linked by default with C++, see "Default C++ Libraries"
# in Solaris Studio C++ User's Guide
"libCstd.so.1", "libCrun.so.1", "libm.so.1", "libm.so.2",
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Wed Mar 5 00:14:13 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Tue, 4 Mar 2014 23:14:13 +0000
Subject: SF.net SVN: gar:[23135] csw/mgar/pkg/ruby20/trunk
Message-ID: <3fdvDs21TGz18Y@mail.opencsw.org>
Revision: 23135
http://sourceforge.net/p/gar/code/23135
Author: chninkel
Date: 2014-03-04 23:14:12 +0000 (Tue, 04 Mar 2014)
Log Message:
-----------
ruby20/trunk: update to patch level 451
Modified Paths:
--------------
csw/mgar/pkg/ruby20/trunk/Makefile
csw/mgar/pkg/ruby20/trunk/checksums
Modified: csw/mgar/pkg/ruby20/trunk/Makefile
===================================================================
--- csw/mgar/pkg/ruby20/trunk/Makefile 2014-03-04 22:51:53 UTC (rev 23134)
+++ csw/mgar/pkg/ruby20/trunk/Makefile 2014-03-04 23:14:12 UTC (rev 23135)
@@ -6,7 +6,7 @@
DISTVERSION = $(SHORTVER).0
DISTNAME = ruby-$(VERSION)-$(PATCHLEVEL)
VERSION = $(DISTVERSION)
-PATCHLEVEL = p0
+PATCHLEVEL = p451
GARTYPE = v2
DESCRIPTION = An object-oriented language for quick and easy programming.
Modified: csw/mgar/pkg/ruby20/trunk/checksums
===================================================================
--- csw/mgar/pkg/ruby20/trunk/checksums 2014-03-04 22:51:53 UTC (rev 23134)
+++ csw/mgar/pkg/ruby20/trunk/checksums 2014-03-04 23:14:12 UTC (rev 23135)
@@ -1 +1 @@
-50d307c4dc9297ae59952527be4e755d ruby-2.0.0-p0.tar.gz
+9227787a9636551f1749ee8394b5ffe5 ruby-2.0.0-p451.tar.gz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From cgrzemba at users.sourceforge.net Wed Mar 5 08:00:37 2014
From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net)
Date: Wed, 5 Mar 2014 07:00:37 +0000
Subject: SF.net SVN: gar:[23136] csw/mgar/pkg/389-ds-base/trunk/Makefile
Message-ID: <3ff5b85HtjzcZ@mail.opencsw.org>
Revision: 23136
http://sourceforge.net/p/gar/code/23136
Author: cgrzemba
Date: 2014-03-05 07:00:34 +0000 (Wed, 05 Mar 2014)
Log Message:
-----------
389-ds-base/trunk: set debug mode
Modified Paths:
--------------
csw/mgar/pkg/389-ds-base/trunk/Makefile
Modified: csw/mgar/pkg/389-ds-base/trunk/Makefile
===================================================================
--- csw/mgar/pkg/389-ds-base/trunk/Makefile 2014-03-04 23:14:12 UTC (rev 23135)
+++ csw/mgar/pkg/389-ds-base/trunk/Makefile 2014-03-05 07:00:34 UTC (rev 23136)
@@ -105,6 +105,8 @@
CPPFLAGS =
EXTRA_LINKER_FLAGS = -xnorunpath -norunpath
+GARFLAVOR = DBG
+
CONFIGURE_ARGS = $(DIRPATHS)
# CONFIGURE_ARGS += --with-ldapsdk-inc=$(includedir)/dirsrv
# CONFIGURE_ARGS += --with-ldapsdk-lib=$(libdir)
@@ -125,6 +127,7 @@
CONFIGURE_ARGS += --with-nss-inc=$(includedir)/nss
CONFIGURE_ARGS += --with-nspr-lib=$(libdir)
CONFIGURE_ARGS += --with-nspr-inc=$(includedir)/nspr
+CONFIGURE_ARGS_DBG += --enable-debug
include gar/category.mk
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From lblume at users.sourceforge.net Wed Mar 5 09:33:58 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Wed, 5 Mar 2014 08:33:58 +0000
Subject: SF.net SVN: gar:[23137] csw/mgar/pkg/graphicsmagick/trunk
Message-ID: <3ff7fp4P7hz12j@mail.opencsw.org>
Revision: 23137
http://sourceforge.net/p/gar/code/23137
Author: lblume
Date: 2014-03-05 08:33:56 +0000 (Wed, 05 Mar 2014)
Log Message:
-----------
graphicsmagick/trunk: Bump to 1.3.19
Modified Paths:
--------------
csw/mgar/pkg/graphicsmagick/trunk/Makefile
csw/mgar/pkg/graphicsmagick/trunk/checksums
Modified: csw/mgar/pkg/graphicsmagick/trunk/Makefile
===================================================================
--- csw/mgar/pkg/graphicsmagick/trunk/Makefile 2014-03-05 07:00:34 UTC (rev 23136)
+++ csw/mgar/pkg/graphicsmagick/trunk/Makefile 2014-03-05 08:33:56 UTC (rev 23137)
@@ -2,7 +2,7 @@
# TODO (release-critical prefixed with !, non release-critical with *)
#
NAME = graphicsmagick
-VERSION = 1.3.18
+VERSION = 1.3.19
GARTYPE = v2
DESCRIPTION = GraphicsMagick Image Processing System
Modified: csw/mgar/pkg/graphicsmagick/trunk/checksums
===================================================================
--- csw/mgar/pkg/graphicsmagick/trunk/checksums 2014-03-05 07:00:34 UTC (rev 23136)
+++ csw/mgar/pkg/graphicsmagick/trunk/checksums 2014-03-05 08:33:56 UTC (rev 23137)
@@ -1 +1 @@
-45e16e0e9628c167390de837d2144042 GraphicsMagick-1.3.18.tar.xz
+e2795d7bdc2f3917804e40c8cae1993e GraphicsMagick-1.3.19.tar.xz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From lblume at users.sourceforge.net Wed Mar 5 17:22:59 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Wed, 5 Mar 2014 16:22:59 +0000
Subject: SF.net SVN: gar:[23138] csw/mgar/pkg/graphicsmagick/trunk/Makefile
Message-ID: <3ffL412pY0z17C@mail.opencsw.org>
Revision: 23138
http://sourceforge.net/p/gar/code/23138
Author: lblume
Date: 2014-03-05 16:22:59 +0000 (Wed, 05 Mar 2014)
Log Message:
-----------
graphicsmagick/trunk: Add workaround for ld bug
Modified Paths:
--------------
csw/mgar/pkg/graphicsmagick/trunk/Makefile
Modified: csw/mgar/pkg/graphicsmagick/trunk/Makefile
===================================================================
--- csw/mgar/pkg/graphicsmagick/trunk/Makefile 2014-03-05 08:33:56 UTC (rev 23137)
+++ csw/mgar/pkg/graphicsmagick/trunk/Makefile 2014-03-05 16:22:59 UTC (rev 23138)
@@ -82,6 +82,29 @@
RUNTIME_DEP_PKGS_CSWlibgraphicsmagickwand-q16-2 += CSWlibgraphicsmagick-q16-3
RUNTIME_DEP_PKGS_CSWlibgraphicsmagickwand-q16-2 += CSWlibgcc-s1
+###
+# Needed for the Solaris ld bug
+ifeq ($(shell /usr/bin/uname -p),sparc)
+RUNTIME_DEP_PKGS_CSWlibgraphicsmagickwand-q16-2 += CSWlibltdl7
+RUNTIME_DEP_PKGS_CSWlibgraphicsmagickwand-q16-2 += CSWlibbz2-1-0
+RUNTIME_DEP_PKGS_CSWlibgraphicsmagickwand-q16-2 += CSWlibz1
+RUNTIME_DEP_PKGS_CSWlibgraphicsmagickwand-q16-2 += CSWlibfreetype6
+RUNTIME_DEP_PKGS_CSWlibgraphicsmagickwand-q16-2 += CSWliblcms2-2
+RUNTIME_DEP_PKGS_CSWlibgraphicsmagickwand-q16-2 += CSWlibgomp1
+RUNTIME_DEP_PKGS_CSWlibgraphicsmagick++q16-3 += CSWlibltdl7
+RUNTIME_DEP_PKGS_CSWlibgraphicsmagick++q16-3 += CSWlibbz2-1-0
+RUNTIME_DEP_PKGS_CSWlibgraphicsmagick++q16-3 += CSWlibz1
+RUNTIME_DEP_PKGS_CSWlibgraphicsmagick++q16-3 += CSWlibfreetype6
+RUNTIME_DEP_PKGS_CSWlibgraphicsmagick++q16-3 += CSWliblcms2-2
+RUNTIME_DEP_PKGS_CSWlibgraphicsmagick++q16-3 += CSWlibgomp1
+RUNTIME_DEP_PKGS_CSWgraphicsmagick += CSWlibltdl7
+RUNTIME_DEP_PKGS_CSWgraphicsmagick += CSWliblzma5
+RUNTIME_DEP_PKGS_CSWgraphicsmagick += CSWliblcms2-2
+RUNTIME_DEP_PKGS_CSWgraphicsmagick += CSWlibwebp4
+RUNTIME_DEP_PKGS_CSWgraphicsmagick += CSWlibfreetype6
+endif
+###
+
# A few tests are failing
SKIPTEST ?= 1
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From lblume at users.sourceforge.net Wed Mar 5 19:23:24 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Wed, 5 Mar 2014 18:23:24 +0000
Subject: SF.net SVN: gar:[23139] csw/mgar/pkg/graphicsmagick/trunk/Makefile
Message-ID: <3ffNks59bWz2V@mail.opencsw.org>
Revision: 23139
http://sourceforge.net/p/gar/code/23139
Author: lblume
Date: 2014-03-05 18:23:22 +0000 (Wed, 05 Mar 2014)
Log Message:
-----------
graphicsmagick/trunk: One dependency is really needed
Modified Paths:
--------------
csw/mgar/pkg/graphicsmagick/trunk/Makefile
Modified: csw/mgar/pkg/graphicsmagick/trunk/Makefile
===================================================================
--- csw/mgar/pkg/graphicsmagick/trunk/Makefile 2014-03-05 16:22:59 UTC (rev 23138)
+++ csw/mgar/pkg/graphicsmagick/trunk/Makefile 2014-03-05 18:23:22 UTC (rev 23139)
@@ -42,6 +42,7 @@
RUNTIME_DEP_PKGS_CSWgraphicsmagick += CSWlibgomp1
RUNTIME_DEP_PKGS_CSWgraphicsmagick += CSWlibgcc-s1
RUNTIME_DEP_PKGS_CSWgraphicsmagick += CSWlibjpeg7
+RUNTIME_DEP_PKGS_CSWgraphicsmagick += CSWlibwebp4
PACKAGES += CSWgraphicsmagick-dev
CATALOGNAME_CSWgraphicsmagick-dev = graphicsmagick_dev
@@ -100,7 +101,6 @@
RUNTIME_DEP_PKGS_CSWgraphicsmagick += CSWlibltdl7
RUNTIME_DEP_PKGS_CSWgraphicsmagick += CSWliblzma5
RUNTIME_DEP_PKGS_CSWgraphicsmagick += CSWliblcms2-2
-RUNTIME_DEP_PKGS_CSWgraphicsmagick += CSWlibwebp4
RUNTIME_DEP_PKGS_CSWgraphicsmagick += CSWlibfreetype6
endif
###
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Wed Mar 5 21:11:56 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Wed, 5 Mar 2014 20:11:56 +0000
Subject: SF.net SVN: gar:[23140] csw/mgar/pkg/gnutls/trunk
Message-ID: <3ffR8C3YTVzFK@mail.opencsw.org>
Revision: 23140
http://sourceforge.net/p/gar/code/23140
Author: chninkel
Date: 2014-03-05 20:11:52 +0000 (Wed, 05 Mar 2014)
Log Message:
-----------
gnutls/trunk: applied security fixes for CVE-2014-1959 and CVE-2014-0092
Modified Paths:
--------------
csw/mgar/pkg/gnutls/trunk/Makefile
Added Paths:
-----------
csw/mgar/pkg/gnutls/trunk/files/0006-CVE-2014-1959.patch
csw/mgar/pkg/gnutls/trunk/files/0007-CVE-2014-0092.patch
Modified: csw/mgar/pkg/gnutls/trunk/Makefile
===================================================================
--- csw/mgar/pkg/gnutls/trunk/Makefile 2014-03-05 18:23:22 UTC (rev 23139)
+++ csw/mgar/pkg/gnutls/trunk/Makefile 2014-03-05 20:11:52 UTC (rev 23140)
@@ -28,8 +28,11 @@
# We workaround the problem by changing the test so it expects
# the certificates to be expired (another solution is to use LD_PRELOAD).
PATCHFILES += 0004-workaround-certificate-expiration-issue-in-the-test-.patch
-# Security fix for CVE-2013-2116
+
+# Security fixes
PATCHFILES += 0005-CVE-2013-2116.patch
+PATCHFILES += 0006-CVE-2014-1959.patch
+PATCHFILES += 0007-CVE-2014-0092.patch
UFILES_REGEX = $(NAME)-(\d+(?:\.\d+)*).tar.bz2
Added: csw/mgar/pkg/gnutls/trunk/files/0006-CVE-2014-1959.patch
===================================================================
--- csw/mgar/pkg/gnutls/trunk/files/0006-CVE-2014-1959.patch (rev 0)
+++ csw/mgar/pkg/gnutls/trunk/files/0006-CVE-2014-1959.patch 2014-03-05 20:11:52 UTC (rev 23140)
@@ -0,0 +1,37 @@
+From b1abfe3d182d68539900092eb42fc62cf1bb7e7c Mon Sep 17 00:00:00 2001
+From: Nikos Mavrogiannopoulos
+Date: Wed, 12 Feb 2014 16:11:58 +0100
+Subject: [PATCH] Fix bug that prevented the rejection of v1 intermediate CA certificates.
+
+Reported by Suman Jana.
+---
+ lib/x509/verify.c | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+diff --git a/lib/x509/verify.c b/lib/x509/verify.c
+index 2b64ab6..b916ee5 100644
+--- a/lib/x509/verify.c
++++ b/lib/x509/verify.c
+@@ -193,6 +193,7 @@ check_if_ca(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
+ result = 1;
+ goto cleanup;
+ }
++
+ /* Handle V1 CAs that do not have a basicConstraint, but accept
+ these certs only if the appropriate flags are set. */
+ else if ((result == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) &&
+@@ -692,8 +693,10 @@ _gnutls_x509_verify_certificate(const gnutls_x509_crt_t * certificate_list,
+ /* note that here we disable this V1 CA flag. So that no version 1
+ * certificates can exist in a supplied chain.
+ */
+- if (!(flags & GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT))
++ if (!(flags & GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT)) {
+ flags &= ~(GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT);
++ flags |= GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT;
++ }
+ if ((ret =
+ _gnutls_verify_certificate2(certificate_list[i - 1],
+ &certificate_list[i], 1,
+--
+1.7.1
+
Added: csw/mgar/pkg/gnutls/trunk/files/0007-CVE-2014-0092.patch
===================================================================
--- csw/mgar/pkg/gnutls/trunk/files/0007-CVE-2014-0092.patch (rev 0)
+++ csw/mgar/pkg/gnutls/trunk/files/0007-CVE-2014-0092.patch 2014-03-05 20:11:52 UTC (rev 23140)
@@ -0,0 +1,102 @@
+From 6aa26f78150ccbdf0aec1878a41c17c41d358a3b Mon Sep 17 00:00:00 2001
+From: Nikos Mavrogiannopoulos
+Date: Thu, 27 Feb 2014 19:42:26 +0100
+Subject: [PATCH] corrected return codes
+
+---
+ lib/x509/verify.c | 16 ++++++++++------
+ 1 files changed, 10 insertions(+), 6 deletions(-)
+
+diff --git a/lib/x509/verify.c b/lib/x509/verify.c
+index c9a6b0d..eef85a8 100644
+--- a/lib/x509/verify.c
++++ b/lib/x509/verify.c
+@@ -141,7 +141,7 @@ check_if_ca (gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
+ if (result < 0)
+ {
+ gnutls_assert ();
+- goto cleanup;
++ goto fail;
+ }
+
+ result =
+@@ -150,7 +150,7 @@ check_if_ca (gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
+ if (result < 0)
+ {
+ gnutls_assert ();
+- goto cleanup;
++ goto fail;
+ }
+
+ result =
+@@ -158,7 +158,7 @@ check_if_ca (gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
+ if (result < 0)
+ {
+ gnutls_assert ();
+- goto cleanup;
++ goto fail;
+ }
+
+ result =
+@@ -166,7 +166,7 @@ check_if_ca (gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
+ if (result < 0)
+ {
+ gnutls_assert ();
+- goto cleanup;
++ goto fail;
+ }
+
+ /* If the subject certificate is the same as the issuer
+@@ -206,6 +206,7 @@ check_if_ca (gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
+ else
+ gnutls_assert ();
+
++fail:
+ result = 0;
+
+ cleanup:
+@@ -330,7 +331,7 @@ _gnutls_verify_certificate2 (gnutls_x509_crt_t cert,
+ gnutls_datum_t cert_signed_data = { NULL, 0 };
+ gnutls_datum_t cert_signature = { NULL, 0 };
+ gnutls_x509_crt_t issuer = NULL;
+- int issuer_version, result;
++ int issuer_version, result = 0;
+
+ if (output)
+ *output = 0;
+@@ -363,7 +364,7 @@ _gnutls_verify_certificate2 (gnutls_x509_crt_t cert,
+ if (issuer_version < 0)
+ {
+ gnutls_assert ();
+- return issuer_version;
++ return 0;
+ }
+
+ if (!(flags & GNUTLS_VERIFY_DISABLE_CA_SIGN) &&
+@@ -385,6 +386,7 @@ _gnutls_verify_certificate2 (gnutls_x509_crt_t cert,
+ if (result < 0)
+ {
+ gnutls_assert ();
++ result = 0;
+ goto cleanup;
+ }
+
+@@ -393,6 +395,7 @@ _gnutls_verify_certificate2 (gnutls_x509_crt_t cert,
+ if (result < 0)
+ {
+ gnutls_assert ();
++ result = 0;
+ goto cleanup;
+ }
+
+@@ -410,6 +413,7 @@ _gnutls_verify_certificate2 (gnutls_x509_crt_t cert,
+ else if (result < 0)
+ {
+ gnutls_assert();
++ result = 0;
+ goto cleanup;
+ }
+
+--
+1.7.1
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Wed Mar 5 21:12:30 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Wed, 5 Mar 2014 20:12:30 +0000
Subject: SF.net SVN: gar:[23141] csw/mgar/pkg/gnutls3/trunk
Message-ID: <3ffR8n5Zx5zJj@mail.opencsw.org>
Revision: 23141
http://sourceforge.net/p/gar/code/23141
Author: chninkel
Date: 2014-03-05 20:12:26 +0000 (Wed, 05 Mar 2014)
Log Message:
-----------
gnutls3/trunk: updated to 3.1.22
Modified Paths:
--------------
csw/mgar/pkg/gnutls3/trunk/Makefile
csw/mgar/pkg/gnutls3/trunk/checksums
Modified: csw/mgar/pkg/gnutls3/trunk/Makefile
===================================================================
--- csw/mgar/pkg/gnutls3/trunk/Makefile 2014-03-05 20:11:52 UTC (rev 23140)
+++ csw/mgar/pkg/gnutls3/trunk/Makefile 2014-03-05 20:12:26 UTC (rev 23141)
@@ -1,5 +1,5 @@
NAME = gnutls
-VERSION = 3.1.14
+VERSION = 3.1.22
DESCRIPTION = GNU Transport Layer Security libraries and tools
define BLURB
Modified: csw/mgar/pkg/gnutls3/trunk/checksums
===================================================================
--- csw/mgar/pkg/gnutls3/trunk/checksums 2014-03-05 20:11:52 UTC (rev 23140)
+++ csw/mgar/pkg/gnutls3/trunk/checksums 2014-03-05 20:12:26 UTC (rev 23141)
@@ -1 +1 @@
-0c68ab04c41fcafaad033d17434510b5 gnutls-3.1.14.tar.xz
+dbce77e502a5643961d3683b6e8f3bd5 gnutls-3.1.22.tar.xz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Wed Mar 5 21:12:57 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Wed, 5 Mar 2014 20:12:57 +0000
Subject: SF.net SVN: gar:[23142]
csw/mgar/pkg/gnutls/trunk/files/0006-CVE-2014-1959. patch
Message-ID: <3ffR9H73XpzN4@mail.opencsw.org>
Revision: 23142
http://sourceforge.net/p/gar/code/23142
Author: chninkel
Date: 2014-03-05 20:12:51 +0000 (Wed, 05 Mar 2014)
Log Message:
-----------
gnutls/trunk: updated 0006-CVE-2014-1959.patch to apply on 2.12.23 using debian one
Modified Paths:
--------------
csw/mgar/pkg/gnutls/trunk/files/0006-CVE-2014-1959.patch
Modified: csw/mgar/pkg/gnutls/trunk/files/0006-CVE-2014-1959.patch
===================================================================
--- csw/mgar/pkg/gnutls/trunk/files/0006-CVE-2014-1959.patch 2014-03-05 20:12:26 UTC (rev 23141)
+++ csw/mgar/pkg/gnutls/trunk/files/0006-CVE-2014-1959.patch 2014-03-05 20:12:51 UTC (rev 23142)
@@ -1,3 +1,5 @@
+Backport of:
+
From b1abfe3d182d68539900092eb42fc62cf1bb7e7c Mon Sep 17 00:00:00 2001
From: Nikos Mavrogiannopoulos
Date: Wed, 12 Feb 2014 16:11:58 +0100
@@ -8,30 +10,19 @@
lib/x509/verify.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
-diff --git a/lib/x509/verify.c b/lib/x509/verify.c
-index 2b64ab6..b916ee5 100644
---- a/lib/x509/verify.c
-+++ b/lib/x509/verify.c
-@@ -193,6 +193,7 @@ check_if_ca(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,
- result = 1;
- goto cleanup;
- }
-+
- /* Handle V1 CAs that do not have a basicConstraint, but accept
- these certs only if the appropriate flags are set. */
- else if ((result == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) &&
-@@ -692,8 +693,10 @@ _gnutls_x509_verify_certificate(const gnutls_x509_crt_t * certificate_list,
- /* note that here we disable this V1 CA flag. So that no version 1
- * certificates can exist in a supplied chain.
- */
-- if (!(flags & GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT))
-+ if (!(flags & GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT)) {
- flags &= ~(GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT);
-+ flags |= GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT;
-+ }
- if ((ret =
- _gnutls_verify_certificate2(certificate_list[i - 1],
- &certificate_list[i], 1,
---
-1.7.1
-
+Index: gnutls26-2.12.23/lib/x509/verify.c
+===================================================================
+--- gnutls26-2.12.23.orig/lib/x509/verify.c 2014-02-24 13:54:39.320147502 -0500
++++ gnutls26-2.12.23/lib/x509/verify.c 2014-02-24 13:56:11.532148997 -0500
+@@ -644,8 +644,10 @@
+ /* note that here we disable this V1 CA flag. So that no version 1
+ * certificates can exist in a supplied chain.
+ */
+- if (!(flags & GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT))
++ if (!(flags & GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT)) {
+ flags &= ~(GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT);
++ flags |= GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT;
++ }
+ if ((ret =
+ _gnutls_verify_certificate2 (certificate_list[i - 1],
+ &certificate_list[i], 1, flags,
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Wed Mar 5 21:13:28 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Wed, 5 Mar 2014 20:13:28 +0000
Subject: SF.net SVN: gar:[23143] csw/mgar/pkg/gnutls3/trunk
Message-ID: <3ffR9y5NG7zRV@mail.opencsw.org>
Revision: 23143
http://sourceforge.net/p/gar/code/23143
Author: chninkel
Date: 2014-03-05 20:13:22 +0000 (Wed, 05 Mar 2014)
Log Message:
-----------
gnutls3/trunk: update a no-gets-warning patch so that it can be applied without needing to call autoreconf
Modified Paths:
--------------
csw/mgar/pkg/gnutls3/trunk/Makefile
csw/mgar/pkg/gnutls3/trunk/files/0001-no-gets-warning.patch
Added Paths:
-----------
csw/mgar/pkg/gnutls3/trunk/files/0001-no-gets-warning-before-autoconf.patch
Modified: csw/mgar/pkg/gnutls3/trunk/Makefile
===================================================================
--- csw/mgar/pkg/gnutls3/trunk/Makefile 2014-03-05 20:12:51 UTC (rev 23142)
+++ csw/mgar/pkg/gnutls3/trunk/Makefile 2014-03-05 20:13:22 UTC (rev 23143)
@@ -67,6 +67,9 @@
RUNTIME_DEP_PKGS_CSWlibgnutls-dev += CSWlibgnutls28
OBSOLETED_BY_CSWlibgnutls-dev = CSWgnutlsdevel
+# The compilation complains with
+# "gets is a security hole - use fgets instead"
+# even if it is not used, so we remove this warning
PATCHFILES += 0001-no-gets-warning.patch
# EXTRA_CPPFLAGS = -D_FILE_OFFSET_BITS=64
@@ -89,7 +92,3 @@
include gar/category.mk
-pre-configure:
- cd $(WORKSRC) && autoconf
- @${MAKECOOKIE}
-
Copied: csw/mgar/pkg/gnutls3/trunk/files/0001-no-gets-warning-before-autoconf.patch (from rev 23142, csw/mgar/pkg/gnutls3/trunk/files/0001-no-gets-warning.patch)
===================================================================
--- csw/mgar/pkg/gnutls3/trunk/files/0001-no-gets-warning-before-autoconf.patch (rev 0)
+++ csw/mgar/pkg/gnutls3/trunk/files/0001-no-gets-warning-before-autoconf.patch 2014-03-05 20:13:22 UTC (rev 23143)
@@ -0,0 +1,25 @@
+From d65e6e5f4ae8d5a326ead9db9c2e0117b149835b Mon Sep 17 00:00:00 2001
+From: Yann Rouillard
+Date: Mon, 13 May 2013 17:51:35 +0200
+Subject: [PATCH] no gets warning
+
+---
+ gl/m4/stdio_h.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gl/m4/stdio_h.m4 b/gl/m4/stdio_h.m4
+index ebade06..9788ded 100644
+--- a/gl/m4/stdio_h.m4
++++ b/gl/m4/stdio_h.m4
+@@ -74,7 +74,7 @@ AC_DEFUN([gl_STDIO_H],
+ dnl corresponding gnulib module is not in use, and which is not
+ dnl guaranteed by both C89 and C11.
+ gl_WARN_ON_USE_PREPARE([[#include
+- ]], [dprintf fpurge fseeko ftello getdelim getline gets pclose popen
++ ]], [dprintf fpurge fseeko ftello getdelim getline pclose popen
+ renameat snprintf tmpfile vdprintf vsnprintf])
+ ])
+
+--
+1.8.1.4
+
Modified: csw/mgar/pkg/gnutls3/trunk/files/0001-no-gets-warning.patch
===================================================================
--- csw/mgar/pkg/gnutls3/trunk/files/0001-no-gets-warning.patch 2014-03-05 20:12:51 UTC (rev 23142)
+++ csw/mgar/pkg/gnutls3/trunk/files/0001-no-gets-warning.patch 2014-03-05 20:13:22 UTC (rev 23143)
@@ -1,25 +1,32 @@
-From d65e6e5f4ae8d5a326ead9db9c2e0117b149835b Mon Sep 17 00:00:00 2001
+From efecc963e72e780f46e5be39287871d8793303e4 Mon Sep 17 00:00:00 2001
From: Yann Rouillard
-Date: Mon, 13 May 2013 17:51:35 +0200
-Subject: [PATCH] no gets warning
+Date: Wed, 5 Mar 2014 21:58:57 +0100
+Subject: [PATCH] gets
---
- gl/m4/stdio_h.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ gl/stdio.in.h | 9 ---------
+ 1 file changed, 9 deletions(-)
-diff --git a/gl/m4/stdio_h.m4 b/gl/m4/stdio_h.m4
-index ebade06..9788ded 100644
---- a/gl/m4/stdio_h.m4
-+++ b/gl/m4/stdio_h.m4
-@@ -74,7 +74,7 @@ AC_DEFUN([gl_STDIO_H],
- dnl corresponding gnulib module is not in use, and which is not
- dnl guaranteed by both C89 and C11.
- gl_WARN_ON_USE_PREPARE([[#include
-- ]], [dprintf fpurge fseeko ftello getdelim getline gets pclose popen
-+ ]], [dprintf fpurge fseeko ftello getdelim getline pclose popen
- renameat snprintf tmpfile vdprintf vsnprintf])
- ])
+diff --git a/gl/stdio.in.h b/gl/stdio.in.h
+index 76e62fb..2d15310 100644
+--- a/gl/stdio.in.h
++++ b/gl/stdio.in.h
+@@ -714,15 +714,6 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
+ # endif
+ #endif
+-/* It is very rare that the developer ever has full control of stdin,
+- so any use of gets warrants an unconditional warning; besides, C11
+- removed it. */
+-#undef gets
+-#if HAVE_RAW_DECL_GETS
+-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+-#endif
+-
+-
+ #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
+ struct obstack;
+ /* Grow an obstack with formatted output. Return the number of
--
-1.8.1.4
+1.8.4.1
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Wed Mar 5 22:56:18 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Wed, 5 Mar 2014 21:56:18 +0000
Subject: SF.net SVN: gar:[23144] csw/mgar/pkg/gnutls3/trunk/Makefile
Message-ID: <3ffTSY4bDZzpq@mail.opencsw.org>
Revision: 23144
http://sourceforge.net/p/gar/code/23144
Author: chninkel
Date: 2014-03-05 21:56:18 +0000 (Wed, 05 Mar 2014)
Log Message:
-----------
gnutls3/trunk: disable usage of external libopts library
Modified Paths:
--------------
csw/mgar/pkg/gnutls3/trunk/Makefile
Modified: csw/mgar/pkg/gnutls3/trunk/Makefile
===================================================================
--- csw/mgar/pkg/gnutls3/trunk/Makefile 2014-03-05 20:13:22 UTC (rev 23143)
+++ csw/mgar/pkg/gnutls3/trunk/Makefile 2014-03-05 21:56:18 UTC (rev 23144)
@@ -82,6 +82,9 @@
CONFIGURE_ARGS += --disable-libdane
CONFIGURE_ARGS += --with-default-trust-store-file=$(sysconfdir)/ssl/certs/ca-certificates.crt
CONFIGURE_ARGS += --with-unbound-root-key-file=$(sysconfdir)/unbound/root.key
+# libopts doesn't contains yet 64 bits libraries so we have to use
+# the included one meanwhile: see https://www.opencsw.org/mantis/view.php?id=5156
+CONFIGURE_ARGS += --enable-local-libopts
# Workaround a host detection bug in configure for amd64
CONFIGURE_ARGS += $(CONFIGURE_ARGS_$(ISA))
CONFIGURE_ARGS_amd64 += --build=x86_64-pc-solaris2$(shell uname -r |sed -e 's/[^.]*//')
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From cgrzemba at users.sourceforge.net Thu Mar 6 16:44:05 2014
From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net)
Date: Thu, 6 Mar 2014 15:44:05 +0000
Subject: SF.net SVN: gar:[23145] csw/mgar/pkg/389-ds-base/trunk
Message-ID: <3ffx8n1BMpz1XM@mail.opencsw.org>
Revision: 23145
http://sourceforge.net/p/gar/code/23145
Author: cgrzemba
Date: 2014-03-06 15:44:03 +0000 (Thu, 06 Mar 2014)
Log Message:
-----------
389-ds-base/trunk: version 1.2.11.25
Modified Paths:
--------------
csw/mgar/pkg/389-ds-base/trunk/Makefile
csw/mgar/pkg/389-ds-base/trunk/checksums
csw/mgar/pkg/389-ds-base/trunk/files/0005-add-var-run-create-initconfig.in.patch
csw/mgar/pkg/389-ds-base/trunk/files/0008-mntent-daemon.c.patch
csw/mgar/pkg/389-ds-base/trunk/files/0011-use-logname.patch
Added Paths:
-----------
csw/mgar/pkg/389-ds-base/trunk/files/0005-add-var-run-create-template-initconfig.in.patch
Modified: csw/mgar/pkg/389-ds-base/trunk/Makefile
===================================================================
--- csw/mgar/pkg/389-ds-base/trunk/Makefile 2014-03-05 21:56:18 UTC (rev 23144)
+++ csw/mgar/pkg/389-ds-base/trunk/Makefile 2014-03-06 15:44:03 UTC (rev 23145)
@@ -2,7 +2,7 @@
# TODO (release-critical prefixed with !, non release-critical with *)
#
NAME = 389-ds-base
-VERSION = 1.3.2.13
+VERSION = 1.2.11.25
GARTYPE = v2
DESCRIPTION = The enterprise-class Open Source LDAP server
@@ -27,8 +27,10 @@
PATCHFILES += 0005-add-standard-path.patch
PATCHFILES += 0006-replace-SV-sh-with-Posix-sh.patch
+# PATCHFILES += 0006-remove-bashism-in-shell-templates.patch
PATCHFILES += 0005-smf-autoenable-no.patch
PATCHFILES += 0005-add-var-run-create-initconfig.in.patch
+PATCHFILES += 0005-add-var-run-create-template-initconfig.in.patch
# until Red Hat Bugzilla Bug 773617 is open do it yourself
# PATCHFILES += 0006-add-i386-platform-in-configure.ac.patch
PATCHFILES += 0007-fixup-Makefile.am.patch
@@ -39,7 +41,6 @@
# PATCHFILES += 0011-Makefile.am.patch
# PATCHFILES += 0009-fix-for-550-memberuid-not-created.patch
# PATCHFILES += 0012-fix-for-47327.patch
-PATCHFILES += 0013-use-posix-threads-configure.ac.patch
PATCHFILES += 0014-ldap-include-Makefile.am.patch
@@ -49,7 +50,7 @@
BUILD_DEP_PKGS += CSWnspr-dev
BUILD_DEP_PKGS += CSWlibnss-dev
BUILD_DEP_PKGS += CSWnetsnmp-dev
-BUILD_DEP_PKGS += CSWmozldap-dev
+# BUILD_DEP_PKGS += CSWmozldap-dev
BUILD_DEP_PKGS += CSWmozldap-tools
BUILD_DEP_PKGS += CSWsasl-dev
BUILD_DEP_PKGS += CSWlibicu-dev
Modified: csw/mgar/pkg/389-ds-base/trunk/checksums
===================================================================
--- csw/mgar/pkg/389-ds-base/trunk/checksums 2014-03-05 21:56:18 UTC (rev 23144)
+++ csw/mgar/pkg/389-ds-base/trunk/checksums 2014-03-06 15:44:03 UTC (rev 23145)
@@ -1 +1 @@
-8950764771081291117ade801b49ec04 389-ds-base-1.3.2.13.tar.bz2
+adb6ac765fe2b766f06ee920126a06d2 389-ds-base-1.2.11.25.tar.bz2
Modified: csw/mgar/pkg/389-ds-base/trunk/files/0005-add-var-run-create-initconfig.in.patch
===================================================================
--- csw/mgar/pkg/389-ds-base/trunk/files/0005-add-var-run-create-initconfig.in.patch 2014-03-05 21:56:18 UTC (rev 23144)
+++ csw/mgar/pkg/389-ds-base/trunk/files/0005-add-var-run-create-initconfig.in.patch 2014-03-06 15:44:03 UTC (rev 23145)
@@ -1,17 +1,6 @@
-From 02d3fc96b22f79ca5562949790b53ce7ae63f019 Mon Sep 17 00:00:00 2001
-From: Carsten Grzemba
-Date: Mon, 27 Feb 2012 10:16:15 +0100
-Subject: [PATCH] add var run create initconfig.in
-
----
- ldap/admin/src/initconfig.in | 15 ++++++++++++++-
- 1 files changed, 14 insertions(+), 1 deletions(-)
-
-diff --git a/ldap/admin/src/initconfig.in b/ldap/admin/src/initconfig.in
-index 134e82c..8a73573 100644
--- a/ldap/admin/src/initconfig.in
+++ b/ldap/admin/src/initconfig.in
-@@ -4,9 +4,22 @@ OS=`uname -s`
+@@ -4,7 +4,9 @@ OS=`uname -s`
# this requires Solaris 9 update 3 or later
if [ "$OS" = "SunOS" -a -f /usr/lib/libumem.so ] ; then
LD_PRELOAD=/usr/lib/libumem.so
@@ -22,19 +11,3 @@
fi
if [ "$OS" = "SunOS" -a -f /usr/lib/64/libumem.so ] ; then
LD_PRELOAD_64=/usr/lib/64/libumem.so
- export LD_PRELOAD_64
- fi
-+
-+USER=`/usr/xpg4/bin/id -u -n`
-+export USER
-+[ ! -d @localstatedir@/run/dirsrv ] && mkdir -p @localstatedir@/run/dirsrv
-+if [ -f @instconfigdir@/admin-serv/adm.conf ]; then
-+ slapduser=`grep SuiteSpotUserID @instconfigdir@/admin-serv/adm.conf | cut -d: -f2 | tr -d ' '`
-+ slapdgroup=`grep SuiteSpotGroup @instconfigdir@/admin-serv/adm.conf | cut -d: -f2 | tr -d ' '`
-+ chown $slapduser:$slapdgroup @localstatedir@/run/dirsrv
-+fi
-+chmod g+w @localstatedir@/run/dirsrv
-+chmod +rx @localstatedir@/run
---
-1.7.9
-
Added: csw/mgar/pkg/389-ds-base/trunk/files/0005-add-var-run-create-template-initconfig.in.patch
===================================================================
--- csw/mgar/pkg/389-ds-base/trunk/files/0005-add-var-run-create-template-initconfig.in.patch (rev 0)
+++ csw/mgar/pkg/389-ds-base/trunk/files/0005-add-var-run-create-template-initconfig.in.patch 2014-03-06 15:44:03 UTC (rev 23145)
@@ -0,0 +1,15 @@
+--- a/ldap/admin/src/template-initconfig.in
++++ b/ldap/admin/src/template-initconfig.in
+@@ -20,3 +20,12 @@ PRODUCT_NAME={{PRODUCT-NAME}}
+
+ # Put custom instance specific settings below here.
+ # if using systemd, omit the "; export VARNAME" at the end
++[ ! -d $RUN_DIR ] && mkdir -p $RUN_DIR
++if [ -f $CONFIG_DIR/dse.ldif ]; then
++ slapduser=`grep nsslapd-localuser: $CONFIG_DIR/dse.ldif | cut -d: -f2 | tr -d ' '`
++ slapdgroup=`getent passwd ldap | cut -d: -f4`
++ chown $slapduser:$slapdgroup $RUN_DIR
++fi
++chmod g+w $RUN_DIR
++chmod +rx `dirname $RUNDIR`
++
Modified: csw/mgar/pkg/389-ds-base/trunk/files/0008-mntent-daemon.c.patch
===================================================================
--- csw/mgar/pkg/389-ds-base/trunk/files/0008-mntent-daemon.c.patch 2014-03-05 21:56:18 UTC (rev 23144)
+++ csw/mgar/pkg/389-ds-base/trunk/files/0008-mntent-daemon.c.patch 2014-03-06 15:44:03 UTC (rev 23145)
@@ -1,11 +1,38 @@
--- a/ldap/servers/slapd/daemon.c
+++ b/ldap/servers/slapd/daemon.c
-@@ -498,7 +498,7 @@ disk_mon_get_mount_point(char *dir)
+@@ -59,7 +59,9 @@
+ #include
+ #include
+ #include
+-#include
++#if defined(HAVE_MNTENT_H)
++# include
++# endif
+ #endif
+ #include
+ #include
+@@ -80,6 +82,7 @@
+ #endif /* NEED_FILIO */
+ #endif /* !defined( _WIN32 ) */
+ /* for some reason, linux tty stuff defines CTIME */
++#include
+ #ifdef LINUX
+ #undef CTIME
+ #include
+@@ -92,7 +95,6 @@
+ #include "snmp_collator.h"
+ #include
+ #include
+-#include
+ #include "fe.h"
+ #if defined(ENABLE_LDAPI)
+@@ -495,7 +497,7 @@ disk_mon_get_mount_point(char *dir)
+
dev_id = s.st_dev;
-- while((0 = getmntent(fp, &mnt))){
-+ while(0 == getmntent(fp, &mnt)){
- if (stat(mnt.mnt_mountp, &s) != 0) {
+- while((mnt = getmntent(fp))){
++ while(0 == getmntent(fp,mnt)){
+ if (stat(mnt->mnt_mountp, &s) != 0) {
continue;
}
Modified: csw/mgar/pkg/389-ds-base/trunk/files/0011-use-logname.patch
===================================================================
--- csw/mgar/pkg/389-ds-base/trunk/files/0011-use-logname.patch 2014-03-05 21:56:18 UTC (rev 23144)
+++ csw/mgar/pkg/389-ds-base/trunk/files/0011-use-logname.patch 2014-03-06 15:44:03 UTC (rev 23145)
@@ -37,3 +37,16 @@
initconfig_dir=@initconfigdir@
else
initconfig_dir=$HOME/. at package_name@
+diff --git a/ldap/admin/src/scripts/DSUtil.pm.in b/ldap/admin/src/scripts/DSUtil.pm.in
+index cc64a2d..df63e63 100644
+--- a/ldap/admin/src/scripts/DSUtil.pm.in
++++ b/ldap/admin/src/scripts/DSUtil.pm.in
+@@ -146,7 +146,7 @@ sub isValidServerID {
+ # use confess here because if we cannot determine the user, something is really,
+ # really wrong and we need to abort immediately
+ sub getLogin {
+- return (getpwuid($>))[0] || $ENV{USER} || confess "Error: could not determine the current user ID: $!";
++ return (getpwuid($>))[0] || $ENV{LOGNAME} || confess "Error: could not determine the current user ID: $!";
+ }
+
+ # Look up the primary group name for the supplied user
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From cgrzemba at users.sourceforge.net Fri Mar 7 09:10:28 2014
From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net)
Date: Fri, 7 Mar 2014 08:10:28 +0000
Subject: SF.net SVN: gar:[23146] csw/mgar/pkg/389-ds-base/trunk/Makefile
Message-ID: <3fgM2j4J0cz10v@mail.opencsw.org>
Revision: 23146
http://sourceforge.net/p/gar/code/23146
Author: cgrzemba
Date: 2014-03-07 08:10:27 +0000 (Fri, 07 Mar 2014)
Log Message:
-----------
389-ds-base/trunk: minor cleanup receipe
Modified Paths:
--------------
csw/mgar/pkg/389-ds-base/trunk/Makefile
Modified: csw/mgar/pkg/389-ds-base/trunk/Makefile
===================================================================
--- csw/mgar/pkg/389-ds-base/trunk/Makefile 2014-03-06 15:44:03 UTC (rev 23145)
+++ csw/mgar/pkg/389-ds-base/trunk/Makefile 2014-03-07 08:10:27 UTC (rev 23146)
@@ -31,8 +31,6 @@
PATCHFILES += 0005-smf-autoenable-no.patch
PATCHFILES += 0005-add-var-run-create-initconfig.in.patch
PATCHFILES += 0005-add-var-run-create-template-initconfig.in.patch
-# until Red Hat Bugzilla Bug 773617 is open do it yourself
-# PATCHFILES += 0006-add-i386-platform-in-configure.ac.patch
PATCHFILES += 0007-fixup-Makefile.am.patch
# PATCHFILES += 0007-fixup-plugin_syntax.c.patch
PATCHFILES += 0008-mntent-daemon.c.patch
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From cgrzemba at users.sourceforge.net Fri Mar 7 09:12:05 2014
From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net)
Date: Fri, 7 Mar 2014 08:12:05 +0000
Subject: SF.net SVN: gar:[23147] csw/mgar/pkg/389-ds-base/branches
Message-ID: <3fgM4n6SFNz14K@mail.opencsw.org>
Revision: 23147
http://sourceforge.net/p/gar/code/23147
Author: cgrzemba
Date: 2014-03-07 08:12:03 +0000 (Fri, 07 Mar 2014)
Log Message:
-----------
389-ds-base/branches/vers1.3.2: create a branch for version 1.3.2
Modified Paths:
--------------
csw/mgar/pkg/389-ds-base/branches/vers1.3.2/Makefile
csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0005-add-var-run-create-initconfig.in.patch
Added Paths:
-----------
csw/mgar/pkg/389-ds-base/branches/vers1.3.2/
csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0005-add-var-run-create-template-initconfig.in.patch
csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0006-remove-bashism-in-shell-templates.patch
Modified: csw/mgar/pkg/389-ds-base/branches/vers1.3.2/Makefile
===================================================================
--- csw/mgar/pkg/389-ds-base/trunk/Makefile 2014-03-05 21:56:18 UTC (rev 23144)
+++ csw/mgar/pkg/389-ds-base/branches/vers1.3.2/Makefile 2014-03-07 08:12:03 UTC (rev 23147)
@@ -29,8 +29,10 @@
PATCHFILES += 0006-replace-SV-sh-with-Posix-sh.patch
PATCHFILES += 0005-smf-autoenable-no.patch
PATCHFILES += 0005-add-var-run-create-initconfig.in.patch
+PATCHFILES += 0005-add-var-run-create-template-initconfig.in.patch
# until Red Hat Bugzilla Bug 773617 is open do it yourself
# PATCHFILES += 0006-add-i386-platform-in-configure.ac.patch
+PATCHFILES += 0006-remove-bashism-in-shell-templates.patch
PATCHFILES += 0007-fixup-Makefile.am.patch
# PATCHFILES += 0007-fixup-plugin_syntax.c.patch
PATCHFILES += 0008-mntent-daemon.c.patch
@@ -49,7 +51,6 @@
BUILD_DEP_PKGS += CSWnspr-dev
BUILD_DEP_PKGS += CSWlibnss-dev
BUILD_DEP_PKGS += CSWnetsnmp-dev
-BUILD_DEP_PKGS += CSWmozldap-dev
BUILD_DEP_PKGS += CSWmozldap-tools
BUILD_DEP_PKGS += CSWsasl-dev
BUILD_DEP_PKGS += CSWlibicu-dev
Modified: csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0005-add-var-run-create-initconfig.in.patch
===================================================================
--- csw/mgar/pkg/389-ds-base/trunk/files/0005-add-var-run-create-initconfig.in.patch 2014-03-05 21:56:18 UTC (rev 23144)
+++ csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0005-add-var-run-create-initconfig.in.patch 2014-03-07 08:12:03 UTC (rev 23147)
@@ -1,17 +1,6 @@
-From 02d3fc96b22f79ca5562949790b53ce7ae63f019 Mon Sep 17 00:00:00 2001
-From: Carsten Grzemba
-Date: Mon, 27 Feb 2012 10:16:15 +0100
-Subject: [PATCH] add var run create initconfig.in
-
----
- ldap/admin/src/initconfig.in | 15 ++++++++++++++-
- 1 files changed, 14 insertions(+), 1 deletions(-)
-
-diff --git a/ldap/admin/src/initconfig.in b/ldap/admin/src/initconfig.in
-index 134e82c..8a73573 100644
--- a/ldap/admin/src/initconfig.in
+++ b/ldap/admin/src/initconfig.in
-@@ -4,9 +4,22 @@ OS=`uname -s`
+@@ -4,7 +4,9 @@ OS=`uname -s`
# this requires Solaris 9 update 3 or later
if [ "$OS" = "SunOS" -a -f /usr/lib/libumem.so ] ; then
LD_PRELOAD=/usr/lib/libumem.so
@@ -22,19 +11,3 @@
fi
if [ "$OS" = "SunOS" -a -f /usr/lib/64/libumem.so ] ; then
LD_PRELOAD_64=/usr/lib/64/libumem.so
- export LD_PRELOAD_64
- fi
-+
-+USER=`/usr/xpg4/bin/id -u -n`
-+export USER
-+[ ! -d @localstatedir@/run/dirsrv ] && mkdir -p @localstatedir@/run/dirsrv
-+if [ -f @instconfigdir@/admin-serv/adm.conf ]; then
-+ slapduser=`grep SuiteSpotUserID @instconfigdir@/admin-serv/adm.conf | cut -d: -f2 | tr -d ' '`
-+ slapdgroup=`grep SuiteSpotGroup @instconfigdir@/admin-serv/adm.conf | cut -d: -f2 | tr -d ' '`
-+ chown $slapduser:$slapdgroup @localstatedir@/run/dirsrv
-+fi
-+chmod g+w @localstatedir@/run/dirsrv
-+chmod +rx @localstatedir@/run
---
-1.7.9
-
Added: csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0005-add-var-run-create-template-initconfig.in.patch
===================================================================
--- csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0005-add-var-run-create-template-initconfig.in.patch (rev 0)
+++ csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0005-add-var-run-create-template-initconfig.in.patch 2014-03-07 08:12:03 UTC (rev 23147)
@@ -0,0 +1,15 @@
+--- a/ldap/admin/src/template-initconfig.in
++++ b/ldap/admin/src/template-initconfig.in
+@@ -20,3 +20,12 @@ PRODUCT_NAME={{PRODUCT-NAME}}
+
+ # Put custom instance specific settings below here.
+ # if using systemd, omit the "; export VARNAME" at the end
++[ ! -d $RUN_DIR ] && mkdir -p $RUN_DIR
++if [ -f $CONFIG_DIR/dse.ldif ]; then
++ slapduser=`grep nsslapd-localuser: $CONFIG_DIR/dse.ldif | cut -d: -f2 | tr -d ' '`
++ slapdgroup=`getent passwd ldap | cut -d: -f4`
++ chown $slapduser:$slapdgroup $RUN_DIR
++fi
++chmod g+w $RUN_DIR
++chmod +rx `dirname $RUNDIR`
++
Added: csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0006-remove-bashism-in-shell-templates.patch
===================================================================
--- csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0006-remove-bashism-in-shell-templates.patch (rev 0)
+++ csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0006-remove-bashism-in-shell-templates.patch 2014-03-07 08:12:03 UTC (rev 23147)
@@ -0,0 +1,263 @@
+From 76daf2857988a218400fe4d7c747862118112700 Mon Sep 17 00:00:00 2001
+From: Carsten Grzemba
+Date: Wed, 5 Mar 2014 11:14:22 +0100
+Subject: [PATCH 2/2] remove bashism in shell templates
+
+---
+ ldap/admin/src/scripts/bak2db.in | 4 ++--
+ ldap/admin/src/scripts/db2bak.in | 4 ++--
+ ldap/admin/src/scripts/db2index.in | 4 ++--
+ ldap/admin/src/scripts/db2ldif.in | 4 ++--
+ ldap/admin/src/scripts/dbverify.in | 4 ++--
+ ldap/admin/src/scripts/dn2rdn.in | 4 ++--
+ ldap/admin/src/scripts/ldif2db.in | 4 ++--
+ ldap/admin/src/scripts/ldif2ldap.in | 4 ++--
+ ldap/admin/src/scripts/monitor.in | 4 ++--
+ ldap/admin/src/scripts/restart-dirsrv.in | 2 +-
+ ldap/admin/src/scripts/restoreconfig.in | 4 ++--
+ ldap/admin/src/scripts/saveconfig.in | 4 ++--
+ ldap/admin/src/scripts/start-dirsrv.in | 2 +-
+ ldap/admin/src/scripts/stop-dirsrv.in | 2 +-
+ ldap/admin/src/scripts/suffix2instance.in | 4 ++--
+ ldap/admin/src/scripts/upgradedb.in | 4 ++--
+ ldap/admin/src/scripts/upgradednformat.in | 4 ++--
+ ldap/admin/src/scripts/vlvindex.in | 4 ++--
+ 18 files changed, 33 insertions(+), 33 deletions(-)
+
+diff --git a/ldap/admin/src/scripts/bak2db.in b/ldap/admin/src/scripts/bak2db.in
+index f0cede4..b7ff1a7 100755
+--- a/ldap/admin/src/scripts/bak2db.in
++++ b/ldap/admin/src/scripts/bak2db.in
+@@ -1,6 +1,6 @@
+-#!/bin/sh
++#!/usr/xpg4/bin/sh
+
+-source @datadir@/@package_name@/data/DSSharedLib
++. @datadir@/@package_name@/data/DSSharedLib
+
+ libpath_add "@libdir@/@package_name@/"
+ libpath_add "@nss_libdir@"
+diff --git a/ldap/admin/src/scripts/db2bak.in b/ldap/admin/src/scripts/db2bak.in
+index dacd7b0..4394100 100755
+--- a/ldap/admin/src/scripts/db2bak.in
++++ b/ldap/admin/src/scripts/db2bak.in
+@@ -1,6 +1,6 @@
+-#!/bin/sh
++#!/usr/xpg4/bin/sh
+
+-source @datadir@/@package_name@/data/DSSharedLib
++. @datadir@/@package_name@/data/DSSharedLib
+
+ libpath_add "@libdir@/@package_name@/"
+ libpath_add "@nss_libdir@"
+diff --git a/ldap/admin/src/scripts/db2index.in b/ldap/admin/src/scripts/db2index.in
+index a1321ea..9d42b1a 100755
+--- a/ldap/admin/src/scripts/db2index.in
++++ b/ldap/admin/src/scripts/db2index.in
+@@ -1,6 +1,6 @@
+-#!/bin/sh
++#!/usr/xpg4/bin/sh
+
+-source @datadir@/@package_name@/data/DSSharedLib
++. @datadir@/@package_name@/data/DSSharedLib
+
+ libpath_add "@libdir@/@package_name@/"
+ libpath_add "@nss_libdir@"
+diff --git a/ldap/admin/src/scripts/db2ldif.in b/ldap/admin/src/scripts/db2ldif.in
+index d7e0ff0..a3e6ed6 100755
+--- a/ldap/admin/src/scripts/db2ldif.in
++++ b/ldap/admin/src/scripts/db2ldif.in
+@@ -1,6 +1,6 @@
+-#!/bin/sh
++#!/usr/xpg4/bin/sh
+
+-source @datadir@/@package_name@/data/DSSharedLib
++. @datadir@/@package_name@/data/DSSharedLib
+
+ libpath_add "@libdir@/@package_name@/"
+ libpath_add "@nss_libdir@"
+diff --git a/ldap/admin/src/scripts/dbverify.in b/ldap/admin/src/scripts/dbverify.in
+index 6306a07..a5258d7 100755
+--- a/ldap/admin/src/scripts/dbverify.in
++++ b/ldap/admin/src/scripts/dbverify.in
+@@ -1,6 +1,6 @@
+-#!/bin/sh
++#!/usr/xpg4/bin/sh
+
+-source @datadir@/@package_name@/data/DSSharedLib
++. @datadir@/@package_name@/data/DSSharedLib
+
+ libpath_add "@libdir@/@package_name@/"
+ libpath_add "@nss_libdir@"
+diff --git a/ldap/admin/src/scripts/dn2rdn.in b/ldap/admin/src/scripts/dn2rdn.in
+index 32a70c8..5a38dc0 100755
+--- a/ldap/admin/src/scripts/dn2rdn.in
++++ b/ldap/admin/src/scripts/dn2rdn.in
+@@ -1,6 +1,6 @@
+-#!/bin/sh
++#!/usr/xpg4/bin/sh
+
+-source @datadir@/@package_name@/data/DSSharedLib
++. @datadir@/@package_name@/data/DSSharedLib
+
+ libpath_add "@libdir@/@package_name@/"
+ libpath_add "@nss_libdir@"
+diff --git a/ldap/admin/src/scripts/ldif2db.in b/ldap/admin/src/scripts/ldif2db.in
+index ce15349..7763c04 100755
+--- a/ldap/admin/src/scripts/ldif2db.in
++++ b/ldap/admin/src/scripts/ldif2db.in
+@@ -1,6 +1,6 @@
+-#!/bin/sh
++#!/usr/xpg4/bin/sh
+
+-source @datadir@/@package_name@/data/DSSharedLib
++. @datadir@/@package_name@/data/DSSharedLib
+
+ libpath_add "@libdir@/@package_name@/"
+ libpath_add "@nss_libdir@"
+diff --git a/ldap/admin/src/scripts/ldif2ldap.in b/ldap/admin/src/scripts/ldif2ldap.in
+index 874b1bb..bc3840f 100755
+--- a/ldap/admin/src/scripts/ldif2ldap.in
++++ b/ldap/admin/src/scripts/ldif2ldap.in
+@@ -1,6 +1,6 @@
+-#!/bin/sh
++#!/usr/xpg4/bin/sh
+
+-source @datadir@/@package_name@/data/DSSharedLib
++. @datadir@/@package_name@/data/DSSharedLib
+
+ libpath_add "@ldapsdk_libdir@"
+ libpath_add "@libdir@"
+diff --git a/ldap/admin/src/scripts/monitor.in b/ldap/admin/src/scripts/monitor.in
+index 7b2058b..4bb51b1 100755
+--- a/ldap/admin/src/scripts/monitor.in
++++ b/ldap/admin/src/scripts/monitor.in
+@@ -1,6 +1,6 @@
+-#!/bin/sh
++#!/usr/xpg4/bin/sh
+
+-source @datadir@/@package_name@/data/DSSharedLib
++. @datadir@/@package_name@/data/DSSharedLib
+
+ libpath_add "@libdir@/@package_name@/"
+ libpath_add "@ldapsdk_libdir@"
+diff --git a/ldap/admin/src/scripts/restart-dirsrv.in b/ldap/admin/src/scripts/restart-dirsrv.in
+index 270b71b..4dfb8ed 100644
+--- a/ldap/admin/src/scripts/restart-dirsrv.in
++++ b/ldap/admin/src/scripts/restart-dirsrv.in
+@@ -7,7 +7,7 @@
+ # 2: Server started successfully (was not running)
+ # 3: Server could not be stopped
+
+-source @datadir@/@package_name@/data/DSSharedLib
++. @datadir@/@package_name@/data/DSSharedLib
+
+ restart_instance() {
+ SERV_ID=$1
+diff --git a/ldap/admin/src/scripts/restoreconfig.in b/ldap/admin/src/scripts/restoreconfig.in
+index 9bb1acf..c500e21 100755
+--- a/ldap/admin/src/scripts/restoreconfig.in
++++ b/ldap/admin/src/scripts/restoreconfig.in
+@@ -1,6 +1,6 @@
+-#!/bin/sh
++#!/usr/xpg4/bin/sh
+
+-source @datadir@/@package_name@/data/DSSharedLib
++. @datadir@/@package_name@/data/DSSharedLib
+
+ libpath_add "@libdir@/@package_name@/"
+ libpath_add "@nss_libdir@"
+diff --git a/ldap/admin/src/scripts/saveconfig.in b/ldap/admin/src/scripts/saveconfig.in
+index 65d80f3..55b3a3c 100755
+--- a/ldap/admin/src/scripts/saveconfig.in
++++ b/ldap/admin/src/scripts/saveconfig.in
+@@ -1,6 +1,6 @@
+-#!/bin/sh
++#!/usr/xpg4/bin/sh
+
+-source @datadir@/@package_name@/data/DSSharedLib
++. @datadir@/@package_name@/data/DSSharedLib
+
+ libpath_add "@libdir@/@package_name@/"
+ libpath_add "@libdir@"
+diff --git a/ldap/admin/src/scripts/start-dirsrv.in b/ldap/admin/src/scripts/start-dirsrv.in
+index a5c1bf6..ebc5c50 100755
+--- a/ldap/admin/src/scripts/start-dirsrv.in
++++ b/ldap/admin/src/scripts/start-dirsrv.in
+@@ -6,7 +6,7 @@
+ # 1: Server could not be started
+ # 2: Server already running
+
+-source @datadir@/@package_name@/data/DSSharedLib
++. @datadir@/@package_name@/data/DSSharedLib
+
+ # Starts a single instance
+ start_instance() {
+diff --git a/ldap/admin/src/scripts/stop-dirsrv.in b/ldap/admin/src/scripts/stop-dirsrv.in
+index 5cf126b..278af70 100755
+--- a/ldap/admin/src/scripts/stop-dirsrv.in
++++ b/ldap/admin/src/scripts/stop-dirsrv.in
+@@ -6,7 +6,7 @@
+ # 1: Server could not be stopped
+ # 2: Server was not running
+
+-source @datadir@/@package_name@/data/DSSharedLib
++. @datadir@/@package_name@/data/DSSharedLib
+
+ stop_instance() {
+ SERV_ID=$1
+diff --git a/ldap/admin/src/scripts/suffix2instance.in b/ldap/admin/src/scripts/suffix2instance.in
+index e2f73c3..5507bb6 100755
+--- a/ldap/admin/src/scripts/suffix2instance.in
++++ b/ldap/admin/src/scripts/suffix2instance.in
+@@ -1,6 +1,6 @@
+-#!/bin/sh
++#!/usr/xpg4/bin/sh
+
+-source @datadir@/@package_name@/data/DSSharedLib
++. @datadir@/@package_name@/data/DSSharedLib
+
+ libpath_add "@libdir@/@package_name@/"
+ libpath_add "@libdir@"
+diff --git a/ldap/admin/src/scripts/upgradedb.in b/ldap/admin/src/scripts/upgradedb.in
+index 211bdce..8a941f4 100755
+--- a/ldap/admin/src/scripts/upgradedb.in
++++ b/ldap/admin/src/scripts/upgradedb.in
+@@ -1,6 +1,6 @@
+-#!/bin/sh
++#!/usr/xpg4/bin/sh
+
+-source @datadir@/@package_name@/data/DSSharedLib
++. @datadir@/@package_name@/data/DSSharedLib
+
+ libpath_add "@libdir@/@package_name@/"
+ libpath_add "@libdir@"
+diff --git a/ldap/admin/src/scripts/upgradednformat.in b/ldap/admin/src/scripts/upgradednformat.in
+index e9d8cab..30a5eb9 100755
+--- a/ldap/admin/src/scripts/upgradednformat.in
++++ b/ldap/admin/src/scripts/upgradednformat.in
+@@ -1,6 +1,6 @@
+-#!/bin/sh
++#!/usr/xpg4/bin/sh
+
+-source @datadir@/@package_name@/data/DSSharedLib
++. @datadir@/@package_name@/data/DSSharedLib
+
+ # upgradednformat -- upgrade DN format to the new style (RFC 4514)
+ # Usgae: upgradednformat [-N] -n backend_instance -a db_instance_directory
+diff --git a/ldap/admin/src/scripts/vlvindex.in b/ldap/admin/src/scripts/vlvindex.in
+index 0b46b27..175c618 100755
+--- a/ldap/admin/src/scripts/vlvindex.in
++++ b/ldap/admin/src/scripts/vlvindex.in
+@@ -1,6 +1,6 @@
+-#!/bin/sh
++#!/usr/xpg4/bin/sh
+
+-source @datadir@/@package_name@/data/DSSharedLib
++. @datadir@/@package_name@/data/DSSharedLib
+
+ libpath_add "@libdir@/@package_name@/"
+ libpath_add "@libdir@"
+--
+1.8.4.1
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From lblume at users.sourceforge.net Fri Mar 7 13:37:15 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Fri, 7 Mar 2014 12:37:15 +0000
Subject: SF.net SVN: gar:[23148] csw/mgar/pkg/silctoolkit/trunk
Message-ID: <3fgSyf2QCzz1Q8@mail.opencsw.org>
Revision: 23148
http://sourceforge.net/p/gar/code/23148
Author: lblume
Date: 2014-03-07 12:37:10 +0000 (Fri, 07 Mar 2014)
Log Message:
-----------
silctoolkit/trunk: Add a patch to get some modules to build in 64 bit (matins 5157)
Modified Paths:
--------------
csw/mgar/pkg/silctoolkit/trunk/Makefile
Added Paths:
-----------
csw/mgar/pkg/silctoolkit/trunk/files/0002-linking-lacks-LDFLAGS.patch
Modified: csw/mgar/pkg/silctoolkit/trunk/Makefile
===================================================================
--- csw/mgar/pkg/silctoolkit/trunk/Makefile 2014-03-07 08:12:03 UTC (rev 23147)
+++ csw/mgar/pkg/silctoolkit/trunk/Makefile 2014-03-07 12:37:10 UTC (rev 23148)
@@ -10,9 +10,12 @@
# client.h collides with Samba and has to be somehow dealt with
###
+GARCOMPILER=GCC4
+
MASTER_SITES = http://silcnet.org/download/toolkit/sources/
DISTFILES += $(DISTNAME).tar.bz2
PATCHFILES += function.patch
+PATCHFILES += 0002-linking-lacks-LDFLAGS.patch
VENDOR_URL = http://silcnet.org/software/download/toolkit/
Added: csw/mgar/pkg/silctoolkit/trunk/files/0002-linking-lacks-LDFLAGS.patch
===================================================================
--- csw/mgar/pkg/silctoolkit/trunk/files/0002-linking-lacks-LDFLAGS.patch (rev 0)
+++ csw/mgar/pkg/silctoolkit/trunk/files/0002-linking-lacks-LDFLAGS.patch 2014-03-07 12:37:10 UTC (rev 23148)
@@ -0,0 +1,16 @@
+index c58c7a5..99c59aa 100644
+--- a/lib/silcsim/Makefile.in
++++ b/lib/silcsim/Makefile.in
+@@ -580,10 +580,10 @@ uninstall-am: uninstall-includeHEADERS
+ @SILC_SIM_TRUE at all: $(SIM_CIPHER_OBJS) $(SIM_HASH_OBJS)
+
+ $(SIM_CIPHER_OBJS):
+- @if test '!' -f lib$*.la ; then $(LIBTOOL) --mode=link $(CCLD) -rpath $(silc_modulesdir) ../silccrypt/$*.lo -o lib$*.la $(LTFLAGS); cd $(srcdir) && $(LN_S) -f $(srcdir)/.libs/lib$*.so $(srcdir)/$*.sim.so; fi
++ @if test '!' -f lib$*.la ; then $(LIBTOOL) --mode=link $(CCLD) -rpath $(silc_modulesdir) ../silccrypt/$*.lo -o lib$*.la $(LTFLAGS) $(LDFLAGS); cd $(srcdir) && $(LN_S) -f $(srcdir)/.libs/lib$*.so $(srcdir)/$*.sim.so; fi
+
+ $(SIM_HASH_OBJS):
+- @if test '!' -f lib$*.la ; then $(LIBTOOL) --mode=link $(CCLD) -rpath $(silc_modulesdir) ../silccrypt/$*.lo -o lib$*.la $(LTFLAGS); cd $(srcdir) && $(LN_S) -f $(srcdir)/.libs/lib$*.so $(srcdir)/$*.sim.so; fi
++ @if test '!' -f lib$*.la ; then $(LIBTOOL) --mode=link $(CCLD) -rpath $(silc_modulesdir) ../silccrypt/$*.lo -o lib$*.la $(LTFLAGS) $(LDFLAGS); cd $(srcdir) && $(LN_S) -f $(srcdir)/.libs/lib$*.so $(srcdir)/$*.sim.so; fi
+
+ #
+ # Installation
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Fri Mar 7 14:56:07 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Fri, 7 Mar 2014 13:56:07 +0000
Subject: SF.net SVN: gar:[23149] csw/mgar/pkg/389-adminutil/trunk/
Message-ID: <3fgVjV4qxCz2Y@mail.opencsw.org>
Revision: 23149
http://sourceforge.net/p/gar/code/23149
Author: dmichelsen
Date: 2014-03-07 13:55:39 +0000 (Fri, 07 Mar 2014)
Log Message:
-----------
389-adminutil/trunk: Remove svn:externals
Property Changed:
----------------
csw/mgar/pkg/389-adminutil/trunk/
Index: csw/mgar/pkg/389-adminutil/trunk
===================================================================
--- csw/mgar/pkg/389-adminutil/trunk 2014-03-07 12:37:10 UTC (rev 23148)
+++ csw/mgar/pkg/389-adminutil/trunk 2014-03-07 13:55:39 UTC (rev 23149)
Property changes on: csw/mgar/pkg/389-adminutil/trunk
___________________________________________________________________
Deleted: svn:externals
## -1 +0,0 ##
-gar https://gar.svn.sourceforge.net/svnroot/gar/csw/mgar/gar/v2
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Fri Mar 7 14:58:48 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Fri, 7 Mar 2014 13:58:48 +0000
Subject: SF.net SVN: gar:[23150] csw/mgar/pkg/silctoolkit/trunk
Message-ID: <3fgVml1sqzz68@mail.opencsw.org>
Revision: 23150
http://sourceforge.net/p/gar/code/23150
Author: dmichelsen
Date: 2014-03-07 13:58:47 +0000 (Fri, 07 Mar 2014)
Log Message:
-----------
silctoolkit/trunk: Major build fixes for 64 bit and self-containedness
Modified Paths:
--------------
csw/mgar/pkg/silctoolkit/trunk/Makefile
Added Paths:
-----------
csw/mgar/pkg/silctoolkit/trunk/files/0001-xargs-splits-into-multiple-invocations-make-sure-to-.patch
Modified: csw/mgar/pkg/silctoolkit/trunk/Makefile
===================================================================
--- csw/mgar/pkg/silctoolkit/trunk/Makefile 2014-03-07 13:55:39 UTC (rev 23149)
+++ csw/mgar/pkg/silctoolkit/trunk/Makefile 2014-03-07 13:58:47 UTC (rev 23150)
@@ -17,6 +17,8 @@
PATCHFILES += function.patch
PATCHFILES += 0002-linking-lacks-LDFLAGS.patch
+PATCHFILES += 0001-xargs-splits-into-multiple-invocations-make-sure-to-.patch
+
VENDOR_URL = http://silcnet.org/software/download/toolkit/
# This is the same as what Debian used to do:
@@ -26,7 +28,7 @@
PACKAGES += CSWlibsilc1-1-2
SPKG_DESC_CSWlibsilc1-1-2 = Secure internet live conferencing toolkit, libsilc-1.1.so.2
PKGFILES_CSWlibsilc1-1-2 += $(call pkgfiles_lib,libsilc-1.1.so.2)
-PKGFILES_CSWlibsilc1-1-2 += $(call baseisadirs,$(libdir)/silc,.*)
+PKGFILES_CSWlibsilc1-1-2 += $(call baseisadirs,$(libdir),silc/.*)
OBSOLETED_BY_CSWlibsilc1-1-2 += CSWsilctoolkit
@@ -50,6 +52,9 @@
BUILD64 = 1
+# These are at least needed for libsilc.so
+EXTRA_LIBS += -lsocket -lnsl -liconv
+
# Avoid a collision between its client.h and Samba's
includedir = $(prefix)/include/silc
Added: csw/mgar/pkg/silctoolkit/trunk/files/0001-xargs-splits-into-multiple-invocations-make-sure-to-.patch
===================================================================
--- csw/mgar/pkg/silctoolkit/trunk/files/0001-xargs-splits-into-multiple-invocations-make-sure-to-.patch (rev 0)
+++ csw/mgar/pkg/silctoolkit/trunk/files/0001-xargs-splits-into-multiple-invocations-make-sure-to-.patch 2014-03-07 13:58:47 UTC (rev 23150)
@@ -0,0 +1,31 @@
+From a287c9cbd150be9a079f725f4ca803cc347c3ac1 Mon Sep 17 00:00:00 2001
+From: Dagobert Michelsen
+Date: Fri, 7 Mar 2014 14:49:29 +0100
+Subject: [PATCH] xargs splits into multiple invocations, make sure to use only
+ one libtool invocation
+
+---
+ lib/Makefile.in | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/lib/Makefile.in b/lib/Makefile.in
+index ec94aaf..850e0d7 100644
+--- a/lib/Makefile.in
++++ b/lib/Makefile.in
+@@ -678,10 +678,11 @@ install-exec-hook:
+ -$(LIBTOOL) --mode=install $(INSTALL) libsilcclient.la $(DESTDIR)$(libdir)/
+
+ libsilc.a:
+- find $(SILCLIB_DIRS) -type f -name *.lo | xargs $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) $(SILC_LINK_LIBS) $(LIBTOOL_SILC_VERSION) $(LIBTOOL_OPTS) -o libsilc.la
++ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) $(SILC_LINK_LIBS) $(LIBTOOL_SILC_VERSION) $(LIBTOOL_OPTS) -o libsilc.la `find $(SILCLIB_DIRS) -type f -name *.lo`
+
+ libsilcclient.a:
+- find $(SILCCLIENTLIB_DIRS) -type f -name *.lo | xargs $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) $(SILCCLIENT_LINK_LIBS) $(LIBTOOL_SILCCLIENT_VERSION) $(LIBTOOL_OPTS) -o libsilcclient.la
++ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) $(SILCCLIENT_LINK_LIBS) $(LIBTOOL_SILCCLIENT_VERSION) $(LIBTOOL_OPTS) -o libsilcclient.la `find $(SILCCLIENTLIB_DIRS) -type f -name *.lo`
++
+ toolkit-install:
+ -mkdir -p $(docdir)/toolkit/
+ -$(INSTALL_DATA) $(top_srcdir)/doc/toolkit/* $(docdir)/toolkit
+--
+1.8.4.1
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Fri Mar 7 15:26:29 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Fri, 7 Mar 2014 14:26:29 +0000
Subject: SF.net SVN: gar:[23151] csw/mgar/pkg/silctoolkit/trunk/Makefile
Message-ID: <3fgWNY46xDzDV@mail.opencsw.org>
Revision: 23151
http://sourceforge.net/p/gar/code/23151
Author: dmichelsen
Date: 2014-03-07 14:26:26 +0000 (Fri, 07 Mar 2014)
Log Message:
-----------
silctoolkit/trunk: Go back to Sun Studio
Modified Paths:
--------------
csw/mgar/pkg/silctoolkit/trunk/Makefile
Modified: csw/mgar/pkg/silctoolkit/trunk/Makefile
===================================================================
--- csw/mgar/pkg/silctoolkit/trunk/Makefile 2014-03-07 13:58:47 UTC (rev 23150)
+++ csw/mgar/pkg/silctoolkit/trunk/Makefile 2014-03-07 14:26:26 UTC (rev 23151)
@@ -10,8 +10,6 @@
# client.h collides with Samba and has to be somehow dealt with
###
-GARCOMPILER=GCC4
-
MASTER_SITES = http://silcnet.org/download/toolkit/sources/
DISTFILES += $(DISTNAME).tar.bz2
PATCHFILES += function.patch
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From cgrzemba at users.sourceforge.net Fri Mar 7 15:35:08 2014
From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net)
Date: Fri, 7 Mar 2014 14:35:08 +0000
Subject: SF.net SVN: gar:[23152] csw/mgar/pkg/389-ds-base/branches/vers1.3.2
Message-ID: <3fgWZf156czJL@mail.opencsw.org>
Revision: 23152
http://sourceforge.net/p/gar/code/23152
Author: cgrzemba
Date: 2014-03-07 14:35:06 +0000 (Fri, 07 Mar 2014)
Log Message:
-----------
389-ds-base/branches/vers1.3.2: use gcc and make some fixes
Modified Paths:
--------------
csw/mgar/pkg/389-ds-base/branches/vers1.3.2/Makefile
Added Paths:
-----------
csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0010-no-Crun-Cstd-lib-config.ac.patch
csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0015-use-PL_strcasestr-acllas.c.patch
Modified: csw/mgar/pkg/389-ds-base/branches/vers1.3.2/Makefile
===================================================================
--- csw/mgar/pkg/389-ds-base/branches/vers1.3.2/Makefile 2014-03-07 14:26:26 UTC (rev 23151)
+++ csw/mgar/pkg/389-ds-base/branches/vers1.3.2/Makefile 2014-03-07 14:35:06 UTC (rev 23152)
@@ -23,7 +23,7 @@
LICENSE = LICENSE
-GARCOMPILER = SOS12U3
+GARCOMPILER = GCC4
PATCHFILES += 0005-add-standard-path.patch
PATCHFILES += 0006-replace-SV-sh-with-Posix-sh.patch
@@ -43,6 +43,9 @@
# PATCHFILES += 0012-fix-for-47327.patch
PATCHFILES += 0013-use-posix-threads-configure.ac.patch
PATCHFILES += 0014-ldap-include-Makefile.am.patch
+# needed at least on GCC4
+PATCHFILES += 0015-use-PL_strcasestr-acllas.c.patch
+PATCHFILES += 0010-no-Crun-Cstd-lib-config.ac.patch
BUILD_DEP_PKGS += CSWautoconf
@@ -51,7 +54,7 @@
BUILD_DEP_PKGS += CSWnspr-dev
BUILD_DEP_PKGS += CSWlibnss-dev
BUILD_DEP_PKGS += CSWnetsnmp-dev
-BUILD_DEP_PKGS += CSWmozldap-tools
+BUILD_DEP_PKGS += CSWopenldap-dev
BUILD_DEP_PKGS += CSWsasl-dev
BUILD_DEP_PKGS += CSWlibicu-dev
BUILD_DEP_PKGS += CSWlibsvrcore0-dev
@@ -103,8 +106,11 @@
EXTRA_LIB = /opt/csw/bdb48/lib
# remove -I/opt/csw/include
-CPPFLAGS =
-EXTRA_LINKER_FLAGS = -xnorunpath -norunpath
+# CPPFLAGS =
+# EXTRA_CFLAGS = -xnorunpath
+# EXTRA_CXXFLAGS = -norunpath
+EXTRA_CPPFLAGS = -DSOLARIS_GCC
+STRIP_LIBTOOL = 1
GARFLAVOR = DBG
Added: csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0010-no-Crun-Cstd-lib-config.ac.patch
===================================================================
--- csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0010-no-Crun-Cstd-lib-config.ac.patch (rev 0)
+++ csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0010-no-Crun-Cstd-lib-config.ac.patch 2014-03-07 14:35:06 UTC (rev 23152)
@@ -0,0 +1,14 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -570,9 +570,9 @@ dnl socket nsl and dl are required to link several programs and libdb
+ LIBDL=-ldl
+ AC_SUBST([LIBDL], [$LIBDL])
+ dnl Cstd and Crun are required to link any C++ related code
+- LIBCSTD=-lCstd
++ LIBCSTD=
+ AC_SUBST([LIBCSTD], [$LIBCSTD])
+- LIBCRUN=-lCrun
++ LIBCRUN=
+ AC_SUBST([LIBCRUN], [$LIBCRUN])
+ platform="solaris"
+ initdir='$(sysconfdir)/init.d'
Added: csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0015-use-PL_strcasestr-acllas.c.patch
===================================================================
--- csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0015-use-PL_strcasestr-acllas.c.patch (rev 0)
+++ csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0015-use-PL_strcasestr-acllas.c.patch 2014-03-07 14:35:06 UTC (rev 23152)
@@ -0,0 +1,138 @@
+--- a/ldap/servers/plugins/acl/acllas.c
++++ b/ldap/servers/plugins/acl/acllas.c
+@@ -584,9 +584,9 @@ DS_LASUserDnEval(NSErr_t *errp, char *attr_name, CmpOp_t comparator,
+ } else {
+ /* URL format */
+
+- if ((strcasestr (user, ACL_RULE_MACRO_DN_KEY) != NULL) ||
+- (strcasestr (user, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL) ||
+- (strcasestr (user, ACL_RULE_MACRO_ATTR_KEY) != NULL)) {
++ if ((PL_strcasestr (user, ACL_RULE_MACRO_DN_KEY) != NULL) ||
++ (PL_strcasestr (user, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL) ||
++ (PL_strcasestr (user, ACL_RULE_MACRO_ATTR_KEY) != NULL)) {
+
+ matched = aclutil_evaluate_macro( s_user, &lasinfo,
+ ACL_EVAL_USER);
+@@ -856,9 +856,9 @@ DS_LASGroupDnEval(NSErr_t *errp, char *attr_name, CmpOp_t comparator,
+ "Group not evaluated(%s)\n", groupName);
+ break;
+ } else {
+- if ((strcasestr (groupName, ACL_RULE_MACRO_DN_KEY) != NULL) ||
+- (strcasestr (groupName, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL) ||
+- (strcasestr (groupName, ACL_RULE_MACRO_ATTR_KEY) != NULL)) {
++ if ((PL_strcasestr (groupName, ACL_RULE_MACRO_DN_KEY) != NULL) ||
++ (PL_strcasestr (groupName, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL) ||
++ (PL_strcasestr (groupName, ACL_RULE_MACRO_ATTR_KEY) != NULL)) {
+ matched = aclutil_evaluate_macro( groupName, &lasinfo,
+ ACL_EVAL_GROUP);
+ slapi_log_error ( SLAPI_LOG_ACL, plugin_name,
+@@ -1075,9 +1075,9 @@ DS_LASRoleDnEval(NSErr_t *errp, char *attr_name, CmpOp_t comparator,
+ } else {
+
+ /* Take care of param strings */
+- if ((strcasestr (role, ACL_RULE_MACRO_DN_KEY) != NULL) ||
+- (strcasestr (role, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL) ||
+- (strcasestr (role, ACL_RULE_MACRO_ATTR_KEY) != NULL)) {
++ if ((PL_strcasestr (role, ACL_RULE_MACRO_DN_KEY) != NULL) ||
++ (PL_strcasestr (role, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL) ||
++ (PL_strcasestr (role, ACL_RULE_MACRO_ATTR_KEY) != NULL)) {
+
+ matched = aclutil_evaluate_macro( role, &lasinfo,
+ ACL_EVAL_ROLE);
+@@ -2630,9 +2630,9 @@ DS_LASGroupDnAttrEval(NSErr_t *errp, char *attr_name, CmpOp_t comparator,
+
+ /* In this case "grppupdnattr="ldap:///base??attr" */
+
+- if ((strcasestr (attrName, ACL_RULE_MACRO_DN_KEY) != NULL) ||
+- (strcasestr (attrName, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL) ||
+- (strcasestr (attrName, ACL_RULE_MACRO_ATTR_KEY) != NULL)) {
++ if ((PL_strcasestr (attrName, ACL_RULE_MACRO_DN_KEY) != NULL) ||
++ (PL_strcasestr (attrName, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL) ||
++ (PL_strcasestr (attrName, ACL_RULE_MACRO_ATTR_KEY) != NULL)) {
+
+ matched = aclutil_evaluate_macro( attrName, &lasinfo,
+ ACL_EVAL_GROUPDNATTR);
+@@ -4203,12 +4203,12 @@ acllas_replace_dn_macro( char *rule, char *matched_val, lasInfo *lasinfo) {
+ int has_macro_levels = 0;
+
+ /* Determine what the rule's got once */
+- if ( strcasestr(rule, ACL_RULE_MACRO_DN_KEY) != NULL) {
++ if ( PL_strcasestr(rule, ACL_RULE_MACRO_DN_KEY) != NULL) {
+ /* ($dn) exists */
+ has_macro_dn = 1;
+ }
+
+- if ( strcasestr(rule, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL) {
++ if ( PL_strcasestr(rule, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL) {
+ /* [$dn] exists */
+ has_macro_levels = 1;
+ }
+@@ -4312,7 +4312,7 @@ acllas_replace_attr_macro( char *rule, lasInfo *lasinfo)
+ int l;
+ Slapi_Attr *attr = NULL;
+
+- str = strcasestr(rule, ACL_RULE_MACRO_ATTR_KEY);
++ str = PL_strcasestr(rule, ACL_RULE_MACRO_ATTR_KEY);
+ if ( str == NULL ) {
+
+ charray_add(&a, slapi_ch_strdup(rule));
+@@ -4321,7 +4321,7 @@ acllas_replace_attr_macro( char *rule, lasInfo *lasinfo)
+ } else {
+
+ working_rule = slapi_ch_strdup(rule);
+- str = strcasestr(working_rule, ACL_RULE_MACRO_ATTR_KEY);
++ str = PL_strcasestr(working_rule, ACL_RULE_MACRO_ATTR_KEY);
+ charray_add(&working_list, working_rule );
+
+ while( str != NULL) {
+@@ -4419,7 +4419,7 @@ acllas_replace_attr_macro( char *rule, lasInfo *lasinfo)
+ slapi_ch_free_string(¯o_str);
+ slapi_ch_free_string(¯o_attr_name);
+
+- str = strcasestr(working_rule, ACL_RULE_MACRO_ATTR_KEY);
++ str = PL_strcasestr(working_rule, ACL_RULE_MACRO_ATTR_KEY);
+
+ }/* while */
+
+--- a/ldap/servers/plugins/acl/aclparse.c
++++ b/ldap/servers/plugins/acl/aclparse.c
+@@ -315,8 +315,8 @@ __aclp__parse_aci(char *str, aci_t *aci_item, char **errbuf)
+ * have a target and it must have a macro.
+ */
+
+- if ((strcasestr(str, ACL_RULE_MACRO_DN_KEY) != NULL) ||
+- (strcasestr(str, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL)) {
++ if ((PL_strcasestr(str, ACL_RULE_MACRO_DN_KEY) != NULL) ||
++ (PL_strcasestr(str, ACL_RULE_MACRO_DN_LEVELS_KEY) != NULL)) {
+
+ /* Must have a targetmacro */
+ if ( !(aci_item->aci_type & ACI_TARGET_MACRO_DN)) {
+--- a/ldap/servers/plugins/acl/aclutil.c
++++ b/ldap/servers/plugins/acl/aclutil.c
+@@ -1247,7 +1247,7 @@ acl_replace_str(char * s, char *substr, char* replace_with_str) {
+ char *working_s, *suffix, *prefix, *patched;
+ int replace_with_len, substr_len, prefix_len, suffix_len;
+
+- if (strcasestr(s, substr) == NULL) {
++ if (PL_strcasestr(s, substr) == NULL) {
+ return(slapi_ch_strdup(s));
+ } else {
+
+@@ -1257,7 +1257,7 @@ acl_replace_str(char * s, char *substr, char* replace_with_str) {
+
+ working_s = slapi_ch_strdup(s);
+ prefix = working_s;
+- str = strcasestr(prefix, substr);
++ str = PL_strcasestr(prefix, substr);
+
+ while (str != NULL) {
+
+@@ -1284,7 +1284,7 @@ acl_replace_str(char * s, char *substr, char* replace_with_str) {
+
+ working_s = patched;
+ prefix = working_s;
+- str = strcasestr(prefix, substr);
++ str = PL_strcasestr(prefix, substr);
+
+ }
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Fri Mar 7 16:19:20 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Fri, 7 Mar 2014 15:19:20 +0000
Subject: SF.net SVN: gar:[23153] csw/mgar/pkg/silctoolkit/trunk/Makefile
Message-ID: <3fgXYY1BVvzQW@mail.opencsw.org>
Revision: 23153
http://sourceforge.net/p/gar/code/23153
Author: dmichelsen
Date: 2014-03-07 15:19:19 +0000 (Fri, 07 Mar 2014)
Log Message:
-----------
silctoolkit/trunk: Correct typo and add dep
Modified Paths:
--------------
csw/mgar/pkg/silctoolkit/trunk/Makefile
Modified: csw/mgar/pkg/silctoolkit/trunk/Makefile
===================================================================
--- csw/mgar/pkg/silctoolkit/trunk/Makefile 2014-03-07 14:35:06 UTC (rev 23152)
+++ csw/mgar/pkg/silctoolkit/trunk/Makefile 2014-03-07 15:19:19 UTC (rev 23153)
@@ -27,6 +27,7 @@
SPKG_DESC_CSWlibsilc1-1-2 = Secure internet live conferencing toolkit, libsilc-1.1.so.2
PKGFILES_CSWlibsilc1-1-2 += $(call pkgfiles_lib,libsilc-1.1.so.2)
PKGFILES_CSWlibsilc1-1-2 += $(call baseisadirs,$(libdir),silc/.*)
+RUNTIME_DEP_PKGS_CSWlibsilc1-1-2 += CSWlibiconv2
OBSOLETED_BY_CSWlibsilc1-1-2 += CSWsilctoolkit
@@ -51,7 +52,7 @@
BUILD64 = 1
# These are at least needed for libsilc.so
-EXTRA_LIBS += -lsocket -lnsl -liconv
+EXTRA_LINKER_FLAGS += -lsocket -lnsl -liconv
# Avoid a collision between its client.h and Samba's
includedir = $(prefix)/include/silc
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Fri Mar 7 16:40:54 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Fri, 7 Mar 2014 15:40:54 +0000
Subject: SF.net SVN: gar:[23154] csw/mgar/pkg/silctoolkit/trunk
Message-ID: <3fgY2T14rdzVb@mail.opencsw.org>
Revision: 23154
http://sourceforge.net/p/gar/code/23154
Author: dmichelsen
Date: 2014-03-07 15:40:51 +0000 (Fri, 07 Mar 2014)
Log Message:
-----------
silctoolkit/trunk: libsilcclient needs to link to libsilc to be self-sufficient
Modified Paths:
--------------
csw/mgar/pkg/silctoolkit/trunk/Makefile
csw/mgar/pkg/silctoolkit/trunk/files/0001-xargs-splits-into-multiple-invocations-make-sure-to-.patch
Modified: csw/mgar/pkg/silctoolkit/trunk/Makefile
===================================================================
--- csw/mgar/pkg/silctoolkit/trunk/Makefile 2014-03-07 15:19:19 UTC (rev 23153)
+++ csw/mgar/pkg/silctoolkit/trunk/Makefile 2014-03-07 15:40:51 UTC (rev 23154)
@@ -34,6 +34,7 @@
PACKAGES += CSWlibsilcclient1-1-3
SPKG_DESC_CSWlibsilcclient1-1-3 += Secure internet live conferencing toolkit, libsilcclient-1.1.so.3
PKGFILES_CSWlibsilcclient1-1-3 += $(call pkgfiles_lib,libsilcclient-1.1.so.3)
+RUNTIME_DEP_PKGS_CSWlibsilcclient1-1-3 += CSWlibsilc1-1-2
OBSOLETED_BY_CSWlibsilcclient1-1-3 += CSWsilctoolkit
Modified: csw/mgar/pkg/silctoolkit/trunk/files/0001-xargs-splits-into-multiple-invocations-make-sure-to-.patch
===================================================================
--- csw/mgar/pkg/silctoolkit/trunk/files/0001-xargs-splits-into-multiple-invocations-make-sure-to-.patch 2014-03-07 15:19:19 UTC (rev 23153)
+++ csw/mgar/pkg/silctoolkit/trunk/files/0001-xargs-splits-into-multiple-invocations-make-sure-to-.patch 2014-03-07 15:40:51 UTC (rev 23154)
@@ -21,7 +21,7 @@
libsilcclient.a:
- find $(SILCCLIENTLIB_DIRS) -type f -name *.lo | xargs $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) $(SILCCLIENT_LINK_LIBS) $(LIBTOOL_SILCCLIENT_VERSION) $(LIBTOOL_OPTS) -o libsilcclient.la
-+ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) $(SILCCLIENT_LINK_LIBS) $(LIBTOOL_SILCCLIENT_VERSION) $(LIBTOOL_OPTS) -o libsilcclient.la `find $(SILCCLIENTLIB_DIRS) -type f -name *.lo`
++ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) $(SILCCLIENT_LINK_LIBS) $(LIBTOOL_SILCCLIENT_VERSION) $(LIBTOOL_OPTS) -o libsilcclient.la `find $(SILCCLIENTLIB_DIRS) -type f -name *.lo` -lsilc
+
toolkit-install:
-mkdir -p $(docdir)/toolkit/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Fri Mar 7 21:33:16 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Fri, 7 Mar 2014 20:33:16 +0000
Subject: SF.net SVN: gar:[23155] csw/mgar/pkg/openssl1/trunk/files/
0007-enables-symbols-versioning.patch
Message-ID: <3fggWw25J3zsd@mail.opencsw.org>
Revision: 23155
http://sourceforge.net/p/gar/code/23155
Author: chninkel
Date: 2014-03-07 20:33:16 +0000 (Fri, 07 Mar 2014)
Log Message:
-----------
fix symbols versioning patch so it works correctly with gcc
Modified Paths:
--------------
csw/mgar/pkg/openssl1/trunk/files/0007-enables-symbols-versioning.patch
Modified: csw/mgar/pkg/openssl1/trunk/files/0007-enables-symbols-versioning.patch
===================================================================
--- csw/mgar/pkg/openssl1/trunk/files/0007-enables-symbols-versioning.patch 2014-03-07 15:40:51 UTC (rev 23154)
+++ csw/mgar/pkg/openssl1/trunk/files/0007-enables-symbols-versioning.patch 2014-03-07 20:33:16 UTC (rev 23155)
@@ -16,7 +16,7 @@
ALLSYMSFLAGS="$${MINUSZ}allextract"; \
NOALLSYMSFLAGS="$${MINUSZ}defaultextract"; \
- SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -Wl,-Bsymbolic"; \
-+ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -M map.openssl.lib$(LIBNAME) -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -Wl,-Bsymbolic"; \
++ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-Mmap.openssl.lib$(LIBNAME) -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -Wl,-Bsymbolic"; \
fi; \
$(LINK_SO_O)
link_a.solaris:
@@ -25,7 +25,7 @@
ALLSYMSFLAGS="$${MINUSZ}allextract"; \
NOALLSYMSFLAGS="$${MINUSZ}defaultextract"; \
- SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -Wl,-Bsymbolic"; \
-+ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -M map.openssl.lib$(LIBNAME) -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -Wl,-Bsymbolic"; \
++ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-Mmap.openssl.lib$(LIBNAME) -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -Wl,-Bsymbolic"; \
fi; \
$(LINK_SO_A)
link_app.solaris:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Fri Mar 7 23:41:34 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Fri, 7 Mar 2014 22:41:34 +0000
Subject: SF.net SVN: gar:[23156] csw/mgar/pkg/openssl1/trunk/Makefile
Message-ID: <3fgkMq0H4Dz13G@mail.opencsw.org>
Revision: 23156
http://sourceforge.net/p/gar/code/23156
Author: chninkel
Date: 2014-03-07 22:41:33 +0000 (Fri, 07 Mar 2014)
Log Message:
-----------
only remove sse2 capability when capabilities flag are present
Modified Paths:
--------------
csw/mgar/pkg/openssl1/trunk/Makefile
Modified: csw/mgar/pkg/openssl1/trunk/Makefile
===================================================================
--- csw/mgar/pkg/openssl1/trunk/Makefile 2014-03-07 20:33:16 UTC (rev 23155)
+++ csw/mgar/pkg/openssl1/trunk/Makefile 2014-03-07 22:41:33 UTC (rev 23156)
@@ -241,7 +241,8 @@
# openssl is able to select it at runtime and the Solaris OS support SSE2 since
# Solaris 9 4/04 (according to "Sun Studio 12: C++ User's Guide")
post-install:
- if command -v elfedit >/dev/null 2>&1 && [ "$(GARCH)" = "i386" ]; then \
+ if command -v elfedit >/dev/null 2>&1 && [ "$(GARCH)" = "i386" ] && \
+ /usr/ccs/bin/dump -Lv "$(DESTDIR)/$(libdir)/libcrypto.so.1.0.0" | grep SUNW_CAP >/dev/null; then \
echo " ==> Removing the SSE2 hardware capability from libcrypto"; \
chmod +w "$(DESTDIR)/$(libdir)/libcrypto.so.1.0.0"; \
elfedit -e 'cap:hw1 -and -cmp sse2' "$(DESTDIR)/$(libdir)/libcrypto.so.1.0.0"; \
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Fri Mar 7 23:41:41 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Fri, 7 Mar 2014 22:41:41 +0000
Subject: SF.net SVN: gar:[23157] csw/mgar/pkg/openssl1/trunk/Makefile
Message-ID: <3fgkMz0Kpqz152@mail.opencsw.org>
Revision: 23157
http://sourceforge.net/p/gar/code/23157
Author: chninkel
Date: 2014-03-07 22:41:40 +0000 (Fri, 07 Mar 2014)
Log Message:
-----------
minor modifications
Modified Paths:
--------------
csw/mgar/pkg/openssl1/trunk/Makefile
Modified: csw/mgar/pkg/openssl1/trunk/Makefile
===================================================================
--- csw/mgar/pkg/openssl1/trunk/Makefile 2014-03-07 22:41:33 UTC (rev 23156)
+++ csw/mgar/pkg/openssl1/trunk/Makefile 2014-03-07 22:41:40 UTC (rev 23157)
@@ -53,14 +53,14 @@
# We do ship libcrypto in libssl package
CHECKPKG_OVERRIDES_CSWlibssl1-0-0 += shared-lib-pkgname-mismatch|file=opt/csw/lib/libcrypto.so.1.0.0|soname=libcrypto.so.1.0.0|pkgname=CSWlibssl1-0-0|expected=CSWlibcrypto1-0-0
-ifeq ($(shell /usr/bin/uname -p),sparc)
-CHECKPKG_OVERRIDES_CSWlibssl1-0-0 += shared-lib-pkgname-mismatch|file=opt/csw/lib/sparcv8plus+vis/libcrypto.so.1.0.0|soname=libcrypto.so.1.0.0|pkgname=CSWlibssl1-0-0|expected=CSWlibcrypto1-0-0
-CHECKPKG_OVERRIDES_CSWlibssl1-0-0 += shared-lib-pkgname-mismatch|file=opt/csw/lib/sparcv9/libcrypto.so.1.0.0|soname=libcrypto.so.1.0.0|pkgname=CSWlibssl1-0-0|expected=CSWlibcrypto1-0-0
-else
-CHECKPKG_OVERRIDES_CSWlibssl1-0-0 += shared-lib-pkgname-mismatch|file=opt/csw/lib/amd64/libcrypto.so.1.0.0|soname=libcrypto.so.1.0.0|pkgname=CSWlibssl1-0-0|expected=CSWlibcrypto1-0-0
-endif
+CHECKPKG_OVERRIDES_CSWlibssl1-0-0 += $(CHECKPKG_OVERRIDES_CSWlibssl1-0-0_$(GARCH))
+CHECKPKG_OVERRIDES_CSWlibssl1-0-0_sparc += shared-lib-pkgname-mismatch|file=opt/csw/lib/sparcv8plus+vis/libcrypto.so.1.0.0|soname=libcrypto.so.1.0.0|pkgname=CSWlibssl1-0-0|expected=CSWlibcrypto1-0-0
+CHECKPKG_OVERRIDES_CSWlibssl1-0-0_sparc += shared-lib-pkgname-mismatch|file=opt/csw/lib/sparcv9/libcrypto.so.1.0.0|soname=libcrypto.so.1.0.0|pkgname=CSWlibssl1-0-0|expected=CSWlibcrypto1-0-0
+CHECKPKG_OVERRIDES_CSWlibssl1-0-0_i386 += shared-lib-pkgname-mismatch|file=opt/csw/lib/amd64/libcrypto.so.1.0.0|soname=libcrypto.so.1.0.0|pkgname=CSWlibssl1-0-0|expected=CSWlibcrypto1-0-0
+
+
# We use SUN perl, not the opencsw one
CHECKPKG_OVERRIDES_CSWopenssl-utils += missing-dependency|CSWperl
@@ -204,7 +204,11 @@
LIBDIR_64 = --libdir=lib/64
LIBDIR = $(LIBDIR_$(MEMORYMODEL))
-CONFIGURE_ARGS = --prefix=$(prefix) shared $(CONFIGURE_FLAGS) $($(ISA)_OS_COMPILER) --install_prefix=$(DESTDIR) $(LIBDIR)
+CONFIGURE_ARGS = --prefix=$(prefix)
+CONFIGURE_ARGS += --install_prefix=$(DESTDIR) $(LIBDIR)
+CONFIGURE_ARGS += $(CONFIGURE_FLAGS)
+CONFIGURE_ARGS += $($(ISA)_$(GARCOMPILER_TYPE)_CONFIGURE_TARGET)
+CONFIGURE_ARGS += shared
# PKCS11 is only for Solaris 10 so we must create solaris 10 specific packages
ifneq ($(shell /usr/bin/uname -r),5.9)
@@ -254,7 +258,7 @@
cd $(WORKSRC) && ln -nf Configure configure
ln -nf $(WORKDIR)/map.openssl.libcrypto $(WORKSRC)/map.openssl.libcrypto
ln -nf $(WORKDIR)/map.openssl.libssl $(WORKSRC)/map.openssl.libssl
- for ENGINE in 4758cca aep atalla cswift gmp chil nuron sureware ubsec padlock capi pk11; do \
+ for ENGINE in $(ENGINES); do \
ln -nf $(WORKDIR)/map.openssl.engines $(WORKSRC)/engines/map.openssl.lib$$ENGINE; \
done
ln -nf $(WORKDIR)/map.openssl.engines $(WORKSRC)/engines/ccgost/map.openssl.libgost
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Fri Mar 7 23:41:47 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Fri, 7 Mar 2014 22:41:47 +0000
Subject: SF.net SVN: gar:[23158] csw/mgar/pkg/openssl1/trunk/Makefile
Message-ID: <3fgkN70VSnz186@mail.opencsw.org>
Revision: 23158
http://sourceforge.net/p/gar/code/23158
Author: chninkel
Date: 2014-03-07 22:41:47 +0000 (Fri, 07 Mar 2014)
Log Message:
-----------
update the recipe so openssl can be compiled with GCC
Modified Paths:
--------------
csw/mgar/pkg/openssl1/trunk/Makefile
Modified: csw/mgar/pkg/openssl1/trunk/Makefile
===================================================================
--- csw/mgar/pkg/openssl1/trunk/Makefile 2014-03-07 22:41:40 UTC (rev 23157)
+++ csw/mgar/pkg/openssl1/trunk/Makefile 2014-03-07 22:41:47 UTC (rev 23158)
@@ -25,10 +25,17 @@
as a full-strength general-purpose cryptography library.
endef
+# This recipe can be used to compile openssl with Sun Studio or GCC
+# Just define the GARCOMPILER to the GNU or SUN
+GARCOMPILER = SUN
+GARCOMPILER_TYPE = $(if $(findstring GCC,$(GARCOMPILER)),GNU,SUN)
+
PACKAGES = CSWlibssl1-0-0 CSWlibssl-dev CSWopenssl-utils
PACKAGING_PLATFORMS = solaris9-sparc solaris9-i386 solaris10-sparc solaris10-i386 solaris11-sparc solaris11-i386
+RUNTIME_DEP_PKGS_CSWlibssl1-0-0 = $(RUNTIME_DEP_PKGS_CSWlibssl1-0-0_$(GARCOMPILER_TYPE))
+RUNTIME_DEP_PKGS_CSWlibssl1-0-0_GNU = CSWlibgcc-s1
SPKG_DESC_CSWlibssl1-0-0 = Openssl 1.0 runtime libraries
PKGFILES_CSWlibssl1-0-0 = $(PKGFILES_RT)
PKGFILES_CSWlibssl1-0-0 += $(libdir)(/[^/]*)?/openssl-1.0.0/engines/.*
@@ -174,20 +181,32 @@
# We use Studio 12.3 to have the "-Qoption cg" option
# but this version is not available under Solaris 9
ifneq ($(shell /usr/bin/uname -r),5.9)
- GARCOMPILER=SOS12U3
+ ifneq ($(GARCOMPILER),GNU)
+ GARCOMPILER = SOS12U3
+ endif
endif
# The corresponding os/compiler to pass to the
# openssl Configure script
-i386_OS_COMPILER = no-sse2 solaris-x86-cc-sunw
-pentium_pro_OS_COMPILER = solaris-x86-pentium_pro-cc-sunw
-amd64_OS_COMPILER = solaris64-x86_64-cc-sunw
+i386_SUN_CONFIGURE_TARGET = no-sse2 solaris-x86-cc-sunw
+pentium_pro_SUN_CONFIGURE_TARGET = solaris-x86-pentium_pro-cc-sunw
+amd64_SUN_CONFIGURE_TARGET = solaris64-x86_64-cc-sunw
-sparcv8_OS_COMPILER = solaris-sparcv8-cc-sunw
-sparcv8plus_OS_COMPILER = solaris-sparcv9-cc-sunw
-sparcv8plus+vis_OS_COMPILER = solaris-sparcv9+vis-cc-sunw
-sparcv9_OS_COMPILER = solaris64-sparcv9-cc-sunw
+i386_GNU_CONFIGURE_TARGET = no-sse2 solaris-x86-gcc
+pentium_pro_GNU_CONFIGURE_TARGET = solaris-x86-gcc
+amd64_GNU_CONFIGURE_TARGET = solaris64-x86_64-gcc
+sparcv8_SUN_CONFIGURE_TARGET = solaris-sparcv8-cc-sunw
+sparcv8plus_SUN_CONFIGURE_TARGET = solaris-sparcv9-cc-sunw
+sparcv8plus+vis_SUN_CONFIGURE_TARGET = solaris-sparcv9+vis-cc-sunw
+sparcv9_SUN_CONFIGURE_TARGET = solaris64-sparcv9-cc-sunw
+
+sparcv9_GNU_CONFIGURE_TARGET = solaris-sparcv8-gcc
+sparcv8plus_GNU_CONFIGURE_TARGET = solaris-sparcv9-gcc
+sparcv8plus+vis_GNU_CONFIGURE_TARGET = solaris-sparcv9+vis-gcc
+sparcv9_GNU_CONFIGURE_TARGET = solaris64-sparcv9-gcc
+
+
# Solaris has the issetugid function since libc version interface SUNW_1.21
# but openssl doesn't use it by default so we manually enable it
CONFIGURE_FLAGS = -DHAVE_ISSETUGID
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Fri Mar 7 23:41:53 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Fri, 7 Mar 2014 22:41:53 +0000
Subject: SF.net SVN: gar:[23159] csw/mgar/pkg/openssl1/trunk/Makefile
Message-ID: <3fgkNB2Jvsz18j@mail.opencsw.org>
Revision: 23159
http://sourceforge.net/p/gar/code/23159
Author: chninkel
Date: 2014-03-07 22:41:53 +0000 (Fri, 07 Mar 2014)
Log Message:
-----------
remove obsolete comment
Modified Paths:
--------------
csw/mgar/pkg/openssl1/trunk/Makefile
Modified: csw/mgar/pkg/openssl1/trunk/Makefile
===================================================================
--- csw/mgar/pkg/openssl1/trunk/Makefile 2014-03-07 22:41:47 UTC (rev 23158)
+++ csw/mgar/pkg/openssl1/trunk/Makefile 2014-03-07 22:41:53 UTC (rev 23159)
@@ -231,8 +231,6 @@
# PKCS11 is only for Solaris 10 so we must create solaris 10 specific packages
ifneq ($(shell /usr/bin/uname -r),5.9)
-# There is a problem with this patch under sparc when using tls protocol
-# See https://www.opencsw.org/mantis/view.php?id=5098
CONFIGURE_ARGS += --pk11-libname=$(abspath /usr/lib/$(MM_LIBDIR)/libpkcs11.so)
endif
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Sun Mar 9 10:47:31 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Sun, 9 Mar 2014 09:47:31 +0000
Subject: SF.net SVN: gar:[23161] csw/mgar/pkg/apache2/trunk/Makefile
Message-ID: <3fhd5l6vGfz1CR@mail.opencsw.org>
Revision: 23161
http://sourceforge.net/p/gar/code/23161
Author: chninkel
Date: 2014-03-09 09:47:31 +0000 (Sun, 09 Mar 2014)
Log Message:
-----------
apache2/trunk: update openssl utils dependancy name so that apache2 depends on the real package and not the stub one
Modified Paths:
--------------
csw/mgar/pkg/apache2/trunk/Makefile
Modified: csw/mgar/pkg/apache2/trunk/Makefile
===================================================================
--- csw/mgar/pkg/apache2/trunk/Makefile 2014-03-09 09:47:24 UTC (rev 23160)
+++ csw/mgar/pkg/apache2/trunk/Makefile 2014-03-09 09:47:31 UTC (rev 23161)
@@ -87,7 +87,7 @@
SPKG_DESC_CSWapache2rt = A stub for the old apache2rt package.
SPKG_DESC_CSWapache2c = A stub for the old apache2c package.
-RUNTIME_DEP_PKGS_CSWapache2 += CSWosslutils
+RUNTIME_DEP_PKGS_CSWapache2 += CSWopenssl-utils
RUNTIME_DEP_PKGS_CSWapache2 += CSWlibldap2-4-2
# the loadable ldap module dynamically opens files in this apr sub-package
RUNTIME_DEP_PKGS_CSWapache2 += CSWlibaprutil1-ldap
@@ -113,7 +113,7 @@
RUNTIME_DEP_PKGS_CSWap2worker += CSWapache2c
RUNTIME_DEP_PKGS_CSWapache2rt = CSWapache2
-CHECKPKG_OVERRIDES_CSWapache2 += surplus-dependency|CSWosslutils
+CHECKPKG_OVERRIDES_CSWapache2 += surplus-dependency|CSWopenssl-utils
CHECKPKG_OVERRIDES_CSWapache2 += surplus-dependency|CSWapache2c
CHECKPKG_OVERRIDES_CSWapache2 += surplus-dependency|CSWperl
CHECKPKG_OVERRIDES_CSWapache2 += surplus-dependency|CSWapache2-utils
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Sun Mar 9 10:47:25 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Sun, 9 Mar 2014 09:47:25 +0000
Subject: SF.net SVN: gar:[23160] csw/mgar/pkg/tinyca/trunk/Makefile
Message-ID: <3fhd5n1VMGz1CS@mail.opencsw.org>
Revision: 23160
http://sourceforge.net/p/gar/code/23160
Author: chninkel
Date: 2014-03-09 09:47:24 +0000 (Sun, 09 Mar 2014)
Log Message:
-----------
tinyca/trunk: update openssl utils dependancy name so that tinyca depends on the real package and not the stub one
Modified Paths:
--------------
csw/mgar/pkg/tinyca/trunk/Makefile
Modified: csw/mgar/pkg/tinyca/trunk/Makefile
===================================================================
--- csw/mgar/pkg/tinyca/trunk/Makefile 2014-03-07 22:41:53 UTC (rev 23159)
+++ csw/mgar/pkg/tinyca/trunk/Makefile 2014-03-09 09:47:24 UTC (rev 23160)
@@ -22,7 +22,7 @@
# File name regex to get notifications about upstream software releases
UFILES_REGEX = $(NAME)-(\d+(?:\.\d+)*).tar.bz2
-RUNTIME_DEP_PKGS = CSWperl CSWpmgtk2 CSWosslutils CSWzip CSWgtar
+RUNTIME_DEP_PKGS = CSWperl CSWpmgtk2 CSWopenssl-utils CSWzip CSWgtar
CONFIGURE_SCRIPTS =
BUILD_SCRIPTS =
@@ -32,7 +32,7 @@
ARCHALL = 1
CHECKPKG_OVERRIDES_CSWtinyca2 += surplus-dependency|CSWzip
-CHECKPKG_OVERRIDES_CSWtinyca2 += surplus-dependency|CSWosslutils
+CHECKPKG_OVERRIDES_CSWtinyca2 += surplus-dependency|CSWopenssl-utils
CHECKPKG_OVERRIDES_CSWtinyca2 += surplus-dependency|CSWgtar
CHECKPKG_OVERRIDES_CSWtinyca2 += surplus-dependency|CSWpmgtk2
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Sun Mar 9 10:47:37 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Sun, 9 Mar 2014 09:47:37 +0000
Subject: SF.net SVN: gar:[23162] csw/mgar/pkg/openssl/trunk/Makefile
Message-ID: <3fhd5s19SGz1DT@mail.opencsw.org>
Revision: 23162
http://sourceforge.net/p/gar/code/23162
Author: chninkel
Date: 2014-03-09 09:47:37 +0000 (Sun, 09 Mar 2014)
Log Message:
-----------
openssl/trunk: remove stub packages CSWosslrt and CSWossldevel
Modified Paths:
--------------
csw/mgar/pkg/openssl/trunk/Makefile
Modified: csw/mgar/pkg/openssl/trunk/Makefile
===================================================================
--- csw/mgar/pkg/openssl/trunk/Makefile 2014-03-09 09:47:31 UTC (rev 23161)
+++ csw/mgar/pkg/openssl/trunk/Makefile 2014-03-09 09:47:37 UTC (rev 23162)
@@ -29,14 +29,10 @@
SPKG_DESC_CSWlibssl0-9-8 = Openssl runtime libraries
CATALOGNAME_CSWlibssl0-9-8 = libssl0_9_8
RUNTIME_DEP_PKGS_CSWlibssl0-9-8 = CSWcacertificates
-OBSOLETED_BY_CSWlibssl0-9-8 = CSWosslrt
-CHECKPKG_OVERRIDES_CSWosslrt += surplus-dependency|CSWlibssl0-9-8
SPKG_DESC_CSWlibssl-dev = Openssl development libraries and headers
CATALOGNAME_CSWlibssl-dev = libssl_dev
RUNTIME_DEP_PKGS_CSWlibssl-dev = CSWlibssl0-9-8
-OBSOLETED_BY_CSWlibssl-dev = CSWossldevel
-CHECKPKG_OVERRIDES_CSWossldevel += archall-devel-package
SPKG_DESC_CSWopenssl-utils = Openssl binaries and related tools
CATALOGNAME_CSWopenssl-utils = openssl_utils
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From pfelecan at users.sourceforge.net Sun Mar 9 11:50:17 2014
From: pfelecan at users.sourceforge.net (pfelecan at users.sourceforge.net)
Date: Sun, 9 Mar 2014 10:50:17 +0000
Subject: SF.net SVN: gar:[23163] csw/mgar/pkg/guile/trunk/Makefile
Message-ID: <3fhfVC34ytz1Qs@mail.opencsw.org>
Revision: 23163
http://sourceforge.net/p/gar/code/23163
Author: pfelecan
Date: 2014-03-09 10:50:14 +0000 (Sun, 09 Mar 2014)
Log Message:
-----------
guile/trunk: full 46 bit support as is needed for packages which needs
64 support and uses guile, e.g. autogen
Modified Paths:
--------------
csw/mgar/pkg/guile/trunk/Makefile
Modified: csw/mgar/pkg/guile/trunk/Makefile
===================================================================
--- csw/mgar/pkg/guile/trunk/Makefile 2014-03-09 09:47:37 UTC (rev 23162)
+++ csw/mgar/pkg/guile/trunk/Makefile 2014-03-09 10:50:14 UTC (rev 23163)
@@ -27,7 +27,7 @@
CONFIGURE_ARGS = $(DIRPATHS)
CONFIGURE_ARGS += --disable-silent-rules
-BUILD64_LIBS_ONLY = 1
+BUILD64 = 1
# runtime dependencies as explicited in the project's README file:
BUILD_DEP_PKGS += CSWlibgmp-dev
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From pfelecan at users.sourceforge.net Sun Mar 9 11:52:10 2014
From: pfelecan at users.sourceforge.net (pfelecan at users.sourceforge.net)
Date: Sun, 9 Mar 2014 10:52:10 +0000
Subject: SF.net SVN: gar:[23164] csw/mgar/pkg/autogen/trunk
Message-ID: <3fhfXM4RBRz1VH@mail.opencsw.org>
Revision: 23164
http://sourceforge.net/p/gar/code/23164
Author: pfelecan
Date: 2014-03-09 10:52:07 +0000 (Sun, 09 Mar 2014)
Log Message:
-----------
autogen/trunk:
- bump version
- provides 64 bit libraries to satisfy the 0005156 bug report
Modified Paths:
--------------
csw/mgar/pkg/autogen/trunk/Makefile
csw/mgar/pkg/autogen/trunk/checksums
Modified: csw/mgar/pkg/autogen/trunk/Makefile
===================================================================
--- csw/mgar/pkg/autogen/trunk/Makefile 2014-03-09 10:50:14 UTC (rev 23163)
+++ csw/mgar/pkg/autogen/trunk/Makefile 2014-03-09 10:52:07 UTC (rev 23164)
@@ -2,7 +2,7 @@
NAME = autogen
-VERSION = 5.18.1
+VERSION = 5.18.2
GARTYPE = v2
DESCRIPTION = The Automated Text and Program Generation Tool
@@ -19,6 +19,8 @@
PACKAGING_PLATFORMS = solaris10-sparc
PACKAGING_PLATFORMS += solaris10-i386
+BUILD64_LIBS_ONLY = 1
+
CONFIGURE_ARGS = $(DIRPATHS)
GARCOMPILER = GNU
# why the heck LD_OPTIONS is not used?
Modified: csw/mgar/pkg/autogen/trunk/checksums
===================================================================
--- csw/mgar/pkg/autogen/trunk/checksums 2014-03-09 10:50:14 UTC (rev 23163)
+++ csw/mgar/pkg/autogen/trunk/checksums 2014-03-09 10:52:07 UTC (rev 23164)
@@ -1 +1 @@
-843a613e08ef8d47aba6733c60c8bda4 autogen-5.18.1.tar.xz
+1924fdfe36edb3e0fd66add20aca9b70 autogen-5.18.2.tar.xz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From lblume at users.sourceforge.net Sun Mar 9 12:11:00 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Sun, 9 Mar 2014 11:11:00 +0000
Subject: SF.net SVN: gar:[23165] csw/mgar/pkg/pidgin/trunk/Makefile
Message-ID: <3fhfy50PJPz1H@mail.opencsw.org>
Revision: 23165
http://sourceforge.net/p/gar/code/23165
Author: lblume
Date: 2014-03-09 11:10:59 +0000 (Sun, 09 Mar 2014)
Log Message:
-----------
pidgin/trunk: Switch from NSS to GNUtls
Modified Paths:
--------------
csw/mgar/pkg/pidgin/trunk/Makefile
Modified: csw/mgar/pkg/pidgin/trunk/Makefile
===================================================================
--- csw/mgar/pkg/pidgin/trunk/Makefile 2014-03-09 10:52:07 UTC (rev 23164)
+++ csw/mgar/pkg/pidgin/trunk/Makefile 2014-03-09 11:10:59 UTC (rev 23165)
@@ -22,8 +22,9 @@
CONFIGURE_ARGS += --with-tclconfig=$(libdir)
CONFIGURE_ARGS += --with-tkconfig=$(libdir)
# GNUtls causes issues and failures to connect using SSL
-CONFIGURE_ARGS += --enable-gnutls=no
-CONFIGURE_ARGS += --enable-nss=yes
+# ... or not. Or sometimes it works better. Who knows.
+CONFIGURE_ARGS += --enable-gnutls=yes
+CONFIGURE_ARGS += --enable-nss=no
CONFIGURE_ARGS += --disable-avahi
CONFIGURE_ARGS += --disable-nm
CONFIGURE_ARGS += --with-x
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Sun Mar 9 14:49:52 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Sun, 9 Mar 2014 13:49:52 +0000
Subject: SF.net SVN: gar:[23166] csw/mgar/pkg/ruby19/trunk/Makefile
Message-ID: <3fhkTP5Xs3zDP@mail.opencsw.org>
Revision: 23166
http://sourceforge.net/p/gar/code/23166
Author: chninkel
Date: 2014-03-09 13:49:50 +0000 (Sun, 09 Mar 2014)
Log Message:
-----------
ruby19/trunk: re-enable the patch that was added for ruby patch level 0
Modified Paths:
--------------
csw/mgar/pkg/ruby19/trunk/Makefile
Modified: csw/mgar/pkg/ruby19/trunk/Makefile
===================================================================
--- csw/mgar/pkg/ruby19/trunk/Makefile 2014-03-09 11:10:59 UTC (rev 23165)
+++ csw/mgar/pkg/ruby19/trunk/Makefile 2014-03-09 13:49:50 UTC (rev 23166)
@@ -116,7 +116,7 @@
DISTFILES = $(DISTNAME).tar.gz
PATCHFILES += 0001-Skip-a-chmod-fileutils-test-on-solaris.patch
-#PATCHFILES += 0002-vm.c-vm_define_method-improve-guard-of-iseq-from-GC..patch
+PATCHFILES += 0002-vm.c-vm_define_method-improve-guard-of-iseq-from-GC..patch
PATCHFILES += 0003-Use-echo-port-instead-of-http-for-gem-server-test.patch
# We define upstream file regex so we can be notifed of new upstream
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Sun Mar 9 14:50:58 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Sun, 9 Mar 2014 13:50:58 +0000
Subject: SF.net SVN: gar:[23167] csw/mgar/pkg/ruby19/trunk
Message-ID: <3fhkVx3kggzHm@mail.opencsw.org>
Revision: 23167
http://sourceforge.net/p/gar/code/23167
Author: chninkel
Date: 2014-03-09 13:50:58 +0000 (Sun, 09 Mar 2014)
Log Message:
-----------
ruby19/trunk: manually link ruby against old libffi4 to workaround a bug with libffi5
Modified Paths:
--------------
csw/mgar/pkg/ruby19/trunk/Makefile
Added Paths:
-----------
csw/mgar/pkg/ruby19/trunk/files/libffi4/
csw/mgar/pkg/ruby19/trunk/files/libffi4/amd64/
csw/mgar/pkg/ruby19/trunk/files/libffi4/ffi.h
csw/mgar/pkg/ruby19/trunk/files/libffi4/ffi_common.h
csw/mgar/pkg/ruby19/trunk/files/libffi4/ffitarget.h
Modified: csw/mgar/pkg/ruby19/trunk/Makefile
===================================================================
--- csw/mgar/pkg/ruby19/trunk/Makefile 2014-03-09 13:49:50 UTC (rev 23166)
+++ csw/mgar/pkg/ruby19/trunk/Makefile 2014-03-09 13:50:58 UTC (rev 23167)
@@ -46,7 +46,7 @@
SPKG_DESC_CSWlibruby1-9-1-1 = The libruby shared object files (Ruby $(VERSION), API $(API_VERSION))
RUNTIME_DEP_PKGS_CSWlibruby1-9-1-1 = CSWlibgdbm4 CSWlibiconv2 CSWlibncurses5
RUNTIME_DEP_PKGS_CSWlibruby1-9-1-1 += CSWlibssl1-0-0 CSWlibyaml0-2
-RUNTIME_DEP_PKGS_CSWlibruby1-9-1-1 += CSWlibreadline6 CSWlibz1 CSWlibffi5
+RUNTIME_DEP_PKGS_CSWlibruby1-9-1-1 += CSWlibreadline6 CSWlibz1 CSWlibffi4
PKGFILES_CSWlibruby1-9-1-1 += $(call baseisadirs,$(libdir),libruby$(API_VERSION)\.so\.1.*)
PKGFILES_CSWlibruby1-9-1-1 += $(libdir)/ruby/.*
@@ -134,6 +134,13 @@
CONFIGURE_ARGS += --with-soname=ruby$(API_VERSION)
CONFIGURE_ARGS += --with-out-ext=tk
+# Currently, the ruby tests suit core dumps when ruby is linked
+# to libffi5, see https://bugs.ruby-lang.org/issues/9597
+# While waiting for a good solution, we workaround it by linking
+# against the old libffi4
+EXTRA_CPPFLAGS += -I$(abspath $(FILEDIR)/libffi4)
+EXTRA_LDFLAGS += -L$(abspath $(FILEDIR)/libffi4)
+
# gobjcopy (both the OpenCSW and SFW one) corrupts the ruby library
# (see https://blogs.oracle.com/mandy/entry/building_ruby_1_9_on)
# We disable objcopy (same workaround as in pkgsrc
Added: csw/mgar/pkg/ruby19/trunk/files/libffi4/ffi.h
===================================================================
--- csw/mgar/pkg/ruby19/trunk/files/libffi4/ffi.h (rev 0)
+++ csw/mgar/pkg/ruby19/trunk/files/libffi4/ffi.h 2014-03-09 13:50:58 UTC (rev 23167)
@@ -0,0 +1,443 @@
+/* -----------------------------------------------------------------*-C-*-
+ libffi 3.0.11 - Copyright (c) 2011 Anthony Green
+ - Copyright (c) 1996-2003, 2007, 2008 Red Hat, Inc.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the ``Software''), to deal in the Software without
+ restriction, including without limitation the rights to use, copy,
+ modify, merge, publish, distribute, sublicense, and/or sell copies
+ of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+
+ ----------------------------------------------------------------------- */
+
+/* -------------------------------------------------------------------
+ The basic API is described in the README file.
+
+ The raw API is designed to bypass some of the argument packing
+ and unpacking on architectures for which it can be avoided.
+
+ The closure API allows interpreted functions to be packaged up
+ inside a C function pointer, so that they can be called as C functions,
+ with no understanding on the client side that they are interpreted.
+ It can also be used in other cases in which it is necessary to package
+ up a user specified parameter and a function pointer as a single
+ function pointer.
+
+ The closure API must be implemented in order to get its functionality,
+ e.g. for use by gij. Routines are provided to emulate the raw API
+ if the underlying platform doesn't allow faster implementation.
+
+ More details on the raw and cloure API can be found in:
+
+ http://gcc.gnu.org/ml/java/1999-q3/msg00138.html
+
+ and
+
+ http://gcc.gnu.org/ml/java/1999-q3/msg00174.html
+ -------------------------------------------------------------------- */
+
+#ifndef LIBFFI_H
+#define LIBFFI_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Specify which architecture libffi is configured for. */
+#ifndef X86_64
+#define X86_64
+#endif
+
+/* ---- System configuration information --------------------------------- */
+
+#include
+
+#ifndef LIBFFI_ASM
+
+#ifdef _MSC_VER
+#define __attribute__(X)
+#endif
+
+#include
+#include
+
+/* LONG_LONG_MAX is not always defined (not if STRICT_ANSI, for example).
+ But we can find it either under the correct ANSI name, or under GNU
+ C's internal name. */
+
+#define FFI_64_BIT_MAX 9223372036854775807
+
+#ifdef LONG_LONG_MAX
+# define FFI_LONG_LONG_MAX LONG_LONG_MAX
+#else
+# ifdef LLONG_MAX
+# define FFI_LONG_LONG_MAX LLONG_MAX
+# ifdef _AIX52 /* or newer has C99 LLONG_MAX */
+# undef FFI_64_BIT_MAX
+# define FFI_64_BIT_MAX 9223372036854775807LL
+# endif /* _AIX52 or newer */
+# else
+# ifdef __GNUC__
+# define FFI_LONG_LONG_MAX __LONG_LONG_MAX__
+# endif
+# ifdef _AIX /* AIX 5.1 and earlier have LONGLONG_MAX */
+# ifndef __PPC64__
+# if defined (__IBMC__) || defined (__IBMCPP__)
+# define FFI_LONG_LONG_MAX LONGLONG_MAX
+# endif
+# endif /* __PPC64__ */
+# undef FFI_64_BIT_MAX
+# define FFI_64_BIT_MAX 9223372036854775807LL
+# endif
+# endif
+#endif
+
+/* The closure code assumes that this works on pointers, i.e. a size_t */
+/* can hold a pointer. */
+
+typedef struct _ffi_type
+{
+ size_t size;
+ unsigned short alignment;
+ unsigned short type;
+ struct _ffi_type **elements;
+} ffi_type;
+
+#ifndef LIBFFI_HIDE_BASIC_TYPES
+#if SCHAR_MAX == 127
+# define ffi_type_uchar ffi_type_uint8
+# define ffi_type_schar ffi_type_sint8
+#else
+ #error "char size not supported"
+#endif
+
+#if SHRT_MAX == 32767
+# define ffi_type_ushort ffi_type_uint16
+# define ffi_type_sshort ffi_type_sint16
+#elif SHRT_MAX == 2147483647
+# define ffi_type_ushort ffi_type_uint32
+# define ffi_type_sshort ffi_type_sint32
+#else
+ #error "short size not supported"
+#endif
+
+#if INT_MAX == 32767
+# define ffi_type_uint ffi_type_uint16
+# define ffi_type_sint ffi_type_sint16
+#elif INT_MAX == 2147483647
+# define ffi_type_uint ffi_type_uint32
+# define ffi_type_sint ffi_type_sint32
+#elif INT_MAX == 9223372036854775807
+# define ffi_type_uint ffi_type_uint64
+# define ffi_type_sint ffi_type_sint64
+#else
+ #error "int size not supported"
+#endif
+
+#if LONG_MAX == 2147483647
+# if FFI_LONG_LONG_MAX != FFI_64_BIT_MAX
+ #error "no 64-bit data type supported"
+# endif
+#elif LONG_MAX != FFI_64_BIT_MAX
+ #error "long size not supported"
+#endif
+
+#if LONG_MAX == 2147483647
+# define ffi_type_ulong ffi_type_uint32
+# define ffi_type_slong ffi_type_sint32
+#elif LONG_MAX == FFI_64_BIT_MAX
+# define ffi_type_ulong ffi_type_uint64
+# define ffi_type_slong ffi_type_sint64
+#else
+ #error "long size not supported"
+#endif
+
+/* These are defined in types.c */
+extern ffi_type ffi_type_void;
+extern ffi_type ffi_type_uint8;
+extern ffi_type ffi_type_sint8;
+extern ffi_type ffi_type_uint16;
+extern ffi_type ffi_type_sint16;
+extern ffi_type ffi_type_uint32;
+extern ffi_type ffi_type_sint32;
+extern ffi_type ffi_type_uint64;
+extern ffi_type ffi_type_sint64;
+extern ffi_type ffi_type_float;
+extern ffi_type ffi_type_double;
+extern ffi_type ffi_type_pointer;
+
+#if 1
+extern ffi_type ffi_type_longdouble;
+#else
+#define ffi_type_longdouble ffi_type_double
+#endif
+#endif /* LIBFFI_HIDE_BASIC_TYPES */
+
+typedef enum {
+ FFI_OK = 0,
+ FFI_BAD_TYPEDEF,
+ FFI_BAD_ABI
+} ffi_status;
+
+typedef unsigned FFI_TYPE;
+
+typedef struct {
+ ffi_abi abi;
+ unsigned nargs;
+ ffi_type **arg_types;
+ ffi_type *rtype;
+ unsigned bytes;
+ unsigned flags;
+#ifdef FFI_EXTRA_CIF_FIELDS
+ FFI_EXTRA_CIF_FIELDS;
+#endif
+} ffi_cif;
+
+/* Used internally, but overridden by some architectures */
+ffi_status ffi_prep_cif_core(ffi_cif *cif,
+ ffi_abi abi,
+ unsigned int isvariadic,
+ unsigned int nfixedargs,
+ unsigned int ntotalargs,
+ ffi_type *rtype,
+ ffi_type **atypes);
+
+/* ---- Definitions for the raw API -------------------------------------- */
+
+#ifndef FFI_SIZEOF_ARG
+# if LONG_MAX == 2147483647
+# define FFI_SIZEOF_ARG 4
+# elif LONG_MAX == FFI_64_BIT_MAX
+# define FFI_SIZEOF_ARG 8
+# endif
+#endif
+
+#ifndef FFI_SIZEOF_JAVA_RAW
+# define FFI_SIZEOF_JAVA_RAW FFI_SIZEOF_ARG
+#endif
+
+typedef union {
+ ffi_sarg sint;
+ ffi_arg uint;
+ float flt;
+ char data[FFI_SIZEOF_ARG];
+ void* ptr;
+} ffi_raw;
+
+#if FFI_SIZEOF_JAVA_RAW == 4 && FFI_SIZEOF_ARG == 8
+/* This is a special case for mips64/n32 ABI (and perhaps others) where
+ sizeof(void *) is 4 and FFI_SIZEOF_ARG is 8. */
+typedef union {
+ signed int sint;
+ unsigned int uint;
+ float flt;
+ char data[FFI_SIZEOF_JAVA_RAW];
+ void* ptr;
+} ffi_java_raw;
+#else
+typedef ffi_raw ffi_java_raw;
+#endif
+
+
+void ffi_raw_call (ffi_cif *cif,
+ void (*fn)(void),
+ void *rvalue,
+ ffi_raw *avalue);
+
+void ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw);
+void ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args);
+size_t ffi_raw_size (ffi_cif *cif);
+
+/* This is analogous to the raw API, except it uses Java parameter */
+/* packing, even on 64-bit machines. I.e. on 64-bit machines */
+/* longs and doubles are followed by an empty 64-bit word. */
+
+void ffi_java_raw_call (ffi_cif *cif,
+ void (*fn)(void),
+ void *rvalue,
+ ffi_java_raw *avalue);
+
+void ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw);
+void ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args);
+size_t ffi_java_raw_size (ffi_cif *cif);
+
+/* ---- Definitions for closures ----------------------------------------- */
+
+#if FFI_CLOSURES
+
+#ifdef _MSC_VER
+__declspec(align(8))
+#endif
+typedef struct {
+ char tramp[FFI_TRAMPOLINE_SIZE];
+ ffi_cif *cif;
+ void (*fun)(ffi_cif*,void*,void**,void*);
+ void *user_data;
+#ifdef __GNUC__
+} ffi_closure __attribute__((aligned (8)));
+#else
+} ffi_closure;
+# ifdef __sgi
+# pragma pack 0
+# endif
+#endif
+
+void *ffi_closure_alloc (size_t size, void **code);
+void ffi_closure_free (void *);
+
+ffi_status
+ffi_prep_closure (ffi_closure*,
+ ffi_cif *,
+ void (*fun)(ffi_cif*,void*,void**,void*),
+ void *user_data);
+
+ffi_status
+ffi_prep_closure_loc (ffi_closure*,
+ ffi_cif *,
+ void (*fun)(ffi_cif*,void*,void**,void*),
+ void *user_data,
+ void*codeloc);
+
+#ifdef __sgi
+# pragma pack 8
+#endif
+typedef struct {
+ char tramp[FFI_TRAMPOLINE_SIZE];
+
+ ffi_cif *cif;
+
+#if !FFI_NATIVE_RAW_API
+
+ /* if this is enabled, then a raw closure has the same layout
+ as a regular closure. We use this to install an intermediate
+ handler to do the transaltion, void** -> ffi_raw*. */
+
+ void (*translate_args)(ffi_cif*,void*,void**,void*);
+ void *this_closure;
+
+#endif
+
+ void (*fun)(ffi_cif*,void*,ffi_raw*,void*);
+ void *user_data;
+
+} ffi_raw_closure;
+
+typedef struct {
+ char tramp[FFI_TRAMPOLINE_SIZE];
+
+ ffi_cif *cif;
+
+#if !FFI_NATIVE_RAW_API
+
+ /* if this is enabled, then a raw closure has the same layout
+ as a regular closure. We use this to install an intermediate
+ handler to do the transaltion, void** -> ffi_raw*. */
+
+ void (*translate_args)(ffi_cif*,void*,void**,void*);
+ void *this_closure;
+
+#endif
+
+ void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*);
+ void *user_data;
+
+} ffi_java_raw_closure;
+
+ffi_status
+ffi_prep_raw_closure (ffi_raw_closure*,
+ ffi_cif *cif,
+ void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
+ void *user_data);
+
+ffi_status
+ffi_prep_raw_closure_loc (ffi_raw_closure*,
+ ffi_cif *cif,
+ void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
+ void *user_data,
+ void *codeloc);
+
+ffi_status
+ffi_prep_java_raw_closure (ffi_java_raw_closure*,
+ ffi_cif *cif,
+ void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
+ void *user_data);
+
+ffi_status
+ffi_prep_java_raw_closure_loc (ffi_java_raw_closure*,
+ ffi_cif *cif,
+ void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
+ void *user_data,
+ void *codeloc);
+
+#endif /* FFI_CLOSURES */
+
+/* ---- Public interface definition -------------------------------------- */
+
+ffi_status ffi_prep_cif(ffi_cif *cif,
+ ffi_abi abi,
+ unsigned int nargs,
+ ffi_type *rtype,
+ ffi_type **atypes);
+
+ffi_status ffi_prep_cif_var(ffi_cif *cif,
+ ffi_abi abi,
+ unsigned int nfixedargs,
+ unsigned int ntotalargs,
+ ffi_type *rtype,
+ ffi_type **atypes);
+
+void ffi_call(ffi_cif *cif,
+ void (*fn)(void),
+ void *rvalue,
+ void **avalue);
+
+/* Useful for eliminating compiler warnings */
+#define FFI_FN(f) ((void (*)(void))f)
+
+/* ---- Definitions shared with assembly code ---------------------------- */
+
+#endif
+
+/* If these change, update src/mips/ffitarget.h. */
+#define FFI_TYPE_VOID 0
+#define FFI_TYPE_INT 1
+#define FFI_TYPE_FLOAT 2
+#define FFI_TYPE_DOUBLE 3
+#if 1
+#define FFI_TYPE_LONGDOUBLE 4
+#else
+#define FFI_TYPE_LONGDOUBLE FFI_TYPE_DOUBLE
+#endif
+#define FFI_TYPE_UINT8 5
+#define FFI_TYPE_SINT8 6
+#define FFI_TYPE_UINT16 7
+#define FFI_TYPE_SINT16 8
+#define FFI_TYPE_UINT32 9
+#define FFI_TYPE_SINT32 10
+#define FFI_TYPE_UINT64 11
+#define FFI_TYPE_SINT64 12
+#define FFI_TYPE_STRUCT 13
+#define FFI_TYPE_POINTER 14
+
+/* This should always refer to the last type code (for sanity checks) */
+#define FFI_TYPE_LAST FFI_TYPE_POINTER
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
Added: csw/mgar/pkg/ruby19/trunk/files/libffi4/ffi_common.h
===================================================================
--- csw/mgar/pkg/ruby19/trunk/files/libffi4/ffi_common.h (rev 0)
+++ csw/mgar/pkg/ruby19/trunk/files/libffi4/ffi_common.h 2014-03-09 13:50:58 UTC (rev 23167)
@@ -0,0 +1,128 @@
+/* -----------------------------------------------------------------------
+ ffi_common.h - Copyright (C) 2011, 2012 Anthony Green
+ Copyright (C) 2007 Free Software Foundation, Inc
+ Copyright (c) 1996 Red Hat, Inc.
+
+ Common internal definitions and macros. Only necessary for building
+ libffi.
+ ----------------------------------------------------------------------- */
+
+#ifndef FFI_COMMON_H
+#define FFI_COMMON_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include
+
+/* Do not move this. Some versions of AIX are very picky about where
+ this is positioned. */
+#ifdef __GNUC__
+/* mingw64 defines this already in malloc.h. */
+#ifndef alloca
+# define alloca __builtin_alloca
+#endif
+# define MAYBE_UNUSED __attribute__((__unused__))
+#else
+# define MAYBE_UNUSED
+# if HAVE_ALLOCA_H
+# include
+# else
+# ifdef _AIX
+ #pragma alloca
+# else
+# ifndef alloca /* predefined by HP cc +Olibcalls */
+# ifdef _MSC_VER
+# define alloca _alloca
+# else
+char *alloca ();
+# endif
+# endif
+# endif
+# endif
+#endif
+
+/* Check for the existence of memcpy. */
+#if STDC_HEADERS
+# include
+#else
+# ifndef HAVE_MEMCPY
+# define memcpy(d, s, n) bcopy ((s), (d), (n))
+# endif
+#endif
+
+#if defined(FFI_DEBUG)
+#include
+#endif
+
+#ifdef FFI_DEBUG
+void ffi_assert(char *expr, char *file, int line);
+void ffi_stop_here(void);
+void ffi_type_test(ffi_type *a, char *file, int line);
+
+#define FFI_ASSERT(x) ((x) ? (void)0 : ffi_assert(#x, __FILE__,__LINE__))
+#define FFI_ASSERT_AT(x, f, l) ((x) ? 0 : ffi_assert(#x, (f), (l)))
+#define FFI_ASSERT_VALID_TYPE(x) ffi_type_test (x, __FILE__, __LINE__)
+#else
+#define FFI_ASSERT(x)
+#define FFI_ASSERT_AT(x, f, l)
+#define FFI_ASSERT_VALID_TYPE(x)
+#endif
+
+#define ALIGN(v, a) (((((size_t) (v))-1) | ((a)-1))+1)
+#define ALIGN_DOWN(v, a) (((size_t) (v)) & -a)
+
+/* Perform machine dependent cif processing */
+ffi_status ffi_prep_cif_machdep(ffi_cif *cif);
+ffi_status ffi_prep_cif_machdep_var(ffi_cif *cif,
+ unsigned int nfixedargs, unsigned int ntotalargs);
+
+/* Extended cif, used in callback from assembly routine */
+typedef struct
+{
+ ffi_cif *cif;
+ void *rvalue;
+ void **avalue;
+} extended_cif;
+
+/* Terse sized type definitions. */
+#if defined(_MSC_VER) || defined(__sgi)
+typedef unsigned char UINT8;
+typedef signed char SINT8;
+typedef unsigned short UINT16;
+typedef signed short SINT16;
+typedef unsigned int UINT32;
+typedef signed int SINT32;
+# ifdef _MSC_VER
+typedef unsigned __int64 UINT64;
+typedef signed __int64 SINT64;
+# else
+# include
+typedef uint64_t UINT64;
+typedef int64_t SINT64;
+# endif
+#else
+typedef unsigned int UINT8 __attribute__((__mode__(__QI__)));
+typedef signed int SINT8 __attribute__((__mode__(__QI__)));
+typedef unsigned int UINT16 __attribute__((__mode__(__HI__)));
+typedef signed int SINT16 __attribute__((__mode__(__HI__)));
+typedef unsigned int UINT32 __attribute__((__mode__(__SI__)));
+typedef signed int SINT32 __attribute__((__mode__(__SI__)));
+typedef unsigned int UINT64 __attribute__((__mode__(__DI__)));
+typedef signed int SINT64 __attribute__((__mode__(__DI__)));
+#endif
+
+typedef float FLOAT32;
+
+#ifndef __GNUC__
+#define __builtin_expect(x, expected_value) (x)
+#endif
+#define LIKELY(x) __builtin_expect(!!(x),1)
+#define UNLIKELY(x) __builtin_expect((x)!=0,0)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
Added: csw/mgar/pkg/ruby19/trunk/files/libffi4/ffitarget.h
===================================================================
--- csw/mgar/pkg/ruby19/trunk/files/libffi4/ffitarget.h (rev 0)
+++ csw/mgar/pkg/ruby19/trunk/files/libffi4/ffitarget.h 2014-03-09 13:50:58 UTC (rev 23167)
@@ -0,0 +1,140 @@
+/* -----------------------------------------------------------------*-C-*-
+ ffitarget.h - Copyright (c) 2012 Anthony Green
+ Copyright (c) 1996-2003, 2010 Red Hat, Inc.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Target configuration macros for x86 and x86-64.
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ ``Software''), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+
+ ----------------------------------------------------------------------- */
+
+#ifndef LIBFFI_TARGET_H
+#define LIBFFI_TARGET_H
+
+#ifndef LIBFFI_H
+#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead."
+#endif
+
+/* ---- System specific configurations ----------------------------------- */
+
+/* For code common to all platforms on x86 and x86_64. */
+#define X86_ANY
+
+#if defined (X86_64) && defined (__i386__)
+#undef X86_64
+#define X86
+#endif
+
+#ifdef X86_WIN64
+#define FFI_SIZEOF_ARG 8
+#define USE_BUILTIN_FFS 0 /* not yet implemented in mingw-64 */
+#endif
+
+/* ---- Generic type definitions ----------------------------------------- */
+
+#ifndef LIBFFI_ASM
+#ifdef X86_WIN64
+#ifdef _MSC_VER
+typedef unsigned __int64 ffi_arg;
+typedef __int64 ffi_sarg;
+#else
+typedef unsigned long long ffi_arg;
+typedef long long ffi_sarg;
+#endif
+#else
+#if defined __x86_64__ && defined __ILP32__
+#define FFI_SIZEOF_ARG 8
+#define FFI_SIZEOF_JAVA_RAW 4
+typedef unsigned long long ffi_arg;
+typedef long long ffi_sarg;
+#else
+typedef unsigned long ffi_arg;
+typedef signed long ffi_sarg;
+#endif
+#endif
+
+typedef enum ffi_abi {
+ FFI_FIRST_ABI = 0,
+
+ /* ---- Intel x86 Win32 ---------- */
+#ifdef X86_WIN32
+ FFI_SYSV,
+ FFI_STDCALL,
+ FFI_THISCALL,
+ FFI_FASTCALL,
+ FFI_MS_CDECL,
+ FFI_LAST_ABI,
+#ifdef _MSC_VER
+ FFI_DEFAULT_ABI = FFI_MS_CDECL
+#else
+ FFI_DEFAULT_ABI = FFI_SYSV
+#endif
+
+#elif defined(X86_WIN64)
+ FFI_WIN64,
+ FFI_LAST_ABI,
+ FFI_DEFAULT_ABI = FFI_WIN64
+
+#else
+ /* ---- Intel x86 and AMD x86-64 - */
+ FFI_SYSV,
+ FFI_UNIX64, /* Unix variants all use the same ABI for x86-64 */
+ FFI_LAST_ABI,
+#if defined(__i386__) || defined(__i386)
+ FFI_DEFAULT_ABI = FFI_SYSV
+#else
+ FFI_DEFAULT_ABI = FFI_UNIX64
+#endif
+#endif
+} ffi_abi;
+#endif
+
+/* ---- Definitions for closures ----------------------------------------- */
+
+#define FFI_CLOSURES 1
+#define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1)
+#define FFI_TYPE_SMALL_STRUCT_2B (FFI_TYPE_LAST + 2)
+#define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3)
+#define FFI_TYPE_MS_STRUCT (FFI_TYPE_LAST + 4)
+
+#if defined (X86_64) || (defined (__x86_64__) && defined (X86_DARWIN))
+#define FFI_TRAMPOLINE_SIZE 24
+#define FFI_NATIVE_RAW_API 0
+#else
+#ifdef X86_WIN32
+#define FFI_TRAMPOLINE_SIZE 52
+#else
+#ifdef X86_WIN64
+#define FFI_TRAMPOLINE_SIZE 29
+#define FFI_NATIVE_RAW_API 0
+#define FFI_NO_RAW_API 1
+#else
+#define FFI_TRAMPOLINE_SIZE 10
+#endif
+#endif
+#ifndef X86_WIN64
+#define FFI_NATIVE_RAW_API 1 /* x86 has native raw api support */
+#endif
+#endif
+
+#endif
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From pfelecan at users.sourceforge.net Sun Mar 9 17:13:57 2014
From: pfelecan at users.sourceforge.net (pfelecan at users.sourceforge.net)
Date: Sun, 9 Mar 2014 16:13:57 +0000
Subject: SF.net SVN: gar:[23168] csw/mgar/pkg/guile/trunk/Makefile
Message-ID: <3fhngf6YQlzQY@mail.opencsw.org>
Revision: 23168
http://sourceforge.net/p/gar/code/23168
Author: pfelecan
Date: 2014-03-09 16:13:56 +0000 (Sun, 09 Mar 2014)
Log Message:
-----------
guile/trunk: declared new dependencies
Modified Paths:
--------------
csw/mgar/pkg/guile/trunk/Makefile
Modified: csw/mgar/pkg/guile/trunk/Makefile
===================================================================
--- csw/mgar/pkg/guile/trunk/Makefile 2014-03-09 13:50:58 UTC (rev 23167)
+++ csw/mgar/pkg/guile/trunk/Makefile 2014-03-09 16:13:56 UTC (rev 23168)
@@ -47,6 +47,7 @@
CATALOGNAME_CSWguile = guile
SPKG_DESC_CSWguile += $(DESCRIPTION)
RUNTIME_DEP_PKGS_CSWguile += CSWlibguile2-0-22
+RUNTIME_DEP_PKGS_CSWguile += CSWlibintl8
PACKAGES += CSWlibguile2-0-22
CATALOGNAME_CSWlibguile2-0-22 = libguile2_0_22
@@ -66,7 +67,7 @@
RUNTIME_DEP_PKGS_CSWlibguile2-0-22 += CSWlibunistring0
RUNTIME_DEP_PKGS_CSWlibguile2-0-22 += CSWlibgcc-s1
RUNTIME_DEP_PKGS_CSWlibguile2-0-22 += CSWlibgmp10
-RUNTIME_DEP_PKGS_CSWlibguile2-0-22 += CSWlibffi4
+RUNTIME_DEP_PKGS_CSWlibguile2-0-22 += CSWlibffi5
CHECKPKG_OVERRIDES_CSWlibguile2-0-22 += file-with-bad-content|/usr/share|root/opt/csw/lib/guile/2.0/ccache/ice-9/slib.go
CHECKPKG_OVERRIDES_CSWlibguile2-0-22 += file-with-bad-content|/usr/share|root/opt/csw/lib/sparcv9/guile/2.0/ccache/ice-9/slib.go
CHECKPKG_OVERRIDES_CSWlibguile2-0-22 += file-with-bad-content|/usr/share|root/opt/csw/lib/amd64/guile/2.0/ccache/ice-9/slib.go
@@ -84,6 +85,10 @@
RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibreadline6
RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibguile2-0-22
RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibunistring0
+RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibltdl7
+RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibffi5
+RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibncurses5
+RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibgc1
RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibgcc-s1
# old library provided for those dependencies which didn't change to 2.x
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From lblume at users.sourceforge.net Sun Mar 9 21:51:49 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Sun, 9 Mar 2014 20:51:49 +0000
Subject: SF.net SVN: gar:[23169] csw/mgar/pkg/pidgin/trunk/Makefile
Message-ID: <3fhvrK1ZP3zfm@mail.opencsw.org>
Revision: 23169
http://sourceforge.net/p/gar/code/23169
Author: lblume
Date: 2014-03-09 20:51:47 +0000 (Sun, 09 Mar 2014)
Log Message:
-----------
pidgin/trunk: Dependencies need to reflect the switch to GNUtls
Modified Paths:
--------------
csw/mgar/pkg/pidgin/trunk/Makefile
Modified: csw/mgar/pkg/pidgin/trunk/Makefile
===================================================================
--- csw/mgar/pkg/pidgin/trunk/Makefile 2014-03-09 16:13:56 UTC (rev 23168)
+++ csw/mgar/pkg/pidgin/trunk/Makefile 2014-03-09 20:51:47 UTC (rev 23169)
@@ -66,11 +66,7 @@
RUNTIME_DEP_PKGS_CSWpidgin += CSWtk
RUNTIME_DEP_PKGS_CSWpidgin += CSWdbus
RUNTIME_DEP_PKGS_CSWpidgin += CSWlibidn11
-RUNTIME_DEP_PKGS_CSWpidgin += CSWlibnss3
-RUNTIME_DEP_PKGS_CSWpidgin += CSWlibnspr4
RUNTIME_DEP_PKGS_CSWpidgin += CSWlibgthread2-0-0
-RUNTIME_DEP_PKGS_CSWpidgin += CSWlibsmime3
-RUNTIME_DEP_PKGS_CSWpidgin += CSWlibssl3
RUNTIME_DEP_PKGS_CSWpidgin += CSWlibncursesw5
RUNTIME_DEP_PKGS_CSWpidgin += CSWlibgmodule2-0-0
RUNTIME_DEP_PKGS_CSWpidgin += CSWlibgdk-x11-2-0-0
@@ -85,6 +81,7 @@
RUNTIME_DEP_PKGS_CSWpidgin += CSWlibsilc1-1-2
RUNTIME_DEP_PKGS_CSWpidgin += CSWlibsilcclient1-1-3
RUNTIME_DEP_PKGS_CSWpidgin += CSWlibsasl2-2
+RUNTIME_DEP_PKGS_CSWpidgin += CSWlibgnutls28
###
# due to the ld bug
@@ -92,9 +89,6 @@
RUNTIME_DEP_PKGS_CSWpidgin += CSWlibfreetype6
RUNTIME_DEP_PKGS_CSWpidgin += CSWlibgio2-0-0
RUNTIME_DEP_PKGS_CSWpidgin += CSWlibfontconfig1
-RUNTIME_DEP_PKGS_CSWpidgin += CSWlibplc4
-RUNTIME_DEP_PKGS_CSWpidgin += CSWlibnssutil3
-RUNTIME_DEP_PKGS_CSWpidgin += CSWlibplds4
RUNTIME_DEP_PKGS_CSWpidgin += CSWlibpangocairo1-0-0
###
@@ -117,13 +111,12 @@
BUILD_DEP_PKGS += CSWlibidn-dev
BUILD_DEP_PKGS += CSWtcl-dev
BUILD_DEP_PKGS += CSWtk-dev
-BUILD_DEP_PKGS += CSWlibnss-dev
-BUILD_DEP_PKGS += CSWnspr-dev
BUILD_DEP_PKGS += CSWmeanwhile-dev
BUILD_DEP_PKGS += CSWlibsilc-dev
BUILD_DEP_PKGS += CSWgstreamer-dev
BUILD_DEP_PKGS += CSWsasl-dev
BUILD_DEP_PKGS += CSWlibpango-dev
+BUILD_DEP_PKGS += CSWlibgnutls-dev
PATCHFILES += patch-pidgin-Makefile.in
PATCHFILES += patch-pidgin-plugin.c
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From lblume at users.sourceforge.net Sun Mar 9 22:21:00 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Sun, 9 Mar 2014 21:21:00 +0000
Subject: SF.net SVN: gar:[23170] csw/mgar/pkg/pidgin/trunk/Makefile
Message-ID: <3fhwV23nkMzlY@mail.opencsw.org>
Revision: 23170
http://sourceforge.net/p/gar/code/23170
Author: lblume
Date: 2014-03-09 21:20:57 +0000 (Sun, 09 Mar 2014)
Log Message:
-----------
pidgin/trunk: Make the ld workaround arch-optional
Modified Paths:
--------------
csw/mgar/pkg/pidgin/trunk/Makefile
Modified: csw/mgar/pkg/pidgin/trunk/Makefile
===================================================================
--- csw/mgar/pkg/pidgin/trunk/Makefile 2014-03-09 20:51:47 UTC (rev 23169)
+++ csw/mgar/pkg/pidgin/trunk/Makefile 2014-03-09 21:20:57 UTC (rev 23170)
@@ -85,11 +85,13 @@
###
# due to the ld bug
+ifeq ($(shell /usr/bin/uname -p),sparc)
RUNTIME_DEP_PKGS_CSWpidgin += CSWlibpangoft2-1-0-0
RUNTIME_DEP_PKGS_CSWpidgin += CSWlibfreetype6
RUNTIME_DEP_PKGS_CSWpidgin += CSWlibgio2-0-0
RUNTIME_DEP_PKGS_CSWpidgin += CSWlibfontconfig1
RUNTIME_DEP_PKGS_CSWpidgin += CSWlibpangocairo1-0-0
+endif
###
BUILD_DEP_PKGS += CSWpkgconfig
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From lblume at users.sourceforge.net Sun Mar 9 23:52:26 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Sun, 9 Mar 2014 22:52:26 +0000
Subject: SF.net SVN: gar:[23171] csw/mgar/pkg/vim/trunk/Makefile
Message-ID: <3fhyWS57yXzsv@mail.opencsw.org>
Revision: 23171
http://sourceforge.net/p/gar/code/23171
Author: lblume
Date: 2014-03-09 22:52:24 +0000 (Sun, 09 Mar 2014)
Log Message:
-----------
vim/trunk: Bump patch level to 193
Modified Paths:
--------------
csw/mgar/pkg/vim/trunk/Makefile
Modified: csw/mgar/pkg/vim/trunk/Makefile
===================================================================
--- csw/mgar/pkg/vim/trunk/Makefile 2014-03-09 21:20:57 UTC (rev 23170)
+++ csw/mgar/pkg/vim/trunk/Makefile 2014-03-09 22:52:24 UTC (rev 23171)
@@ -1,6 +1,6 @@
NAME = vim
DISTVERSION = 7.4
-PATCHREV = 27
+PATCHREV = 193
VERSION = $(DISTVERSION).$(PATCHREV)
GARTYPE = v2
SPKG_SOURCEURL = http://www.vim.org/download.php
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From lblume at users.sourceforge.net Sun Mar 9 23:55:01 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Sun, 9 Mar 2014 22:55:01 +0000
Subject: SF.net SVN: gar:[23172] csw/mgar/pkg/gvim/trunk/Makefile
Message-ID: <3fhyZP3nP9zxM@mail.opencsw.org>
Revision: 23172
http://sourceforge.net/p/gar/code/23172
Author: lblume
Date: 2014-03-09 22:54:59 +0000 (Sun, 09 Mar 2014)
Log Message:
-----------
gvim/trunk: Bump patch level to 193
Modified Paths:
--------------
csw/mgar/pkg/gvim/trunk/Makefile
Modified: csw/mgar/pkg/gvim/trunk/Makefile
===================================================================
--- csw/mgar/pkg/gvim/trunk/Makefile 2014-03-09 22:52:24 UTC (rev 23171)
+++ csw/mgar/pkg/gvim/trunk/Makefile 2014-03-09 22:54:59 UTC (rev 23172)
@@ -1,6 +1,6 @@
NAME = vim
DISTVERSION = 7.4
-PATCHREV = 27
+PATCHREV = 193
VERSION = $(DISTVERSION).$(PATCHREV)
GARTYPE = v2
SPKG_SOURCEURL = http://www.vim.org/download.php
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Mon Mar 10 09:22:40 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Mon, 10 Mar 2014 08:22:40 +0000
Subject: SF.net SVN: gar:[23173] csw/mgar/pkg/tinyca/trunk/Makefile
Message-ID: <3fjC9Q1WFMz1MW@mail.opencsw.org>
Revision: 23173
http://sourceforge.net/p/gar/code/23173
Author: dmichelsen
Date: 2014-03-10 08:22:40 +0000 (Mon, 10 Mar 2014)
Log Message:
-----------
tinyca/trunk: Update to latest standards and deps
Modified Paths:
--------------
csw/mgar/pkg/tinyca/trunk/Makefile
Modified: csw/mgar/pkg/tinyca/trunk/Makefile
===================================================================
--- csw/mgar/pkg/tinyca/trunk/Makefile 2014-03-09 22:54:59 UTC (rev 23172)
+++ csw/mgar/pkg/tinyca/trunk/Makefile 2014-03-10 08:22:40 UTC (rev 23173)
@@ -19,23 +19,25 @@
DISTFILES += COPYING
PATCHFILES = 0001-Hardcode-pathes-to-CSW.patch
-# File name regex to get notifications about upstream software releases
-UFILES_REGEX = $(NAME)-(\d+(?:\.\d+)*).tar.bz2
+PACKAGES += CSWtinyca2
+SPKG_DESC_CSWtinyca2 = Graphical userinterface to manage a small CA
+ARCHALL_CSWtinyca2 = 1
+RUNTIME_DEP_PKGS_CSWtinyca2 += CSWperl
+RUNTIME_DEP_PKGS_CSWtinyca2 += CSWpmgtk2
+RUNTIME_DEP_PKGS_CSWtinyca2 += CSWopenssl-utils
+RUNTIME_DEP_PKGS_CSWtinyca2 += CSWzip
+RUNTIME_DEP_PKGS_CSWtinyca2 += CSWgtar
-RUNTIME_DEP_PKGS = CSWperl CSWpmgtk2 CSWopenssl-utils CSWzip CSWgtar
+CHECKPKG_OVERRIDES_CSWtinyca2 += surplus-dependency|CSWzip
+CHECKPKG_OVERRIDES_CSWtinyca2 += surplus-dependency|CSWopenssl-utils
+CHECKPKG_OVERRIDES_CSWtinyca2 += surplus-dependency|CSWgtar
+CHECKPKG_OVERRIDES_CSWtinyca2 += surplus-dependency|CSWpmgtk2
CONFIGURE_SCRIPTS =
BUILD_SCRIPTS =
INSTALL_SCRIPTS = custom
TEST_SCRIPTS =
-ARCHALL = 1
-
-CHECKPKG_OVERRIDES_CSWtinyca2 += surplus-dependency|CSWzip
-CHECKPKG_OVERRIDES_CSWtinyca2 += surplus-dependency|CSWopenssl-utils
-CHECKPKG_OVERRIDES_CSWtinyca2 += surplus-dependency|CSWgtar
-CHECKPKG_OVERRIDES_CSWtinyca2 += surplus-dependency|CSWpmgtk2
-
include gar/category.mk
install-custom:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Mon Mar 10 09:34:59 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Mon, 10 Mar 2014 08:34:59 +0000
Subject: SF.net SVN: gar:[23174] csw/mgar/pkg/cpan/Glib/trunk
Message-ID: <3fjCRc4qLyz1TL@mail.opencsw.org>
Revision: 23174
http://sourceforge.net/p/gar/code/23174
Author: dmichelsen
Date: 2014-03-10 08:34:58 +0000 (Mon, 10 Mar 2014)
Log Message:
-----------
cpan/Glib/trunk: Update to 1.304 and makemake
Modified Paths:
--------------
csw/mgar/pkg/cpan/Glib/trunk/Makefile
csw/mgar/pkg/cpan/Glib/trunk/checksums
Property Changed:
----------------
csw/mgar/pkg/cpan/Glib/trunk/
Index: csw/mgar/pkg/cpan/Glib/trunk
===================================================================
--- csw/mgar/pkg/cpan/Glib/trunk 2014-03-10 08:22:40 UTC (rev 23173)
+++ csw/mgar/pkg/cpan/Glib/trunk 2014-03-10 08:34:58 UTC (rev 23174)
Property changes on: csw/mgar/pkg/cpan/Glib/trunk
___________________________________________________________________
Modified: svn:ignore
## -1,4 +1 ##
-cookies
-download
work
-
Modified: csw/mgar/pkg/cpan/Glib/trunk/Makefile
===================================================================
--- csw/mgar/pkg/cpan/Glib/trunk/Makefile 2014-03-10 08:22:40 UTC (rev 23173)
+++ csw/mgar/pkg/cpan/Glib/trunk/Makefile 2014-03-10 08:34:58 UTC (rev 23174)
@@ -1,24 +1,25 @@
NAME = Glib
-VERSION = 1.223
+VERSION = 1.304
CATEGORIES = cpan
GARTYPE = v2
-AUTHOR = TSCH
+AUTHOR = XAOC
-DESCRIPTION = wrappers for the GLib utility and Object libraries
+DESCRIPTION = Perl wrappers for the GLib utility and Object libraries
define BLURB
- This module provides perl access to GLib and GLib's GObject libraries. GLib
- is a portability and utility library; GObject provides a generic type system
- with inheritance and a powerful signal system. Together these libraries are
- used as the foundation for many of the libraries that make up the Gnome
- environment, and are used in many unrelated projects.
endef
-BUILD_DEP_PKGS = CSWpmextutilsdepends CSWpmextutpkgconf
-RUNTIME_DEP_PKGS_CSWpmglib = CSWpmextutilsdepends CSWpmextutpkgconf CSWggettextrt CSWglib2
+CATALOG_RELEASE = unstable
-CATALOGNAME = pm_glib
-PACKAGES = CSWpmglib
+LICENSE = LICENSE
-LICENSE = README
+PACKAGES += CSWpm-glib
+CATALOGNAME_CSWpm-glib = pm_glib
+SPKG_DESC_CSWpm-glib = Perl wrappers for the GLib utility and Object libraries
+OBSOLETED_BY_CSWpm-glib += CSWpmglib
+CATALOGNAME_CSWpmglib = pm_glib_stub
+RUNTIME_DEP_PKGS_CSWpm-glib += CSWlibintl8
+RUNTIME_DEP_PKGS_CSWpm-glib += CSWlibgobject2-0-0
+RUNTIME_DEP_PKGS_CSWpm-glib += CSWlibglib2-0-0
+
include gar/category.mk
Modified: csw/mgar/pkg/cpan/Glib/trunk/checksums
===================================================================
--- csw/mgar/pkg/cpan/Glib/trunk/checksums 2014-03-10 08:22:40 UTC (rev 23173)
+++ csw/mgar/pkg/cpan/Glib/trunk/checksums 2014-03-10 08:34:58 UTC (rev 23174)
@@ -1 +1 @@
-cfdeaa8c95448f86c30b505e4701abf1 Glib-1.223.tar.gz
+62e454da4eb8eccdb59452c8bfd8565c Glib-1.304.tar.gz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Mon Mar 10 09:35:51 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Mon, 10 Mar 2014 08:35:51 +0000
Subject: SF.net SVN: gar:[23175] csw/mgar/pkg/cpan/Pango/trunk
Message-ID: <3fjCSd1GpLz1Xl@mail.opencsw.org>
Revision: 23175
http://sourceforge.net/p/gar/code/23175
Author: dmichelsen
Date: 2014-03-10 08:35:48 +0000 (Mon, 10 Mar 2014)
Log Message:
-----------
cpan/Pango/trunk: Update to 1.226 and makemake
Modified Paths:
--------------
csw/mgar/pkg/cpan/Pango/trunk/Makefile
csw/mgar/pkg/cpan/Pango/trunk/checksums
Property Changed:
----------------
csw/mgar/pkg/cpan/Pango/trunk/
Index: csw/mgar/pkg/cpan/Pango/trunk
===================================================================
--- csw/mgar/pkg/cpan/Pango/trunk 2014-03-10 08:34:58 UTC (rev 23174)
+++ csw/mgar/pkg/cpan/Pango/trunk 2014-03-10 08:35:48 UTC (rev 23175)
Property changes on: csw/mgar/pkg/cpan/Pango/trunk
___________________________________________________________________
Modified: svn:ignore
## -1,4 +1 ##
-cookies
-download
work
-
Modified: csw/mgar/pkg/cpan/Pango/trunk/Makefile
===================================================================
--- csw/mgar/pkg/cpan/Pango/trunk/Makefile 2014-03-10 08:34:58 UTC (rev 23174)
+++ csw/mgar/pkg/cpan/Pango/trunk/Makefile 2014-03-10 08:35:48 UTC (rev 23175)
@@ -1,31 +1,29 @@
NAME = Pango
-VERSION = 1.221
+VERSION = 1.226
CATEGORIES = cpan
GARTYPE = v2
-AUTHOR = TSCH
+AUTHOR = XAOC
DESCRIPTION = Layout and render international text
define BLURB
- Layout and render international text
endef
-PACKAGES = CSWpmpango
-CATALOGNAME = pm_pango
+CATALOG_RELEASE = unstable
LICENSE = LICENSE
-RUNTIME_DEP_PKGS = CSWfconfig CSWftype2 CSWggettextrt CSWglib2 CSWlibcairo CSWpango
-BUILD_DEP_PKGS = $(RUNTIME_DEP_PKGS)
+PACKAGES += CSWpm-pango
+SPKG_DESC_CSWpm-pango = Layout and render international text
+OBSOLETED_BY_CSWpm-pango += CSWpmpango
+CATALOGNAME_CSWpmpango = pm_pango_stub
-EXTRA_INC = $(prefix)/X11/include
-EXTRA_LIB = $(prefix)/X11/lib
-EXTRA_PKG_CONFIG_DIRS = $(prefix)/X11/lib
+RUNTIME_DEP_PKGS_CSWpm-pango += CSWlibcairo2
+RUNTIME_DEP_PKGS_CSWpm-pango += CSWlibfreetype6
+RUNTIME_DEP_PKGS_CSWpm-pango += CSWlibgobject2-0-0
+RUNTIME_DEP_PKGS_CSWpm-pango += CSWlibglib2-0-0
+RUNTIME_DEP_PKGS_CSWpm-pango += CSWlibfontconfig1
+RUNTIME_DEP_PKGS_CSWpm-pango += CSWlibpangocairo1-0-0
+RUNTIME_DEP_PKGS_CSWpm-pango += CSWlibintl8
+RUNTIME_DEP_PKGS_CSWpm-pango += CSWlibpango1-0-0
include gar/category.mk
-
-post-merge:
- ginstall -m 755 -d $(PKGROOT)$(prefix)/share/checkpkg/overrides
- echo "CSWpmpango: symbol-not-found" \
- > $(PKGROOT)$(prefix)/share/checkpkg/overrides/$(CATALOGNAME)
- @$(MAKECOOKIE)
-
Modified: csw/mgar/pkg/cpan/Pango/trunk/checksums
===================================================================
--- csw/mgar/pkg/cpan/Pango/trunk/checksums 2014-03-10 08:34:58 UTC (rev 23174)
+++ csw/mgar/pkg/cpan/Pango/trunk/checksums 2014-03-10 08:35:48 UTC (rev 23175)
@@ -1 +1 @@
-8d257209aa11bd6c3a2beb235c2f103f Pango-1.221.tar.gz
+9ff2dee3cc1d37563ea98b91a45e6ba1 Pango-1.226.tar.gz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Mon Mar 10 21:11:28 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Mon, 10 Mar 2014 20:11:28 +0000
Subject: SF.net SVN: gar:[23176] csw/mgar/pkg/apache2/trunk/Makefile
Message-ID: <3fjVx86wlvz10P@mail.opencsw.org>
Revision: 23176
http://sourceforge.net/p/gar/code/23176
Author: dmichelsen
Date: 2014-03-10 20:11:25 +0000 (Mon, 10 Mar 2014)
Log Message:
-----------
apache2/trunk: Add todo item
Modified Paths:
--------------
csw/mgar/pkg/apache2/trunk/Makefile
Modified: csw/mgar/pkg/apache2/trunk/Makefile
===================================================================
--- csw/mgar/pkg/apache2/trunk/Makefile 2014-03-10 08:35:48 UTC (rev 23175)
+++ csw/mgar/pkg/apache2/trunk/Makefile 2014-03-10 20:11:25 UTC (rev 23176)
@@ -1,4 +1,5 @@
# $Id$
+# ! Move ap2xs into devel package
NAME = httpd
VERSION = 2.2.26
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Mon Mar 10 21:36:04 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Mon, 10 Mar 2014 20:36:04 +0000
Subject: SF.net SVN: gar:[23177] csw/mgar/pkg/cpan/Gtk2/trunk
Message-ID: <3fjWRj06Shz168@mail.opencsw.org>
Revision: 23177
http://sourceforge.net/p/gar/code/23177
Author: dmichelsen
Date: 2014-03-10 20:36:01 +0000 (Mon, 10 Mar 2014)
Log Message:
-----------
cpan/Gtk2/trunk: Update to 1.249 and makemake
Modified Paths:
--------------
csw/mgar/pkg/cpan/Gtk2/trunk/Makefile
csw/mgar/pkg/cpan/Gtk2/trunk/checksums
Property Changed:
----------------
csw/mgar/pkg/cpan/Gtk2/trunk/
Index: csw/mgar/pkg/cpan/Gtk2/trunk
===================================================================
--- csw/mgar/pkg/cpan/Gtk2/trunk 2014-03-10 20:11:25 UTC (rev 23176)
+++ csw/mgar/pkg/cpan/Gtk2/trunk 2014-03-10 20:36:01 UTC (rev 23177)
Property changes on: csw/mgar/pkg/cpan/Gtk2/trunk
___________________________________________________________________
Modified: svn:ignore
## -1,4 +1 ##
-cookies
-download
work
-
Modified: csw/mgar/pkg/cpan/Gtk2/trunk/Makefile
===================================================================
--- csw/mgar/pkg/cpan/Gtk2/trunk/Makefile 2014-03-10 20:11:25 UTC (rev 23176)
+++ csw/mgar/pkg/cpan/Gtk2/trunk/Makefile 2014-03-10 20:36:01 UTC (rev 23177)
@@ -1,35 +1,39 @@
NAME = Gtk2
-VERSION = 1.221
+VERSION = 1.249
CATEGORIES = cpan
GARTYPE = v2
-AUTHOR = TSCH
+AUTHOR = XAOC
DESCRIPTION = Perl interface to the 2.x series of the Gimp Toolkit library
define BLURB
- Perl bindings to the 2.x series of the Gtk+ widget set. This module allows
- you to write graphical user interfaces in a perlish and object-oriented way,
- freeing you from the casting and memory management in C, yet remaining very
- close in spirit to original API.
endef
-PACKAGES = CSWpmgtk2
-CATALOGNAME = pm_gtk2
+CATALOG_RELEASE = unstable
LICENSE = LICENSE
-RUNTIME_DEP_PKGS = CSWpmglib CSWgtk2 CSWpmpango CSWpmcairo CSWfconfig CSWftype2 CSWggettextrt
-RUNTIME_DEP_PKGS += CSWglib2 CSWlibatk CSWlibcairo CSWpango
-BUILD_DEP_PKGS = $(RUNTIME_DEP_PKGS)
+PACKAGES += CSWpm-gtk2
+CATALOGNAME_CSWpm-gtk2 = pm_gtk2
+SPKG_DESC_CSWpm-gtk2 = Perl interface to the 2.x series of the Gimp Toolkit library
+OBSOLETED_BY_CSWpm-gtk2 += CSWpmgtk2
+CATALOGNAME_CSWpmgtk2 = pm_gtk2_stub
-EXTRA_INC = $(prefix)/X11/include
-EXTRA_LIB = $(prefix)/X11/lib
-EXTRA_PKG_CONFIG_DIRS = $(prefix)/X11/lib
+RUNTIME_DEP_PKGS_CSWpm-gtk2 += CSWlibpango1-0-0
+RUNTIME_DEP_PKGS_CSWpm-gtk2 += CSWlibpangoft2-1-0-0
+RUNTIME_DEP_PKGS_CSWpm-gtk2 += CSWlibgdk-x11-2-0-0
+RUNTIME_DEP_PKGS_CSWpm-gtk2 += CSWlibintl8
+RUNTIME_DEP_PKGS_CSWpm-gtk2 += CSWlibgdk-pixbuf2-0-0
+RUNTIME_DEP_PKGS_CSWpm-gtk2 += CSWlibfontconfig1
+RUNTIME_DEP_PKGS_CSWpm-gtk2 += CSWlibcairo2
+RUNTIME_DEP_PKGS_CSWpm-gtk2 += CSWlibfreetype6
+RUNTIME_DEP_PKGS_CSWpm-gtk2 += CSWlibgobject2-0-0
+RUNTIME_DEP_PKGS_CSWpm-gtk2 += CSWlibgio2-0-0
+RUNTIME_DEP_PKGS_CSWpm-gtk2 += CSWlibgtk-x11-2-0-0
+RUNTIME_DEP_PKGS_CSWpm-gtk2 += CSWlibpangocairo1-0-0
+RUNTIME_DEP_PKGS_CSWpm-gtk2 += CSWlibglib2-0-0
+RUNTIME_DEP_PKGS_CSWpm-gtk2 += CSWlibatk1-0-0
+# The testsuite essentially doesn't run without X display attached
+SKIPTEST ?= 1
+
include gar/category.mk
-
-post-merge:
- ginstall -m 755 -d $(PKGROOT)$(prefix)/share/checkpkg/overrides
- echo "CSWpmgtk2: symbol-not-found" \
- > $(PKGROOT)$(prefix)/share/checkpkg/overrides/$(CATALOGNAME)
- @$(MAKECOOKIE)
-
Modified: csw/mgar/pkg/cpan/Gtk2/trunk/checksums
===================================================================
--- csw/mgar/pkg/cpan/Gtk2/trunk/checksums 2014-03-10 20:11:25 UTC (rev 23176)
+++ csw/mgar/pkg/cpan/Gtk2/trunk/checksums 2014-03-10 20:36:01 UTC (rev 23177)
@@ -1 +1 @@
-ba412049d10978ed802b98976f6adaa9 Gtk2-1.221.tar.gz
+605b419fca92c5166f0d0077663c7c98 Gtk2-1.249.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 Mon Mar 10 21:57:13 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Mon, 10 Mar 2014 20:57:13 +0000
Subject: SF.net SVN: gar:[23178] csw/mgar/gar/v2/lib/python/models.py
Message-ID: <3fjWw91mlsz1DS@mail.opencsw.org>
Revision: 23178
http://sourceforge.net/p/gar/code/23178
Author: wahwah
Date: 2014-03-10 20:57:12 +0000 (Mon, 10 Mar 2014)
Log Message:
-----------
pkgdb-web: bring back svn information
We're already in the part of code where we can talk to the database, so let's
add back the method returning the stats struct, it's still used for some
endpoints.
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/models.py
Modified: csw/mgar/gar/v2/lib/python/models.py
===================================================================
--- csw/mgar/gar/v2/lib/python/models.py 2014-03-10 20:36:01 UTC (rev 23177)
+++ csw/mgar/gar/v2/lib/python/models.py 2014-03-10 20:57:12 UTC (rev 23178)
@@ -338,8 +338,12 @@
s = s + u" (bad unicode detected)"
return s
+ def GetStatsStruct(self):
+ pkg_stats_sqo = Srv4FileStatsBlob.selectBy(
+ md5_sum=self.md5_sum).getOne()
+ return cjson.decode(pkg_stats_sqo.json)
+
def _GetBuildSource(self):
- return "_GetBuildSource(): Not implemented"
data = self.GetStatsStruct()
build_src = None
if "OPENCSW_REPOSITORY" in data["pkginfo"]:
@@ -364,7 +368,6 @@
return trac_url
def GetVendorUrl(self):
- return "GetVendorUrl(): Not implemented"
data = self.GetStatsStruct()
vendor_url = None
if "VENDOR" in data["pkginfo"]:
@@ -396,14 +399,14 @@
'pkgname': self.pkginst_str,
}
if not quick:
- data['arch'] = self.arch.name
- data['filename_arch'] = self.filename_arch.name
- data['maintainer_email'] = self.maintainer.email
- data['maintainer_full_name'] = self.maintainer.full_name
- data['maintainer_id'] = self.maintainer.id
- data['vendor_url'] = self.GetVendorUrl()
- data['repository_url'] = self.GetSvnUrl()
- # 'in_catalogs': unicode([unicode(x) for x in self.in_catalogs]),
+ # These data are used by the package database integration
+ data['arch'] = self.arch.name
+ data['filename_arch'] = self.filename_arch.name
+ data['maintainer_email'] = self.maintainer.email
+ data['maintainer_full_name'] = self.maintainer.full_name
+ data['maintainer_id'] = self.maintainer.id
+ data['vendor_url'] = self.GetVendorUrl()
+ data['repository_url'] = self.GetSvnUrl()
return mimetype, data
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Mon Mar 10 21:57:34 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Mon, 10 Mar 2014 20:57:34 +0000
Subject: SF.net SVN: gar:[23179] csw/mgar/gar/v2/gar.pkg.mk
Message-ID: <3fjWwQ40csz1Hr@mail.opencsw.org>
Revision: 23179
http://sourceforge.net/p/gar/code/23179
Author: wahwah
Date: 2014-03-10 20:57:33 +0000 (Mon, 10 Mar 2014)
Log Message:
-----------
mGAR v2: DEBUG_PACKAGING adds --debug in checkpkg
Up until now there wasn't a way to run checkpkg in debug mode from GAR.
Modified Paths:
--------------
csw/mgar/gar/v2/gar.pkg.mk
Modified: csw/mgar/gar/v2/gar.pkg.mk
===================================================================
--- csw/mgar/gar/v2/gar.pkg.mk 2014-03-10 20:57:12 UTC (rev 23178)
+++ csw/mgar/gar/v2/gar.pkg.mk 2014-03-10 20:57:33 UTC (rev 23179)
@@ -15,8 +15,10 @@
ifeq ($(DEBUG_PACKAGING),)
_DBG=@
+DEBUG_FLAG =
else
_DBG=
+DEBUG_FLAG = --debug
endif
PKGINFO ?= /usr/bin/pkginfo
@@ -1019,6 +1021,7 @@
#
pkgcheck: $(foreach SPEC,$(_PKG_SPECS),package-$(SPEC))
$(_DBG)( LC_ALL=C $(GARBIN)/checkpkg \
+ $(DEBUG_FLAG) \
--catalog-architecture "$(GARCH)" \
--os-releases "$(SPKG_OSNAME)" \
--catalog-release "$(CATALOG_RELEASE)" \
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Mon Mar 10 21:57:41 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Mon, 10 Mar 2014 20:57:41 +0000
Subject: SF.net SVN: gar:[23180] csw/mgar/gar/v2/lib/python
Message-ID: <3fjWwb632mz1Lf@mail.opencsw.org>
Revision: 23180
http://sourceforge.net/p/gar/code/23180
Author: wahwah
Date: 2014-03-10 20:57:41 +0000 (Mon, 10 Mar 2014)
Log Message:
-----------
checkpkg: Run INFO level logging by default
This applies to the script collecting metadata from packages.
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/collect_binary_elfinfo.py
csw/mgar/gar/v2/lib/python/collect_pkg_metadata.py
Modified: csw/mgar/gar/v2/lib/python/collect_binary_elfinfo.py
===================================================================
--- csw/mgar/gar/v2/lib/python/collect_binary_elfinfo.py 2014-03-10 20:57:33 UTC (rev 23179)
+++ csw/mgar/gar/v2/lib/python/collect_binary_elfinfo.py 2014-03-10 20:57:41 UTC (rev 23180)
@@ -229,7 +229,11 @@
if not options.input_file:
sys.stdout.write("Please provide input file name. See --help\n")
sys.exit(1)
- logging.basicConfig(level=logging.DEBUG)
+ logging_level = logging.INFO
+ if options.debug:
+ logging_level = logging.DEBUG
+ fmt = '%(levelname)s %(asctime)s %(filename)s:%(lineno)d %(message)s'
+ logging.basicConfig(format=fmt, level=logging_level)
extractor = ElfExtractor(options.input_file, debug=options.debug)
md5_sum = extractor.CollectBinaryElfinfo()
return_struct = {
Modified: csw/mgar/gar/v2/lib/python/collect_pkg_metadata.py
===================================================================
--- csw/mgar/gar/v2/lib/python/collect_pkg_metadata.py 2014-03-10 20:57:33 UTC (rev 23179)
+++ csw/mgar/gar/v2/lib/python/collect_pkg_metadata.py 2014-03-10 20:57:41 UTC (rev 23180)
@@ -613,7 +613,12 @@
if not options.input_file:
sys.stdout.write("Please provide an input file name. See --help\n")
sys.exit(1)
- logging.basicConfig(level=logging.DEBUG)
+
+ logging_level = logging.INFO
+ if options.debug:
+ logging_level = logging.DEBUG
+ fmt = '%(levelname)s %(asctime)s %(filename)s:%(lineno)d %(message)s'
+ logging.basicConfig(format=fmt, level=logging_level)
unpacker = Unpacker(options.input_file, debug=options.debug)
unpacked = unpacker.CollectStats(force_unpack=options.force_unpack)
unpacker.Cleanup()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Mon Mar 10 21:57:50 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Mon, 10 Mar 2014 20:57:50 +0000
Subject: SF.net SVN: gar:[23181] csw/mgar/gar/v2/lib/web/templates/index.html
Message-ID: <3fjWwk5LmPz1NM@mail.opencsw.org>
Revision: 23181
http://sourceforge.net/p/gar/code/23181
Author: wahwah
Date: 2014-03-10 20:57:49 +0000 (Mon, 10 Mar 2014)
Log Message:
-----------
pkgdb-web: A better place to view the code
The previous link showed old code.
Modified Paths:
--------------
csw/mgar/gar/v2/lib/web/templates/index.html
Modified: csw/mgar/gar/v2/lib/web/templates/index.html
===================================================================
--- csw/mgar/gar/v2/lib/web/templates/index.html 2014-03-10 20:57:41 UTC (rev 23180)
+++ csw/mgar/gar/v2/lib/web/templates/index.html 2014-03-10 20:57:49 UTC (rev 23181)
@@ -39,7 +39,7 @@
There's also a read-only RESTful interface available.
For available URLs, please look at the URL patterns in the source code.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Mon Mar 10 22:36:47 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Mon, 10 Mar 2014 21:36:47 +0000
Subject: SF.net SVN: gar:[23182] csw/mgar/pkg/sudo/trunk
Message-ID: <3fjXnj0DpQz1Wx@mail.opencsw.org>
Revision: 23182
http://sourceforge.net/p/gar/code/23182
Author: dmichelsen
Date: 2014-03-10 21:36:46 +0000 (Mon, 10 Mar 2014)
Log Message:
-----------
sudo/trunk: Update to 1.8.10, split timedir into rundir and vardir
Modified Paths:
--------------
csw/mgar/pkg/sudo/trunk/Makefile
csw/mgar/pkg/sudo/trunk/checksums
Modified: csw/mgar/pkg/sudo/trunk/Makefile
===================================================================
--- csw/mgar/pkg/sudo/trunk/Makefile 2014-03-10 20:57:49 UTC (rev 23181)
+++ csw/mgar/pkg/sudo/trunk/Makefile 2014-03-10 21:36:46 UTC (rev 23182)
@@ -2,7 +2,7 @@
#
NAME = sudo
-VERSION = 1.8.9p5
+VERSION = 1.8.10
GARTYPE = v2
EXTRA_MODULATORS = LDAP
@@ -83,7 +83,8 @@
CHECKPKG_OVERRIDES_CSWsudo-ldap += soname-unused|s9_preload.so.1|is|needed|by|/opt/csw/libexec/sudo/sudoers-ldap.so|but|never|used
LOGPATH = $(localstatedir)/log/sudo
-TIMEPATH = $(localstatedir)/sudo
+VARDIR = $(localstatedir)/sudo
+TIMEPATH = $(VARDIR)
IOLOGPATH = $(LOGPATH)/io
REINPLACE_USRLOCAL += plugins/sudoers/sudoers
@@ -99,7 +100,8 @@
CONFIGURE_ARGS += --disable-path-info
CONFIGURE_ARGS += --with-logpath=$(LOGPATH)/sudolog
CONFIGURE_ARGS += --with-iologdir=$(IOLOGPATH)
-CONFIGURE_ARGS += --with-timedir=$(TIMEPATH)
+CONFIGURE_ARGS += --with-rundir=$(TIMEPATH)
+CONFIGURE_ARGS += --with-vardir=$(VARDIR)
CONFIGURE_ARGS += --with-project
CONFIGURE_ARGS += --with-fqdn
Modified: csw/mgar/pkg/sudo/trunk/checksums
===================================================================
--- csw/mgar/pkg/sudo/trunk/checksums 2014-03-10 20:57:49 UTC (rev 23181)
+++ csw/mgar/pkg/sudo/trunk/checksums 2014-03-10 21:36:46 UTC (rev 23182)
@@ -1 +1 @@
-d3f1f1cfca6b2b06b048e1abb7d0227e sudo-1.8.9p5.tar.gz
+954d64906c3f6e2436f33445a049c58b sudo-1.8.10.tar.gz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From lblume at users.sourceforge.net Mon Mar 10 23:56:34 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Mon, 10 Mar 2014 22:56:34 +0000
Subject: SF.net SVN: gar:[23183] csw/mgar/pkg/vim/trunk
Message-ID: <3fjZYv1Lllz6l@mail.opencsw.org>
Revision: 23183
http://sourceforge.net/p/gar/code/23183
Author: lblume
Date: 2014-03-10 22:56:33 +0000 (Mon, 10 Mar 2014)
Log Message:
-----------
vim/trunk: Fix a couple of issues with tests
Modified Paths:
--------------
csw/mgar/pkg/vim/trunk/Makefile
csw/mgar/pkg/vim/trunk/checksums
Added Paths:
-----------
csw/mgar/pkg/vim/trunk/files/0005-test-does-not-have--e.patch
csw/mgar/pkg/vim/trunk/files/0006-then-should-be-than.patch
Modified: csw/mgar/pkg/vim/trunk/Makefile
===================================================================
--- csw/mgar/pkg/vim/trunk/Makefile 2014-03-10 21:36:46 UTC (rev 23182)
+++ csw/mgar/pkg/vim/trunk/Makefile 2014-03-10 22:56:33 UTC (rev 23183)
@@ -62,6 +62,9 @@
PATCHFILES = $(foreach T,$(shell gseq -f "%03g" 001 $(PATCHREV)),$(DISTVERSION).$(T))
+PATCHFILES += 0005-test-does-not-have--e.patch
+PATCHFILES += 0006-then-should-be-than.patch
+
PATCHDIRLEVEL = 0
DISTNAME = $(NAME)$(subst .,,$(DISTVERSION))
Modified: csw/mgar/pkg/vim/trunk/checksums
===================================================================
--- csw/mgar/pkg/vim/trunk/checksums 2014-03-10 21:36:46 UTC (rev 23182)
+++ csw/mgar/pkg/vim/trunk/checksums 2014-03-10 22:56:33 UTC (rev 23183)
@@ -25,4 +25,170 @@
161173463dc95145c48f7691aee73f13 7.4.025
8e0181a33d4cf99f3ff8f359c99af7b5 7.4.026
97f5e46883edf23f873522db86e721a6 7.4.027
+163291f22218e69281f8b0a136252bd5 7.4.028
+93b6179890ea3f33da2916ef0ae3160e 7.4.029
+8c1d1829bfce977bbe91df885673b05a 7.4.030
+83673b79f3e04ea837aeb4f3acdf0350 7.4.031
+b98fc58c605dba8d14d566af3da42d15 7.4.032
+92a277e660a6968448d9d941df55a308 7.4.033
+3510a4181c7719b6c948cde1a9591a5a 7.4.034
+83476f1ca3fd83ca39681c6315a633bf 7.4.035
+c52b130beb86f26623fca7b5051ad3e3 7.4.036
+469ab2d656828dd1a2c1859ff4498ac7 7.4.037
+5d37bfced730ed51b2aa5e77759ddcce 7.4.038
+0e0d62af9d594237b518bd0795d49103 7.4.039
+84dd9c9058de4463c5326dde032f3860 7.4.040
+b1c570c620c30879b5bf0b2093696a52 7.4.041
+f71fd77d501107cc22d7129d6f7444a4 7.4.042
+d86c84c860cc47a1f7dd76f8ac1ecd83 7.4.043
+a206223e7ae7e95e948a628e59ad82ce 7.4.044
+72bf2ace92f8a11a535798e987f444d2 7.4.045
+4573290a76d7541bcfb0e051a4fc42f7 7.4.046
+7ff734a7afdee370c98e02b966844adb 7.4.047
+ea675c709cd6011adc30fcf0def31ee4 7.4.048
+9664c92bd4c17065a4df9dc24c63ac76 7.4.049
+b15ffb4672e82d67cf3ea5d3fdc77ed8 7.4.050
+6b2af52b734806187f9e7effc2e43d64 7.4.051
+d32a541d7f5224c9fdacb6a81a73d695 7.4.052
+9d47ebc404be7fb399031751e1751846 7.4.053
+a28c2b89b23233bc8923ed6180647b4e 7.4.054
+ea670cb50696e36b8619877c2f90bab1 7.4.055
+3035ff2de9fea29034fd1babe465c2c5 7.4.056
+a181edc322e2240cdab8beda2af69301 7.4.057
+5b309b2742a07a0d5909234139456331 7.4.058
+05def513b70d2364d64ce1e02589fe8a 7.4.059
+8fd31eae3d039f665756bd5cf72c6c3d 7.4.060
+0305c9c20e3dd02331f38505eeb386b7 7.4.061
+2aa95bf08e3e29504abe511e6f2e83bf 7.4.062
+58a8b743a5adaa3e6ed636e52cd7d552 7.4.063
+71be80d6479883f9666d58efd4b0d329 7.4.064
+5309435b25f35b3f72945e53336cea01 7.4.065
+c2d4092358a9ac65278c06ab8f967ae0 7.4.066
+95d36725184ad03510323145b4bb4a05 7.4.067
+cfd15e5a6a31abd52883697d26ca07ef 7.4.068
+1c3103031f71afef8d456626cd62cf0c 7.4.069
+cdce38ccd5248e5827d8269ab141d363 7.4.070
+2e8f9ed6c0a1956e1fa2e50bfe0dab5d 7.4.071
+26b0405c10a1ce5cf6ccf5721c4ad1e3 7.4.072
+3d278546ac40f60c8ab9cf81540cff69 7.4.073
+b21afbe7575f1f52df7a441c295aff63 7.4.074
+d4e190298245ea78831c097f9ae80e07 7.4.075
+00134cdf22d4ec8e6f9d8e6fb83dc6ac 7.4.076
+7901dab17aea76e4aaf810f0d806e286 7.4.077
+36112f02dba683f4cff66100c0671364 7.4.078
+f4615bba652dd366d6e65c25ae166fde 7.4.079
+fd2a1a407c5dd7a6764293ab189667df 7.4.080
+6270d3217b606a845b6cb541f140b7e7 7.4.081
+d67c1fde653f381d923825fb03e8082e 7.4.082
+f56746374b4087dff91ffa99f86e219d 7.4.083
+c3505655d6d180be21f5d77c68950a2b 7.4.084
+f35c7e21ba6b3945637e0d8ce4f11e5c 7.4.085
+fd850b010ca569ea84e461420bf66cb9 7.4.086
+b8f239f720256e68a0f89c8bd4186f71 7.4.087
+2a95f6de4ba9f9847d735bc94138d5cd 7.4.088
+a2de53ff09fdf780e1c53351053e8275 7.4.089
+34de6b8053e179ac0d80bac2ddd30708 7.4.090
+746d0736e19238bafe722eba54311a8e 7.4.091
+ac3ff0195ecdaacc3ed5f53518598514 7.4.092
+25771c5c957afbcab2ccf0b9eec788bd 7.4.093
+52bb149c0120deaf978688b94cdf8ed7 7.4.094
+41abd5c417eb375ed673a0b342403ec9 7.4.095
+f5cd9f26ef23923bb88a1cacbfef3c3b 7.4.096
+ecc8d3762504c8dee0331911049a4965 7.4.097
+30f3be5b65a3512a018ff50d0438ddfa 7.4.098
+f67d7f5942e9561d00e7483f4ee42380 7.4.099
+a76c2f081b94e51b4820fb08e66839b5 7.4.100
+0caea69290c75b50ef648d116bdd5c79 7.4.101
+41e50f33a37e30b53231bb3555ab5725 7.4.102
+8800e40a012a3c75b4368cf6a32b2625 7.4.103
+f3934e6f9f1c549a0829d0bff021ce05 7.4.104
+45fc498daee2f69abeae785cf841b516 7.4.105
+9d14772c23637258fcdb45d333082387 7.4.106
+533c3d3c69b3dab50ebba3de88508cdd 7.4.107
+6d34383b901c8b40d4dc1339a66e89f9 7.4.108
+2ce1da8a07c25c320caffb05416db428 7.4.109
+9890ea1419d17bc0458df4063d6ab717 7.4.110
+887c30df358b7ef83ab5cf239fd2af4f 7.4.111
+7508dd10f72dff553028172f2e79efd3 7.4.112
+a5355b5fcd27eb5b56a85603dc2e37e6 7.4.113
+d5850be88f63b9337dca9ccaf871b51b 7.4.114
+d90f517e074a78376c0e9f1b8290485b 7.4.115
+27bc1ae355d4bdf4099761bd972e2617 7.4.116
+aff5b89d042c9b2e2ba8d01cb37124f4 7.4.117
+c021088018ea89edbd8926684ab6bc6d 7.4.118
+d86179fc8d481a61f3a655d1f94c7f28 7.4.119
+363551d6c3ec22b6adda01b857618b91 7.4.120
+579433be86c5b70c2d709b03a02f6178 7.4.121
+2857104ab4b978394add0e0c2c0f8ec3 7.4.122
+3d95d356eadaf39c0e010c0bd3607848 7.4.123
+8053e8aa3bdcdac81d9cce2d8ad8b1ca 7.4.124
+3da200dad10f8ac37fc902a25d22fc38 7.4.125
+0cb2797bce99ef62d8e8be73205db25e 7.4.126
+5fb67adaaec1e5f7a504462784106cc8 7.4.127
+e5ef188aa15567130d452eabc744b527 7.4.128
+ed308944ad0ba75b7e4701f1125f5f05 7.4.129
+0970745f265cbc68d5e2895a33372852 7.4.130
+06b9896eb8551a9879362f181e956279 7.4.131
+153a360d69a97768abcde19419de1f8e 7.4.132
+db0195ef377d3692305751c266e56963 7.4.133
+7277e650a69e5a426f43b4ab7101dfc1 7.4.134
+6d78ba444069288673c5bb5d46637fa7 7.4.135
+27e599ce323d3ec84318f42befbe046e 7.4.136
+6670ec5392e8f9451b1f7f7477de9718 7.4.137
+87120062d53233da9983e2fdb465aa6b 7.4.138
+98d1a30530e235f43459dfcf83d70f68 7.4.139
+f85499011e6d7d759ec8b8a7087199fc 7.4.140
+754681af512508f44171e761d51a3048 7.4.141
+fbddcd9e452a53085b183a3d9a885e07 7.4.142
+72ab636fcee1371ea6e42b3af7eda473 7.4.143
+5007e4f14c3f8bcbbdde0e02c964c904 7.4.144
+413783063f2de49716ef809e9f227355 7.4.145
+d4d29e5c3a4dc7c15075adc3ce6edc0f 7.4.146
+f179164a5f4c9eea05c400c854fbaf43 7.4.147
+d24e10ca3dce85d1d5dc45eddb73f937 7.4.148
+55babbe54c308624eb6ff55d9093fbce 7.4.149
+d5830a1b3fc6ccf80b7a85a662372843 7.4.150
+0d8cb61d067a72fff17faf6ae1e63713 7.4.151
+624dc1cba478594ae6cd5bc922f58e3a 7.4.152
+63b729e378f08ecb388a52b2e2d503b3 7.4.153
+e4164b531aaa2741a48daf56604a75d6 7.4.154
+b1c6d861d4f2df1ebdbd7173d92d3215 7.4.155
+aebbb64adc4eb6d7b3f34ef698cfb60f 7.4.156
+e4369ae117295bc6fb791450ebfdaf65 7.4.157
+cb5d7729638278f9c25b148ed5dfcd21 7.4.158
+d4edf8a2e715ea496313cfc281b2103e 7.4.159
+23fcaa3a90563f0b94b4aa5ec5e83383 7.4.160
+75e1ff1a9ef3c80d5c6297f026fe7685 7.4.161
+ff248c6266915e12e7e6c0402f7f7a42 7.4.162
+4ef6ddb9bf63ed48638e7ebc41fdf7dc 7.4.163
+0ac692ccaf85a6c6f3b81ca91197aaaa 7.4.164
+04fa4932d8ba79dce6807ea2005068c9 7.4.165
+fd9bdb560ba274956edfa19635ae8279 7.4.166
+ed55a7b4ec1afa1c2dbfbc89b4a466ef 7.4.167
+3265557c7d6375cf84f4759a0389fa71 7.4.168
+b54447e42f1e66731f9036bcca8b4509 7.4.169
+0cf596ed02f6be7080b173a0883bcc7f 7.4.170
+59820af8f4d9fae312ae2e5288151bcc 7.4.171
+d5a0ab9f9919aebb91542e48f8fbc027 7.4.172
+823b94880865e1049ecfae371b30a415 7.4.173
+8a1c1251b0f97e0e3767ae1bc989abec 7.4.174
+11507012ba1a3c936f668404fa379649 7.4.175
+20c1c3cc95b821f252f1c83904b6ba3d 7.4.176
+9a7d5b714c1a207a5cabfdf9470341f6 7.4.177
+7b19d16cb76725280a1ebd55b87f8cb8 7.4.178
+41244f46b1ed4f623a725e9b9cb638e9 7.4.179
+fd90d1d2e86ee07bad4680f0260d0366 7.4.180
+219358ce254fb0c0d353b9a796a100aa 7.4.181
+fbd89c20781a808d9b9283f10e9d3ae8 7.4.182
+d0744cb580446fdd6944d67191cdda3c 7.4.183
+fc0866feeacfd3e1fb6a0195f0f037f9 7.4.184
+2488edc85d82d0c20c66959ffa356365 7.4.185
+366792c5d38497c5e7454fb7624f0eaf 7.4.186
+2a6d42c7d9cfc190d4798de01cb5008f 7.4.187
+1ecc29e0e066dae607cb04a4ebc295d7 7.4.188
+f20e9eee4987f704d20d2cbff4c4ef92 7.4.189
+59fe59875d9da34041ede674c185275f 7.4.190
+b010979da48f27769344506285c87ffd 7.4.191
+b66f43553771fabff9946c2539233f8b 7.4.192
+8a54888eff7728c3e1ee8eb3fc271395 7.4.193
607e135c559be642f210094ad023dc65 vim-7.4.tar.bz2
Added: csw/mgar/pkg/vim/trunk/files/0005-test-does-not-have--e.patch
===================================================================
--- csw/mgar/pkg/vim/trunk/files/0005-test-does-not-have--e.patch (rev 0)
+++ csw/mgar/pkg/vim/trunk/files/0005-test-does-not-have--e.patch 2014-03-10 22:56:33 UTC (rev 23183)
@@ -0,0 +1,12 @@
+index d86a7b0..290200f 100644
+--- src/testdir/Makefile
++++ src/testdir/Makefile
+@@ -61,7 +61,7 @@ clean:
+ test1.out: test1.in
+ -rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize
+ $(RUN_VIM) $*.in
+- @/bin/sh -c "if test -e wrongtermsize; \
++ @/bin/sh -c "if test -f wrongtermsize; \
+ then echo; \
+ echo test1 FAILED - terminal size must be 80x24 or larger; \
+ echo; exit 1; \
Added: csw/mgar/pkg/vim/trunk/files/0006-then-should-be-than.patch
===================================================================
--- csw/mgar/pkg/vim/trunk/files/0006-then-should-be-than.patch (rev 0)
+++ csw/mgar/pkg/vim/trunk/files/0006-then-should-be-than.patch 2014-03-10 22:56:33 UTC (rev 23183)
@@ -0,0 +1,28 @@
+index 257a5ee..8edb749 100644
+--- src/testdir/test86.ok
++++ src/testdir/test86.ok
+@@ -882,11 +882,11 @@ ll[1:100] = "abcJ":error:('list is locked',)
+ l[:] = FailingIter():NotImplementedError:('iter',)
+ l[:] = FailingIterNext():NotImplementedError:('next',)
+ <<< Finished
+-nel[1:10:2] = "abcK":ValueError:('attempt to assign sequence of size greater then 2 to extended slice',)
++nel[1:10:2] = "abcK":ValueError:('attempt to assign sequence of size greater than 2 to extended slice',)
+ ('a', 'b', 'c', 'O')
+ nel[1:10:2] = "a":ValueError:('attempt to assign sequence of size 1 to extended slice of size 2',)
+ ('a', 'b', 'c', 'O')
+-nel[1:1:-1] = "a":ValueError:('attempt to assign sequence of size greater then 0 to extended slice',)
++nel[1:1:-1] = "a":ValueError:('attempt to assign sequence of size greater than 0 to extended slice',)
+ ('a', 'b', 'c', 'O')
+ nel[:] = FailingIterNextN(2):NotImplementedError:('next N',)
+ ('a', 'b', 'c', 'O')
+@@ -1233,8 +1233,8 @@ vim.buffers[100000000]:KeyError:(100000000,)
+ >>> Testing NumberToLong using vim.buffers[%s]
+ vim.buffers[[]]:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',)
+ vim.buffers[None]:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',)
+-vim.buffers[-1]:ValueError:('number must be greater then zero',)
+-vim.buffers[0]:ValueError:('number must be greater then zero',)
++vim.buffers[-1]:ValueError:('number must be greater than zero',)
++vim.buffers[0]:ValueError:('number must be greater than zero',)
+ <<< Finished
+ > Current
+ >> CurrentGetattr
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From bdwalton at users.sourceforge.net Tue Mar 11 00:06:31 2014
From: bdwalton at users.sourceforge.net (bdwalton at users.sourceforge.net)
Date: Mon, 10 Mar 2014 23:06:31 +0000
Subject: SF.net SVN: gar:[23184] csw/mgar/pkg/git/trunk
Message-ID: <3fjZnD2HhzzBj@mail.opencsw.org>
Revision: 23184
http://sourceforge.net/p/gar/code/23184
Author: bdwalton
Date: 2014-03-10 23:06:30 +0000 (Mon, 10 Mar 2014)
Log Message:
-----------
git/trunk: version bump
Modified Paths:
--------------
csw/mgar/pkg/git/trunk/Makefile
csw/mgar/pkg/git/trunk/checksums
Modified: csw/mgar/pkg/git/trunk/Makefile
===================================================================
--- csw/mgar/pkg/git/trunk/Makefile 2014-03-10 22:56:33 UTC (rev 23183)
+++ csw/mgar/pkg/git/trunk/Makefile 2014-03-10 23:06:30 UTC (rev 23184)
@@ -1,5 +1,5 @@
NAME = git
-VERSION = 1.8.5
+VERSION = 1.9.0
#PATCHLEVEL = rc4
DISTNAME = $(NAME)-$(VERSION)
GARTYPE = v2
Modified: csw/mgar/pkg/git/trunk/checksums
===================================================================
--- csw/mgar/pkg/git/trunk/checksums 2014-03-10 22:56:33 UTC (rev 23183)
+++ csw/mgar/pkg/git/trunk/checksums 2014-03-10 23:06:30 UTC (rev 23184)
@@ -1 +1 @@
-16448b1cfd62fcbe738729edc6279e14 git-1.8.5.tar.gz
+e16c14b27c644b8e0dd72bdb5ff77450 git-1.9.0.tar.gz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From lblume at users.sourceforge.net Tue Mar 11 00:24:52 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Mon, 10 Mar 2014 23:24:52 +0000
Subject: SF.net SVN: gar:[23185] csw/mgar/pkg/gvim/trunk
Message-ID: <3fjbBX3XzgzH5@mail.opencsw.org>
Revision: 23185
http://sourceforge.net/p/gar/code/23185
Author: lblume
Date: 2014-03-10 23:24:51 +0000 (Mon, 10 Mar 2014)
Log Message:
-----------
gvim/trunk: A couple of test need to be fixed
Modified Paths:
--------------
csw/mgar/pkg/gvim/trunk/Makefile
csw/mgar/pkg/gvim/trunk/checksums
Added Paths:
-----------
csw/mgar/pkg/gvim/trunk/files/0005-test-does-not-have--e.patch
csw/mgar/pkg/gvim/trunk/files/0006-then-should-be-than.patch
Modified: csw/mgar/pkg/gvim/trunk/Makefile
===================================================================
--- csw/mgar/pkg/gvim/trunk/Makefile 2014-03-10 23:06:30 UTC (rev 23184)
+++ csw/mgar/pkg/gvim/trunk/Makefile 2014-03-10 23:24:51 UTC (rev 23185)
@@ -28,6 +28,9 @@
PATCHFILES = $(foreach T,$(shell gseq -f "%03g" 001 $(PATCHREV)),$(DISTVERSION).$(T))
+PATCHFILES += 0005-test-does-not-have--e.patch
+PATCHFILES += 0006-then-should-be-than.patch
+
PATCHDIRLEVEL = 0
DISTNAME = $(NAME)$(subst .,,$(DISTVERSION))
Modified: csw/mgar/pkg/gvim/trunk/checksums
===================================================================
--- csw/mgar/pkg/gvim/trunk/checksums 2014-03-10 23:06:30 UTC (rev 23184)
+++ csw/mgar/pkg/gvim/trunk/checksums 2014-03-10 23:24:51 UTC (rev 23185)
@@ -25,4 +25,170 @@
161173463dc95145c48f7691aee73f13 7.4.025
8e0181a33d4cf99f3ff8f359c99af7b5 7.4.026
97f5e46883edf23f873522db86e721a6 7.4.027
+163291f22218e69281f8b0a136252bd5 7.4.028
+93b6179890ea3f33da2916ef0ae3160e 7.4.029
+8c1d1829bfce977bbe91df885673b05a 7.4.030
+83673b79f3e04ea837aeb4f3acdf0350 7.4.031
+b98fc58c605dba8d14d566af3da42d15 7.4.032
+92a277e660a6968448d9d941df55a308 7.4.033
+3510a4181c7719b6c948cde1a9591a5a 7.4.034
+83476f1ca3fd83ca39681c6315a633bf 7.4.035
+c52b130beb86f26623fca7b5051ad3e3 7.4.036
+469ab2d656828dd1a2c1859ff4498ac7 7.4.037
+5d37bfced730ed51b2aa5e77759ddcce 7.4.038
+0e0d62af9d594237b518bd0795d49103 7.4.039
+84dd9c9058de4463c5326dde032f3860 7.4.040
+b1c570c620c30879b5bf0b2093696a52 7.4.041
+f71fd77d501107cc22d7129d6f7444a4 7.4.042
+d86c84c860cc47a1f7dd76f8ac1ecd83 7.4.043
+a206223e7ae7e95e948a628e59ad82ce 7.4.044
+72bf2ace92f8a11a535798e987f444d2 7.4.045
+4573290a76d7541bcfb0e051a4fc42f7 7.4.046
+7ff734a7afdee370c98e02b966844adb 7.4.047
+ea675c709cd6011adc30fcf0def31ee4 7.4.048
+9664c92bd4c17065a4df9dc24c63ac76 7.4.049
+b15ffb4672e82d67cf3ea5d3fdc77ed8 7.4.050
+6b2af52b734806187f9e7effc2e43d64 7.4.051
+d32a541d7f5224c9fdacb6a81a73d695 7.4.052
+9d47ebc404be7fb399031751e1751846 7.4.053
+a28c2b89b23233bc8923ed6180647b4e 7.4.054
+ea670cb50696e36b8619877c2f90bab1 7.4.055
+3035ff2de9fea29034fd1babe465c2c5 7.4.056
+a181edc322e2240cdab8beda2af69301 7.4.057
+5b309b2742a07a0d5909234139456331 7.4.058
+05def513b70d2364d64ce1e02589fe8a 7.4.059
+8fd31eae3d039f665756bd5cf72c6c3d 7.4.060
+0305c9c20e3dd02331f38505eeb386b7 7.4.061
+2aa95bf08e3e29504abe511e6f2e83bf 7.4.062
+58a8b743a5adaa3e6ed636e52cd7d552 7.4.063
+71be80d6479883f9666d58efd4b0d329 7.4.064
+5309435b25f35b3f72945e53336cea01 7.4.065
+c2d4092358a9ac65278c06ab8f967ae0 7.4.066
+95d36725184ad03510323145b4bb4a05 7.4.067
+cfd15e5a6a31abd52883697d26ca07ef 7.4.068
+1c3103031f71afef8d456626cd62cf0c 7.4.069
+cdce38ccd5248e5827d8269ab141d363 7.4.070
+2e8f9ed6c0a1956e1fa2e50bfe0dab5d 7.4.071
+26b0405c10a1ce5cf6ccf5721c4ad1e3 7.4.072
+3d278546ac40f60c8ab9cf81540cff69 7.4.073
+b21afbe7575f1f52df7a441c295aff63 7.4.074
+d4e190298245ea78831c097f9ae80e07 7.4.075
+00134cdf22d4ec8e6f9d8e6fb83dc6ac 7.4.076
+7901dab17aea76e4aaf810f0d806e286 7.4.077
+36112f02dba683f4cff66100c0671364 7.4.078
+f4615bba652dd366d6e65c25ae166fde 7.4.079
+fd2a1a407c5dd7a6764293ab189667df 7.4.080
+6270d3217b606a845b6cb541f140b7e7 7.4.081
+d67c1fde653f381d923825fb03e8082e 7.4.082
+f56746374b4087dff91ffa99f86e219d 7.4.083
+c3505655d6d180be21f5d77c68950a2b 7.4.084
+f35c7e21ba6b3945637e0d8ce4f11e5c 7.4.085
+fd850b010ca569ea84e461420bf66cb9 7.4.086
+b8f239f720256e68a0f89c8bd4186f71 7.4.087
+2a95f6de4ba9f9847d735bc94138d5cd 7.4.088
+a2de53ff09fdf780e1c53351053e8275 7.4.089
+34de6b8053e179ac0d80bac2ddd30708 7.4.090
+746d0736e19238bafe722eba54311a8e 7.4.091
+ac3ff0195ecdaacc3ed5f53518598514 7.4.092
+25771c5c957afbcab2ccf0b9eec788bd 7.4.093
+52bb149c0120deaf978688b94cdf8ed7 7.4.094
+41abd5c417eb375ed673a0b342403ec9 7.4.095
+f5cd9f26ef23923bb88a1cacbfef3c3b 7.4.096
+ecc8d3762504c8dee0331911049a4965 7.4.097
+30f3be5b65a3512a018ff50d0438ddfa 7.4.098
+f67d7f5942e9561d00e7483f4ee42380 7.4.099
+a76c2f081b94e51b4820fb08e66839b5 7.4.100
+0caea69290c75b50ef648d116bdd5c79 7.4.101
+41e50f33a37e30b53231bb3555ab5725 7.4.102
+8800e40a012a3c75b4368cf6a32b2625 7.4.103
+f3934e6f9f1c549a0829d0bff021ce05 7.4.104
+45fc498daee2f69abeae785cf841b516 7.4.105
+9d14772c23637258fcdb45d333082387 7.4.106
+533c3d3c69b3dab50ebba3de88508cdd 7.4.107
+6d34383b901c8b40d4dc1339a66e89f9 7.4.108
+2ce1da8a07c25c320caffb05416db428 7.4.109
+9890ea1419d17bc0458df4063d6ab717 7.4.110
+887c30df358b7ef83ab5cf239fd2af4f 7.4.111
+7508dd10f72dff553028172f2e79efd3 7.4.112
+a5355b5fcd27eb5b56a85603dc2e37e6 7.4.113
+d5850be88f63b9337dca9ccaf871b51b 7.4.114
+d90f517e074a78376c0e9f1b8290485b 7.4.115
+27bc1ae355d4bdf4099761bd972e2617 7.4.116
+aff5b89d042c9b2e2ba8d01cb37124f4 7.4.117
+c021088018ea89edbd8926684ab6bc6d 7.4.118
+d86179fc8d481a61f3a655d1f94c7f28 7.4.119
+363551d6c3ec22b6adda01b857618b91 7.4.120
+579433be86c5b70c2d709b03a02f6178 7.4.121
+2857104ab4b978394add0e0c2c0f8ec3 7.4.122
+3d95d356eadaf39c0e010c0bd3607848 7.4.123
+8053e8aa3bdcdac81d9cce2d8ad8b1ca 7.4.124
+3da200dad10f8ac37fc902a25d22fc38 7.4.125
+0cb2797bce99ef62d8e8be73205db25e 7.4.126
+5fb67adaaec1e5f7a504462784106cc8 7.4.127
+e5ef188aa15567130d452eabc744b527 7.4.128
+ed308944ad0ba75b7e4701f1125f5f05 7.4.129
+0970745f265cbc68d5e2895a33372852 7.4.130
+06b9896eb8551a9879362f181e956279 7.4.131
+153a360d69a97768abcde19419de1f8e 7.4.132
+db0195ef377d3692305751c266e56963 7.4.133
+7277e650a69e5a426f43b4ab7101dfc1 7.4.134
+6d78ba444069288673c5bb5d46637fa7 7.4.135
+27e599ce323d3ec84318f42befbe046e 7.4.136
+6670ec5392e8f9451b1f7f7477de9718 7.4.137
+87120062d53233da9983e2fdb465aa6b 7.4.138
+98d1a30530e235f43459dfcf83d70f68 7.4.139
+f85499011e6d7d759ec8b8a7087199fc 7.4.140
+754681af512508f44171e761d51a3048 7.4.141
+fbddcd9e452a53085b183a3d9a885e07 7.4.142
+72ab636fcee1371ea6e42b3af7eda473 7.4.143
+5007e4f14c3f8bcbbdde0e02c964c904 7.4.144
+413783063f2de49716ef809e9f227355 7.4.145
+d4d29e5c3a4dc7c15075adc3ce6edc0f 7.4.146
+f179164a5f4c9eea05c400c854fbaf43 7.4.147
+d24e10ca3dce85d1d5dc45eddb73f937 7.4.148
+55babbe54c308624eb6ff55d9093fbce 7.4.149
+d5830a1b3fc6ccf80b7a85a662372843 7.4.150
+0d8cb61d067a72fff17faf6ae1e63713 7.4.151
+624dc1cba478594ae6cd5bc922f58e3a 7.4.152
+63b729e378f08ecb388a52b2e2d503b3 7.4.153
+e4164b531aaa2741a48daf56604a75d6 7.4.154
+b1c6d861d4f2df1ebdbd7173d92d3215 7.4.155
+aebbb64adc4eb6d7b3f34ef698cfb60f 7.4.156
+e4369ae117295bc6fb791450ebfdaf65 7.4.157
+cb5d7729638278f9c25b148ed5dfcd21 7.4.158
+d4edf8a2e715ea496313cfc281b2103e 7.4.159
+23fcaa3a90563f0b94b4aa5ec5e83383 7.4.160
+75e1ff1a9ef3c80d5c6297f026fe7685 7.4.161
+ff248c6266915e12e7e6c0402f7f7a42 7.4.162
+4ef6ddb9bf63ed48638e7ebc41fdf7dc 7.4.163
+0ac692ccaf85a6c6f3b81ca91197aaaa 7.4.164
+04fa4932d8ba79dce6807ea2005068c9 7.4.165
+fd9bdb560ba274956edfa19635ae8279 7.4.166
+ed55a7b4ec1afa1c2dbfbc89b4a466ef 7.4.167
+3265557c7d6375cf84f4759a0389fa71 7.4.168
+b54447e42f1e66731f9036bcca8b4509 7.4.169
+0cf596ed02f6be7080b173a0883bcc7f 7.4.170
+59820af8f4d9fae312ae2e5288151bcc 7.4.171
+d5a0ab9f9919aebb91542e48f8fbc027 7.4.172
+823b94880865e1049ecfae371b30a415 7.4.173
+8a1c1251b0f97e0e3767ae1bc989abec 7.4.174
+11507012ba1a3c936f668404fa379649 7.4.175
+20c1c3cc95b821f252f1c83904b6ba3d 7.4.176
+9a7d5b714c1a207a5cabfdf9470341f6 7.4.177
+7b19d16cb76725280a1ebd55b87f8cb8 7.4.178
+41244f46b1ed4f623a725e9b9cb638e9 7.4.179
+fd90d1d2e86ee07bad4680f0260d0366 7.4.180
+219358ce254fb0c0d353b9a796a100aa 7.4.181
+fbd89c20781a808d9b9283f10e9d3ae8 7.4.182
+d0744cb580446fdd6944d67191cdda3c 7.4.183
+fc0866feeacfd3e1fb6a0195f0f037f9 7.4.184
+2488edc85d82d0c20c66959ffa356365 7.4.185
+366792c5d38497c5e7454fb7624f0eaf 7.4.186
+2a6d42c7d9cfc190d4798de01cb5008f 7.4.187
+1ecc29e0e066dae607cb04a4ebc295d7 7.4.188
+f20e9eee4987f704d20d2cbff4c4ef92 7.4.189
+59fe59875d9da34041ede674c185275f 7.4.190
+b010979da48f27769344506285c87ffd 7.4.191
+b66f43553771fabff9946c2539233f8b 7.4.192
+8a54888eff7728c3e1ee8eb3fc271395 7.4.193
607e135c559be642f210094ad023dc65 vim-7.4.tar.bz2
Added: csw/mgar/pkg/gvim/trunk/files/0005-test-does-not-have--e.patch
===================================================================
--- csw/mgar/pkg/gvim/trunk/files/0005-test-does-not-have--e.patch (rev 0)
+++ csw/mgar/pkg/gvim/trunk/files/0005-test-does-not-have--e.patch 2014-03-10 23:24:51 UTC (rev 23185)
@@ -0,0 +1,12 @@
+index d86a7b0..290200f 100644
+--- src/testdir/Makefile
++++ src/testdir/Makefile
+@@ -61,7 +61,7 @@ clean:
+ test1.out: test1.in
+ -rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize
+ $(RUN_VIM) $*.in
+- @/bin/sh -c "if test -e wrongtermsize; \
++ @/bin/sh -c "if test -f wrongtermsize; \
+ then echo; \
+ echo test1 FAILED - terminal size must be 80x24 or larger; \
+ echo; exit 1; \
Added: csw/mgar/pkg/gvim/trunk/files/0006-then-should-be-than.patch
===================================================================
--- csw/mgar/pkg/gvim/trunk/files/0006-then-should-be-than.patch (rev 0)
+++ csw/mgar/pkg/gvim/trunk/files/0006-then-should-be-than.patch 2014-03-10 23:24:51 UTC (rev 23185)
@@ -0,0 +1,28 @@
+index 257a5ee..8edb749 100644
+--- src/testdir/test86.ok
++++ src/testdir/test86.ok
+@@ -882,11 +882,11 @@ ll[1:100] = "abcJ":error:('list is locked',)
+ l[:] = FailingIter():NotImplementedError:('iter',)
+ l[:] = FailingIterNext():NotImplementedError:('next',)
+ <<< Finished
+-nel[1:10:2] = "abcK":ValueError:('attempt to assign sequence of size greater then 2 to extended slice',)
++nel[1:10:2] = "abcK":ValueError:('attempt to assign sequence of size greater than 2 to extended slice',)
+ ('a', 'b', 'c', 'O')
+ nel[1:10:2] = "a":ValueError:('attempt to assign sequence of size 1 to extended slice of size 2',)
+ ('a', 'b', 'c', 'O')
+-nel[1:1:-1] = "a":ValueError:('attempt to assign sequence of size greater then 0 to extended slice',)
++nel[1:1:-1] = "a":ValueError:('attempt to assign sequence of size greater than 0 to extended slice',)
+ ('a', 'b', 'c', 'O')
+ nel[:] = FailingIterNextN(2):NotImplementedError:('next N',)
+ ('a', 'b', 'c', 'O')
+@@ -1233,8 +1233,8 @@ vim.buffers[100000000]:KeyError:(100000000,)
+ >>> Testing NumberToLong using vim.buffers[%s]
+ vim.buffers[[]]:TypeError:('expected int(), long() or something supporting coercing to long(), but got list',)
+ vim.buffers[None]:TypeError:('expected int(), long() or something supporting coercing to long(), but got NoneType',)
+-vim.buffers[-1]:ValueError:('number must be greater then zero',)
+-vim.buffers[0]:ValueError:('number must be greater then zero',)
++vim.buffers[-1]:ValueError:('number must be greater than zero',)
++vim.buffers[0]:ValueError:('number must be greater than zero',)
+ <<< Finished
+ > Current
+ >> CurrentGetattr
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Tue Mar 11 08:49:28 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Tue, 11 Mar 2014 07:49:28 +0000
Subject: SF.net SVN: gar:[23186] csw/mgar/pkg/sudo/trunk/Makefile
Message-ID: <3fjpNd54B3zb3@mail.opencsw.org>
Revision: 23186
http://sourceforge.net/p/gar/code/23186
Author: dmichelsen
Date: 2014-03-11 07:49:28 +0000 (Tue, 11 Mar 2014)
Log Message:
-----------
sudo/trunk: Relocate timestamps to /var/run as required
Modified Paths:
--------------
csw/mgar/pkg/sudo/trunk/Makefile
Modified: csw/mgar/pkg/sudo/trunk/Makefile
===================================================================
--- csw/mgar/pkg/sudo/trunk/Makefile 2014-03-10 23:24:51 UTC (rev 23185)
+++ csw/mgar/pkg/sudo/trunk/Makefile 2014-03-11 07:49:28 UTC (rev 23186)
@@ -84,7 +84,8 @@
LOGPATH = $(localstatedir)/log/sudo
VARDIR = $(localstatedir)/sudo
-TIMEPATH = $(VARDIR)
+# It is important that this really gets cleaned on reboot
+TIMEPATH = /var/run
IOLOGPATH = $(LOGPATH)/io
REINPLACE_USRLOCAL += plugins/sudoers/sudoers
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Tue Mar 11 09:04:07 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Tue, 11 Mar 2014 08:04:07 +0000
Subject: SF.net SVN: gar:[23187] csw/mgar/pkg/bvi/trunk
Message-ID: <3fjpjc6wk1zh5@mail.opencsw.org>
Revision: 23187
http://sourceforge.net/p/gar/code/23187
Author: dmichelsen
Date: 2014-03-11 08:04:04 +0000 (Tue, 11 Mar 2014)
Log Message:
-----------
bvi/trunk: Update to 1.4.0rc
Modified Paths:
--------------
csw/mgar/pkg/bvi/trunk/Makefile
csw/mgar/pkg/bvi/trunk/checksums
Removed Paths:
-------------
csw/mgar/pkg/bvi/trunk/files/changelog.CSW
Modified: csw/mgar/pkg/bvi/trunk/Makefile
===================================================================
--- csw/mgar/pkg/bvi/trunk/Makefile 2014-03-11 07:49:28 UTC (rev 23186)
+++ csw/mgar/pkg/bvi/trunk/Makefile 2014-03-11 08:04:04 UTC (rev 23187)
@@ -1,5 +1,5 @@
NAME = bvi
-VERSION = 1.3.2
+VERSION = 1.4.0rc
GARTYPE = v2
DESCRIPTION = A vi-like binary file (hex) editor
@@ -16,6 +16,9 @@
UFILES_REGEX = $(NAME)-(\d+(?:\.\d+)*).src.tar.gz
UPSTREAM_MASTER_SITES = http://sourceforge.net/projects/bvi/files/
+PACKAGING_PLATFORMS = solaris9-sparc solaris9-i386
+PACKAGING_PLATFORMS += solaris10-sparc solaris10-i386
+
TEST_SCRIPTS =
# bvi uses --libdir to store a help file
@@ -30,6 +33,5 @@
post-install-modulated: DOCDEST=$(DESTDIR)$(docdir)/$(NAME)
post-install-modulated:
ginstall -d $(DOCDEST)
- cp $(FILEDIR)/changelog.CSW $(DOCDEST)
cp $(addprefix $(WORKSRC)/, $(DOCS)) $(DOCDEST)
@$(MAKECOOKIE)
Modified: csw/mgar/pkg/bvi/trunk/checksums
===================================================================
--- csw/mgar/pkg/bvi/trunk/checksums 2014-03-11 07:49:28 UTC (rev 23186)
+++ csw/mgar/pkg/bvi/trunk/checksums 2014-03-11 08:04:04 UTC (rev 23187)
@@ -1 +1 @@
-4257305ffb27177a6d5208b2df4ca92d download/bvi-1.3.2.src.tar.gz
+35cfd46dcb1973b6a540564b6587bdc8 bvi-1.4.0rc.src.tar.gz
Deleted: csw/mgar/pkg/bvi/trunk/files/changelog.CSW
===================================================================
--- csw/mgar/pkg/bvi/trunk/files/changelog.CSW 2014-03-11 07:49:28 UTC (rev 23186)
+++ csw/mgar/pkg/bvi/trunk/files/changelog.CSW 2014-03-11 08:04:04 UTC (rev 23187)
@@ -1,5 +0,0 @@
-bvi (1.3.2,REV=2009.07.04)
-
- * Initial release.
-
- -- Sebastian Kayser Sat, 4 Jul 2009 16:53:08 +0200
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From lblume at users.sourceforge.net Tue Mar 11 10:15:49 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Tue, 11 Mar 2014 09:15:49 +0000
Subject: SF.net SVN: gar:[23188] csw/mgar/pkg/gvim/trunk/Makefile
Message-ID: <3fjrJG35vkzqL@mail.opencsw.org>
Revision: 23188
http://sourceforge.net/p/gar/code/23188
Author: lblume
Date: 2014-03-11 09:15:47 +0000 (Tue, 11 Mar 2014)
Log Message:
-----------
gvim/trunk: Update deps (some for the ld bug, probably)
Modified Paths:
--------------
csw/mgar/pkg/gvim/trunk/Makefile
Modified: csw/mgar/pkg/gvim/trunk/Makefile
===================================================================
--- csw/mgar/pkg/gvim/trunk/Makefile 2014-03-11 08:04:04 UTC (rev 23187)
+++ csw/mgar/pkg/gvim/trunk/Makefile 2014-03-11 09:15:47 UTC (rev 23188)
@@ -75,13 +75,17 @@
RUNTIME_DEP_PKGS_CSWgvim += CSWlibiconv2
RUNTIME_DEP_PKGS_CSWgvim += CSWlibgnome2-0
RUNTIME_DEP_PKGS_CSWgvim += CSWlibgnomeui2-0
-RUNTIME_DEP_PKGS_CSWgvim += CSWpango
RUNTIME_DEP_PKGS_CSWgvim += CSWlibgobject2-0-0
RUNTIME_DEP_PKGS_CSWgvim += CSWlibgtk-x11-2-0-0
RUNTIME_DEP_PKGS_CSWgvim += CSWlibgdk-pixbuf2-0-0
RUNTIME_DEP_PKGS_CSWgvim += CSWlibglib2-0-0
RUNTIME_DEP_PKGS_CSWgvim += CSWlibgdk-x11-2-0-0
RUNTIME_DEP_PKGS_CSWgvim += CSWlibbonoboui
+RUNTIME_DEP_PKGS_CSWgvim += CSWlibpango1-0-0
+RUNTIME_DEP_PKGS_CSWgvim += CSWorbit2
+RUNTIME_DEP_PKGS_CSWgvim += CSWlibatk1-0-0
+RUNTIME_DEP_PKGS_CSWgvim += CSWlibgio2-0-0
+RUNTIME_DEP_PKGS_CSWgvim += CSWlibfreetype6
# It is ok to depend on the base files
CHECKPKG_OVERRIDES_CSWgvim += surplus-dependency|CSWvimrt
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Tue Mar 11 10:16:15 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Tue, 11 Mar 2014 09:16:15 +0000
Subject: SF.net SVN: gar:[23189] csw/mgar/pkg/cabextract/trunk
Message-ID: <3fjrJp4LNZztk@mail.opencsw.org>
Revision: 23189
http://sourceforge.net/p/gar/code/23189
Author: dmichelsen
Date: 2014-03-11 09:16:13 +0000 (Tue, 11 Mar 2014)
Log Message:
-----------
cabextract/trunk: Update to 1.4 and mGAR v2
Modified Paths:
--------------
csw/mgar/pkg/cabextract/trunk/Makefile
csw/mgar/pkg/cabextract/trunk/checksums
Removed Paths:
-------------
csw/mgar/pkg/cabextract/trunk/files/CSWcabextract.depend
csw/mgar/pkg/cabextract/trunk/files/CSWcabextract.gspec
csw/mgar/pkg/cabextract/trunk/files/CSWcabextract.prototype
Property Changed:
----------------
csw/mgar/pkg/cabextract/trunk/
Index: csw/mgar/pkg/cabextract/trunk
===================================================================
--- csw/mgar/pkg/cabextract/trunk 2014-03-11 09:15:47 UTC (rev 23188)
+++ csw/mgar/pkg/cabextract/trunk 2014-03-11 09:16:13 UTC (rev 23189)
Property changes on: csw/mgar/pkg/cabextract/trunk
___________________________________________________________________
Modified: svn:ignore
## -1,4 +1 ##
-cookies
-download
work
-
Modified: csw/mgar/pkg/cabextract/trunk/Makefile
===================================================================
--- csw/mgar/pkg/cabextract/trunk/Makefile 2014-03-11 09:15:47 UTC (rev 23188)
+++ csw/mgar/pkg/cabextract/trunk/Makefile 2014-03-11 09:16:13 UTC (rev 23189)
@@ -1,6 +1,5 @@
NAME = cabextract
-VERSION = 1.2
-GARTYPE = v1
+VERSION = 1.4
DESCRIPTION = Extract Microsoft cabinet files
define BLURB
@@ -11,22 +10,15 @@
Microsoft cabinet files.
endef
-MASTER_SITES = http://www.kyz.uklinux.net/downloads/
+MASTER_SITES = http://www.cabextract.org.uk/
+DISTFILES += $(DISTNAME).tar.gz
-DISTFILES = $(NAME)-$(VERSION).tar.gz
-DISTFILES += $(call admfiles,CSWcabextract,prototype depend)
+VENDOR_URL = http://www.cabextract.org.uk
-# We define upstream file regex so we can be notifed of new upstream software release
-UFILES_REGEX = $(NAME)-(\d+(?:\.\d+)*).tar.gz
+PACKAGES += CSWcabextract
+SPKG_DESC_CSWcabextract = Extract Microsoft cabinet files
+# PKGFILES is catchall
+OBSOLETED_BY_CSWcabextract += CSWcabex
+CATALOGNAME_CSWcabex = cabextract_stub
-CONFIGURE_ARGS = $(DIRPATHS)
-
-# cabextract doesn't have a test target
-TEST_TARGET =
-
-SPKG_SOURCEURL = http://www.kyz.uklinux.net/cabextract.php
-
include gar/category.mk
-
-# cabextract is forgetting to link against libintl, so reminding it
-LDFLAGS += -lintl
Modified: csw/mgar/pkg/cabextract/trunk/checksums
===================================================================
--- csw/mgar/pkg/cabextract/trunk/checksums 2014-03-11 09:15:47 UTC (rev 23188)
+++ csw/mgar/pkg/cabextract/trunk/checksums 2014-03-11 09:16:13 UTC (rev 23189)
@@ -1,4 +1 @@
-57ec49714fd5c0ae024bbd2823a1a896 download/CSWcabextract.depend
-2de160c7d2bce303e10201ece6c72f54 download/CSWcabextract.gspec
-ee60681c0104f3160bfaaeac28f9808f download/CSWcabextract.prototype
-dc421a690648b503265c82ade84e143e download/cabextract-1.2.tar.gz
+79f41f568cf1a3ac105e0687e8bfb7c0 cabextract-1.4.tar.gz
Deleted: csw/mgar/pkg/cabextract/trunk/files/CSWcabextract.depend
===================================================================
--- csw/mgar/pkg/cabextract/trunk/files/CSWcabextract.depend 2014-03-11 09:15:47 UTC (rev 23188)
+++ csw/mgar/pkg/cabextract/trunk/files/CSWcabextract.depend 2014-03-11 09:16:13 UTC (rev 23189)
@@ -1 +0,0 @@
-P CSWggettext ggettext - GNU gettext
Deleted: csw/mgar/pkg/cabextract/trunk/files/CSWcabextract.gspec
===================================================================
--- csw/mgar/pkg/cabextract/trunk/files/CSWcabextract.gspec 2014-03-11 09:15:47 UTC (rev 23188)
+++ csw/mgar/pkg/cabextract/trunk/files/CSWcabextract.gspec 2014-03-11 09:16:13 UTC (rev 23189)
@@ -1,4 +0,0 @@
-%var bitname cabextract
-%var pkgname CSWcabextract
-%include url file://%{PKGLIB}/csw_dyndepend.gspec
-%copyright url file://%{WORKSRC}/COPYING
Deleted: csw/mgar/pkg/cabextract/trunk/files/CSWcabextract.prototype
===================================================================
--- csw/mgar/pkg/cabextract/trunk/files/CSWcabextract.prototype 2014-03-11 09:15:47 UTC (rev 23188)
+++ csw/mgar/pkg/cabextract/trunk/files/CSWcabextract.prototype 2014-03-11 09:16:13 UTC (rev 23189)
@@ -1,10 +0,0 @@
-d none /opt/csw 0755 root bin
-d none /opt/csw/bin 0755 root bin
-f none /opt/csw/bin/cabextract 0755 root bin
-d none /opt/csw/share 0755 root bin
-d none /opt/csw/share/man 0755 root bin
-d none /opt/csw/share/man/man1 0755 root bin
-f none /opt/csw/share/man/man1/cabextract.1 0644 root bin
-i copyright=CSWcabextract.copyright
-i depend=CSWcabextract.depend
-i pkginfo=CSWcabextract.pkginfo
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Tue Mar 11 10:25:03 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Tue, 11 Mar 2014 09:25:03 +0000
Subject: SF.net SVN: gar:[23190] csw/mgar/pkg/fping/trunk
Message-ID: <3fjrVx1ykBzyF@mail.opencsw.org>
Revision: 23190
http://sourceforge.net/p/gar/code/23190
Author: dmichelsen
Date: 2014-03-11 09:25:02 +0000 (Tue, 11 Mar 2014)
Log Message:
-----------
fping/trunk: Update to 3.9
Modified Paths:
--------------
csw/mgar/pkg/fping/trunk/Makefile
csw/mgar/pkg/fping/trunk/checksums
Property Changed:
----------------
csw/mgar/pkg/fping/trunk/
Index: csw/mgar/pkg/fping/trunk
===================================================================
--- csw/mgar/pkg/fping/trunk 2014-03-11 09:16:13 UTC (rev 23189)
+++ csw/mgar/pkg/fping/trunk 2014-03-11 09:25:02 UTC (rev 23190)
Property changes on: csw/mgar/pkg/fping/trunk
___________________________________________________________________
Modified: svn:ignore
## -1,4 +1 ##
-cookies
-download
work
-
Modified: csw/mgar/pkg/fping/trunk/Makefile
===================================================================
--- csw/mgar/pkg/fping/trunk/Makefile 2014-03-11 09:16:13 UTC (rev 23189)
+++ csw/mgar/pkg/fping/trunk/Makefile 2014-03-11 09:25:02 UTC (rev 23190)
@@ -1,20 +1,10 @@
-NAME = fping
-VERSION = 3.2
-CATEGORIES = utils
-GARTYPE = v2
+NAME = fping
+VERSION = 3.9
+GARTYPE = v2
-#
-# package definitions
-#
+MASTER_SITES = http://fping.org/dist/
+DISTFILES = $(DISTNAME).tar.gz
-PACKAGES = CSWfping
-SPKG_DESC_CSWfping = A ping like program accepting any number of hosts
-CATALOGNAME_CSWfping = fping
-
-#
-# blurb
-#
-
define BLURB
fping is a ping(1) like program which uses the Internet Control
Message Protocol (ICMP) echo request to determine if a host is up.
@@ -28,32 +18,12 @@
unreachable.
endef
-#
-# download, distfiles, patchfiles
-#
+VENDOR_URL = http://fping.org
-MASTER_SITES = http://fping.org/dist/
-DISTFILES = $(NAME)-$(VERSION).tar.gz
-VENDOR_URL = http://fping.org/
+PACKAGES += CSWfping
+SPKG_DESC_CSWfping = A ping like program accepting any number of hosts
-# We define upstream file regex so we can be notifed of new upstream software release
-UFILES_REGEX = $(NAME)-(\d+(?:\.\d+)*).tar.gz
-
-#
-# reinplacements
-#
-
REINPLACE_USRLOCAL += doc/fping*
-#
-# configure
-#
-
-CONFIGURE_ARGS = $(DIRPATHS)
-
-#
-# nothing to be done here for installation and packaging
-#
-
include gar/category.mk
Modified: csw/mgar/pkg/fping/trunk/checksums
===================================================================
--- csw/mgar/pkg/fping/trunk/checksums 2014-03-11 09:16:13 UTC (rev 23189)
+++ csw/mgar/pkg/fping/trunk/checksums 2014-03-11 09:25:02 UTC (rev 23190)
@@ -1 +1 @@
-efc86557e9b54e5c3becb598a50684a0 fping-3.2.tar.gz
+7ad0313646681c33e975f7b946d8d283 fping-3.9.tar.gz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From lblume at users.sourceforge.net Tue Mar 11 11:28:31 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Tue, 11 Mar 2014 10:28:31 +0000
Subject: SF.net SVN: gar:[23191] csw/mgar/pkg/gvim/trunk/Makefile
Message-ID: <3fjsw76yk2z15p@mail.opencsw.org>
Revision: 23191
http://sourceforge.net/p/gar/code/23191
Author: lblume
Date: 2014-03-11 10:28:31 +0000 (Tue, 11 Mar 2014)
Log Message:
-----------
gvim/trunk: Make the ld bug workaround optional
Modified Paths:
--------------
csw/mgar/pkg/gvim/trunk/Makefile
Modified: csw/mgar/pkg/gvim/trunk/Makefile
===================================================================
--- csw/mgar/pkg/gvim/trunk/Makefile 2014-03-11 09:25:02 UTC (rev 23190)
+++ csw/mgar/pkg/gvim/trunk/Makefile 2014-03-11 10:28:31 UTC (rev 23191)
@@ -82,10 +82,15 @@
RUNTIME_DEP_PKGS_CSWgvim += CSWlibgdk-x11-2-0-0
RUNTIME_DEP_PKGS_CSWgvim += CSWlibbonoboui
RUNTIME_DEP_PKGS_CSWgvim += CSWlibpango1-0-0
+
+# Needed for the Solaris ld bug
+ifeq ($(shell /usr/bin/uname -p),sparc)
RUNTIME_DEP_PKGS_CSWgvim += CSWorbit2
RUNTIME_DEP_PKGS_CSWgvim += CSWlibatk1-0-0
RUNTIME_DEP_PKGS_CSWgvim += CSWlibgio2-0-0
RUNTIME_DEP_PKGS_CSWgvim += CSWlibfreetype6
+endif
+#
# It is ok to depend on the base files
CHECKPKG_OVERRIDES_CSWgvim += surplus-dependency|CSWvimrt
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From cgrzemba at users.sourceforge.net Tue Mar 11 13:10:23 2014
From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net)
Date: Tue, 11 Mar 2014 12:10:23 +0000
Subject: SF.net SVN: gar:[23192] csw/mgar/pkg/389-ds-base/branches/vers1.3.2
Message-ID: <3fjw9j22Kyz1Hd@mail.opencsw.org>
Revision: 23192
http://sourceforge.net/p/gar/code/23192
Author: cgrzemba
Date: 2014-03-11 12:10:21 +0000 (Tue, 11 Mar 2014)
Log Message:
-----------
389-ds-base/branches/vers1.3.2: update version, enable 64bit server
Modified Paths:
--------------
csw/mgar/pkg/389-ds-base/branches/vers1.3.2/Makefile
csw/mgar/pkg/389-ds-base/branches/vers1.3.2/checksums
Added Paths:
-----------
csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0016-fix-bigendian-utf8compare.c
Modified: csw/mgar/pkg/389-ds-base/branches/vers1.3.2/Makefile
===================================================================
--- csw/mgar/pkg/389-ds-base/branches/vers1.3.2/Makefile 2014-03-11 10:28:31 UTC (rev 23191)
+++ csw/mgar/pkg/389-ds-base/branches/vers1.3.2/Makefile 2014-03-11 12:10:21 UTC (rev 23192)
@@ -2,7 +2,7 @@
# TODO (release-critical prefixed with !, non release-critical with *)
#
NAME = 389-ds-base
-VERSION = 1.3.2.13
+VERSION = 1.3.2.14
GARTYPE = v2
DESCRIPTION = The enterprise-class Open Source LDAP server
@@ -12,12 +12,13 @@
BUNDLE = 389-ds
-MASTER_SITES = http://port389.org/sources/
+MASTER_SITES = https://git.fedorahosted.org/cgit/389/ds.git/snapshot/
+# MASTER_SITES = http://port389.org/sources/
DISTFILES = $(NAME)-$(VERSION).tar.bz2
DISTFILES += CSW389-ds-base.postinstall
DISTFILES += CSW389-ds-base.postremove
-# BUILD64 = 1
+BUILD64 = 1
PACKAGING_PLATFORMS += solaris10-sparc
PACKAGING_PLATFORMS += solaris10-i386
@@ -46,6 +47,7 @@
# needed at least on GCC4
PATCHFILES += 0015-use-PL_strcasestr-acllas.c.patch
PATCHFILES += 0010-no-Crun-Cstd-lib-config.ac.patch
+PATCHFILES += 0016-fix-bigendian-utf8compare.c
BUILD_DEP_PKGS += CSWautoconf
Modified: csw/mgar/pkg/389-ds-base/branches/vers1.3.2/checksums
===================================================================
--- csw/mgar/pkg/389-ds-base/branches/vers1.3.2/checksums 2014-03-11 10:28:31 UTC (rev 23191)
+++ csw/mgar/pkg/389-ds-base/branches/vers1.3.2/checksums 2014-03-11 12:10:21 UTC (rev 23192)
@@ -1 +1 @@
-8950764771081291117ade801b49ec04 389-ds-base-1.3.2.13.tar.bz2
+a33110a64020aa9c830ef5a0f00c8058 389-ds-base-1.3.2.14.tar.bz2
Added: csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0016-fix-bigendian-utf8compare.c
===================================================================
--- csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0016-fix-bigendian-utf8compare.c (rev 0)
+++ csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0016-fix-bigendian-utf8compare.c 2014-03-11 12:10:21 UTC (rev 23192)
@@ -0,0 +1,34 @@
+--- a/ldap/servers/slapd/utf8compare.c
++++ b/ldap/servers/slapd/utf8compare.c
+@@ -60,6 +60,7 @@ typedef struct sUpperLowerTbl {
+ int
+ slapi_has8thBit(unsigned char *s)
+ {
++#if (defined(CPU_x86) || defined(CPU_x86_64))
+ #define MY8THBITWIDTH 4 /* sizeof(PRUint32) */
+ #define MY8THBITFILTER 0x80808080
+ unsigned char *p, *stail, *ltail;
+@@ -73,14 +74,20 @@ slapi_has8thBit(unsigned char *s)
+ return 1;
+ }
+ }
+- for (; p < ltail; p++) {
++#undef MY8THBITWIDTH
++#undef MY8THBITFILTER
++ for (; p < ltail; p++)
++#else
++ unsigned char *p, *tail;
++ tail = s + strlen((char *)s);
++ for (p = s; p < tail; p++)
++#endif
++ {
+ if (0x80 & *p) {
+ return 1;
+ }
+ }
+ return 0;
+-#undef MY8THBITWIDTH
+-#undef MY8THBITFILTER
+ }
+
+ /*
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From jake_goerzen at users.sourceforge.net Tue Mar 11 18:15:25 2014
From: jake_goerzen at users.sourceforge.net (jake_goerzen at users.sourceforge.net)
Date: Tue, 11 Mar 2014 17:15:25 +0000
Subject: SF.net SVN: gar:[23193] csw/mgar/pkg/dovecot/trunk/Makefile
Message-ID: <3fk2xc5lzzzHF@mail.opencsw.org>
Revision: 23193
http://sourceforge.net/p/gar/code/23193
Author: jake_goerzen
Date: 2014-03-11 17:15:22 +0000 (Tue, 11 Mar 2014)
Log Message:
-----------
dovecot: update dependancy CSWlibgssapi-krb5-2 to CSWlibkrb5-3
Modified Paths:
--------------
csw/mgar/pkg/dovecot/trunk/Makefile
Modified: csw/mgar/pkg/dovecot/trunk/Makefile
===================================================================
--- csw/mgar/pkg/dovecot/trunk/Makefile 2014-03-11 12:10:21 UTC (rev 23192)
+++ csw/mgar/pkg/dovecot/trunk/Makefile 2014-03-11 17:15:22 UTC (rev 23193)
@@ -35,7 +35,7 @@
RUNTIME_DEP_PKGS_CSWdovecot += CSWlibiconv2
RUNTIME_DEP_PKGS_CSWdovecot += CSWlibz1
RUNTIME_DEP_PKGS_CSWdovecot += CSWlibbz2-1-0
-RUNTIME_DEP_PKGS_CSWdovecot += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSWdovecot += CSWlibkrb5-3
RUNTIME_DEP_PKGS_CSWdovecot += CSWlibpq5
RUNTIME_DEP_PKGS_CSWdovecot += CSWlibsqlite3-0
RUNTIME_DEP_PKGS_CSWdovecot += CSWlibssl1-0-0
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Tue Mar 11 19:26:12 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Tue, 11 Mar 2014 18:26:12 +0000
Subject: SF.net SVN: gar:[23194] csw/mgar/pkg
Message-ID: <3fk4WK4xBtzQL@mail.opencsw.org>
Revision: 23194
http://sourceforge.net/p/gar/code/23194
Author: dmichelsen
Date: 2014-03-11 18:26:10 +0000 (Tue, 11 Mar 2014)
Log Message:
-----------
ccrypt/trunk: Initial commit
Added Paths:
-----------
csw/mgar/pkg/ccrypt/
csw/mgar/pkg/ccrypt/Makefile
csw/mgar/pkg/ccrypt/branches/
csw/mgar/pkg/ccrypt/tags/
csw/mgar/pkg/ccrypt/trunk/
csw/mgar/pkg/ccrypt/trunk/Makefile
csw/mgar/pkg/ccrypt/trunk/checksums
csw/mgar/pkg/ccrypt/trunk/files/
Added: csw/mgar/pkg/ccrypt/Makefile
===================================================================
--- csw/mgar/pkg/ccrypt/Makefile (rev 0)
+++ csw/mgar/pkg/ccrypt/Makefile 2014-03-11 18:26:10 UTC (rev 23194)
@@ -0,0 +1,2 @@
+%:
+ $(MAKE) -C trunk $*
Index: csw/mgar/pkg/ccrypt/trunk
===================================================================
--- csw/mgar/pkg/ccrypt/trunk 2014-03-11 17:15:22 UTC (rev 23193)
+++ csw/mgar/pkg/ccrypt/trunk 2014-03-11 18:26:10 UTC (rev 23194)
Property changes on: csw/mgar/pkg/ccrypt/trunk
___________________________________________________________________
Added: svn:ignore
## -0,0 +1 ##
+work
Added: csw/mgar/pkg/ccrypt/trunk/Makefile
===================================================================
--- csw/mgar/pkg/ccrypt/trunk/Makefile (rev 0)
+++ csw/mgar/pkg/ccrypt/trunk/Makefile 2014-03-11 18:26:10 UTC (rev 23194)
@@ -0,0 +1,21 @@
+# $Id$
+# TODO (release-critical prefixed with !, non release-critical with *)
+#
+NAME = ccrypt
+VERSION = 1.10
+GARTYPE = v2
+
+DESCRIPTION = Secure encryption and decryption of files and streams
+
+MASTER_SITES = $(SF_MIRROR)
+DISTFILES += $(DISTNAME).tar.gz
+
+RUNTIME_DEP_PKGS_CSWccrypt += CSWlibintl8
+# This is just an optional .el file
+CHECKPKG_OVERRIDES_CSWccrypt += missing-dependency|CSWemacs-common
+
+BUILD64 = 1
+ISAEXEC = 1
+
+include gar/category.mk
+
Property changes on: csw/mgar/pkg/ccrypt/trunk/Makefile
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: csw/mgar/pkg/ccrypt/trunk/checksums
===================================================================
--- csw/mgar/pkg/ccrypt/trunk/checksums (rev 0)
+++ csw/mgar/pkg/ccrypt/trunk/checksums 2014-03-11 18:26:10 UTC (rev 23194)
@@ -0,0 +1 @@
+44ddd763465c254df83f5d38851d04d7 ccrypt-1.10.tar.gz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Wed Mar 12 10:25:11 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Wed, 12 Mar 2014 09:25:11 +0000
Subject: SF.net SVN: gar:[23195] csw/mgar/pkg/scons/trunk/Makefile
Message-ID: <3fkSSk4WcSz1Fr@mail.opencsw.org>
Revision: 23195
http://sourceforge.net/p/gar/code/23195
Author: dmichelsen
Date: 2014-03-12 09:25:10 +0000 (Wed, 12 Mar 2014)
Log Message:
-----------
scons/trunk: Force usage of Python 2.7 or strange things happen on scons invocation
Modified Paths:
--------------
csw/mgar/pkg/scons/trunk/Makefile
Modified: csw/mgar/pkg/scons/trunk/Makefile
===================================================================
--- csw/mgar/pkg/scons/trunk/Makefile 2014-03-11 18:26:10 UTC (rev 23194)
+++ csw/mgar/pkg/scons/trunk/Makefile 2014-03-12 09:25:10 UTC (rev 23195)
@@ -35,7 +35,16 @@
# PKGFILES is catchall
ARCHALL_CSWscons = 1
CHECKPKG_OVERRIDES_CSWscons += file-with-bad-content
+# We definitely need Python 2.7
+RUNTIME_DEP_PKGS_CSWscons += CSWpython27
+CHECKPKG_OVERRIDES_CSWscons += surplus-dependency|CSWpython27
+# scons needs Python 2.7
+REINPLACEMENTS += python
+REINPLACE_MATCH_python = \#!.*
+REINPLACE_WITH_python = \#!/opt/csw/bin/python27
+REINPLACE_FILES_python += script/scons
+
CONFIGURE_SCRIPTS =
TEST_SCRIPTS =
EXTRA_PAX_ARGS = -s ",\./opt/csw/man,./opt/csw/share/man,"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Wed Mar 12 10:40:50 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Wed, 12 Mar 2014 09:40:50 +0000
Subject: SF.net SVN: gar:[23196] csw/mgar/pkg/libserf/trunk
Message-ID: <3fkSpg57sbz1L4@mail.opencsw.org>
Revision: 23196
http://sourceforge.net/p/gar/code/23196
Author: dmichelsen
Date: 2014-03-12 09:40:49 +0000 (Wed, 12 Mar 2014)
Log Message:
-----------
libserf/trunk: Enable kerberos
Modified Paths:
--------------
csw/mgar/pkg/libserf/trunk/Makefile
Property Changed:
----------------
csw/mgar/pkg/libserf/trunk/
Index: csw/mgar/pkg/libserf/trunk
===================================================================
--- csw/mgar/pkg/libserf/trunk 2014-03-12 09:25:10 UTC (rev 23195)
+++ csw/mgar/pkg/libserf/trunk 2014-03-12 09:40:49 UTC (rev 23196)
Property changes on: csw/mgar/pkg/libserf/trunk
___________________________________________________________________
Modified: svn:ignore
## -1,4 +1 ##
-cookies
-download
work
-
Modified: csw/mgar/pkg/libserf/trunk/Makefile
===================================================================
--- csw/mgar/pkg/libserf/trunk/Makefile 2014-03-12 09:25:10 UTC (rev 23195)
+++ csw/mgar/pkg/libserf/trunk/Makefile 2014-03-12 09:40:49 UTC (rev 23196)
@@ -38,9 +38,14 @@
RUNTIME_DEP_PKGS_CSWlibserf1-1 += CSWlibaprutil1-0
RUNTIME_DEP_PKGS_CSWlibserf1-1 += CSWlibssl1-0-0
RUNTIME_DEP_PKGS_CSWlibserf1-1 += CSWlibz1
+RUNTIME_DEP_PKGS_CSWlibserf1-1 += CSWlibintl8
+RUNTIME_DEP_PKGS_CSWlibserf1-1 += CSWlibkrb5-3
# The name libserf1_3 was wrong due to false soname interpretation
OBSOLETED_BY_CSWlibserf1-1 += CSWlibserf1-3
+# Linker anomaly
+CHECKPKG_OVERRIDES_CSWlibserf1-1 += surplus-dependency|CSWlibintl8
+
PACKAGES += CSWlibserf-dev
CATALOGNAME_CSWlibserf-dev = libserf_dev
SPKG_DESC_CSWlibserf-dev = Development files for libserf-1.so.1
@@ -62,8 +67,15 @@
# escape magics to make sure it is passed as is to the linker
SCONS_FLAGS += LINKFLAGS="$(LDFLAGS) $(subst $$,\\$$\\,$(LD_OPTIONS))"
+# Enable Kerberos, usually this is $(prefix) and bin/krb5-config is appended, but we need explicit
+# specification as bin/ may also be bin/sparcv9 for 64 bit.
+SCONS_FLAGS += GSSAPI=$(bindir)/krb5-config
+
include gar/category.mk
+# scons debugging: --debug= with
+# count, duplicate, explain, findlibs, includes, memoizer, memory, objects, pdb, prepare, presub, stacktrace, time
+
build-serf:
(cd $(WORKSRC); \
$(BUILD_ENV) scons \
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From cgrzemba at users.sourceforge.net Wed Mar 12 10:44:57 2014
From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net)
Date: Wed, 12 Mar 2014 09:44:57 +0000
Subject: SF.net SVN: gar:[23197] csw/mgar/pkg/389-adminutil/trunk/Makefile
Message-ID: <3fkSvQ5gXQz1PY@mail.opencsw.org>
Revision: 23197
http://sourceforge.net/p/gar/code/23197
Author: cgrzemba
Date: 2014-03-12 09:44:57 +0000 (Wed, 12 Mar 2014)
Log Message:
-----------
389-adminutil/trunk: enable 64bit
Modified Paths:
--------------
csw/mgar/pkg/389-adminutil/trunk/Makefile
Modified: csw/mgar/pkg/389-adminutil/trunk/Makefile
===================================================================
--- csw/mgar/pkg/389-adminutil/trunk/Makefile 2014-03-12 09:40:49 UTC (rev 23196)
+++ csw/mgar/pkg/389-adminutil/trunk/Makefile 2014-03-12 09:44:57 UTC (rev 23197)
@@ -16,7 +16,7 @@
MASTER_SITES = http://port389.org/sources/
DISTFILES = $(NAME)-$(VERSION).tar.bz2
-# BUILD64 = 1
+BUILD64 = 1
PACKAGING_PLATFORMS += solaris10-sparc
PACKAGING_PLATFORMS += solaris10-i386
GARCOMPILER = SOS12U2
@@ -53,7 +53,6 @@
PACKAGES += CSW389-adminutil-dev
CATALOGNAME_CSW389-adminutil-dev = 389_adminutil_dev
-ARCHALL_CSW389-adminutil-dev = 1
SPKG_DESC_CSW389-adminutil-dev += $(DESCRIPTION), development files
RUNTIME_DEP_PKGS_CSW389-adminutil-dev += CSWlibadminutil0
RUNTIME_DEP_PKGS_CSW389-adminutil-dev += CSWlibadmsslutil0
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Wed Mar 12 10:51:49 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Wed, 12 Mar 2014 09:51:49 +0000
Subject: SF.net SVN: gar:[23198] csw/mgar/pkg/libserf/trunk/Makefile
Message-ID: <3fkT3K5Yrjz1W1@mail.opencsw.org>
Revision: 23198
http://sourceforge.net/p/gar/code/23198
Author: dmichelsen
Date: 2014-03-12 09:51:47 +0000 (Wed, 12 Mar 2014)
Log Message:
-----------
libserf/trunk: Adjust dependencies for Solaris 9
Modified Paths:
--------------
csw/mgar/pkg/libserf/trunk/Makefile
Modified: csw/mgar/pkg/libserf/trunk/Makefile
===================================================================
--- csw/mgar/pkg/libserf/trunk/Makefile 2014-03-12 09:44:57 UTC (rev 23197)
+++ csw/mgar/pkg/libserf/trunk/Makefile 2014-03-12 09:51:47 UTC (rev 23198)
@@ -39,7 +39,9 @@
RUNTIME_DEP_PKGS_CSWlibserf1-1 += CSWlibssl1-0-0
RUNTIME_DEP_PKGS_CSWlibserf1-1 += CSWlibz1
RUNTIME_DEP_PKGS_CSWlibserf1-1 += CSWlibintl8
-RUNTIME_DEP_PKGS_CSWlibserf1-1 += CSWlibkrb5-3
+RUNTIME_DEP_PKGS_CSWlibserf1-1-5.9 += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSWlibserf1-1-5.10 += CSWlibkrb5-3
+RUNTIME_DEP_PKGS_CSWlibserf1-1 += $(RUNTIME_DEP_PKGS_CSWlibserf1-1-$(GAROSREL))
# The name libserf1_3 was wrong due to false soname interpretation
OBSOLETED_BY_CSWlibserf1-1 += CSWlibserf1-3
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From guillomovitch at users.sourceforge.net Wed Mar 12 12:23:18 2014
From: guillomovitch at users.sourceforge.net (guillomovitch at users.sourceforge.net)
Date: Wed, 12 Mar 2014 11:23:18 +0000
Subject: SF.net SVN: gar:[23199] csw/mgar/pkg/fusioninventory-agent/trunk
Message-ID: <3fkW4v2jr7z7y@mail.opencsw.org>
Revision: 23199
http://sourceforge.net/p/gar/code/23199
Author: guillomovitch
Date: 2014-03-12 11:23:17 +0000 (Wed, 12 Mar 2014)
Log Message:
-----------
fusioninventory-agent/trunk: new version 2.3.6
Modified Paths:
--------------
csw/mgar/pkg/fusioninventory-agent/trunk/Makefile
csw/mgar/pkg/fusioninventory-agent/trunk/checksums
Modified: csw/mgar/pkg/fusioninventory-agent/trunk/Makefile
===================================================================
--- csw/mgar/pkg/fusioninventory-agent/trunk/Makefile 2014-03-12 09:51:47 UTC (rev 23198)
+++ csw/mgar/pkg/fusioninventory-agent/trunk/Makefile 2014-03-12 11:23:17 UTC (rev 23199)
@@ -2,7 +2,7 @@
# TODO (release-critical prefixed with !, non release-critical with *)
#
NAME = fusioninventory-agent
-VERSION = 2.3.5.1
+VERSION = 2.3.6
GARTYPE = v2
CATEGORIES = cpan
Modified: csw/mgar/pkg/fusioninventory-agent/trunk/checksums
===================================================================
--- csw/mgar/pkg/fusioninventory-agent/trunk/checksums 2014-03-12 09:51:47 UTC (rev 23198)
+++ csw/mgar/pkg/fusioninventory-agent/trunk/checksums 2014-03-12 11:23:17 UTC (rev 23199)
@@ -1 +1 @@
-97896f8f9710aa36d70fcc90999f50b1 FusionInventory-Agent-2.3.5.1.tar.gz
+2f7278786e67da475ee2eb5f2276f7f7 FusionInventory-Agent-2.3.6.tar.gz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Wed Mar 12 12:33:29 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Wed, 12 Mar 2014 11:33:29 +0000
Subject: SF.net SVN: gar:[23200] csw/mgar/pkg/krb5-lib/trunk/Makefile
Message-ID: <3fkWJg6dTCzCr@mail.opencsw.org>
Revision: 23200
http://sourceforge.net/p/gar/code/23200
Author: dmichelsen
Date: 2014-03-12 11:33:28 +0000 (Wed, 12 Mar 2014)
Log Message:
-----------
krb5-lib/trunk: Add new lib from 1.12
Modified Paths:
--------------
csw/mgar/pkg/krb5-lib/trunk/Makefile
Modified: csw/mgar/pkg/krb5-lib/trunk/Makefile
===================================================================
--- csw/mgar/pkg/krb5-lib/trunk/Makefile 2014-03-12 11:23:17 UTC (rev 23199)
+++ csw/mgar/pkg/krb5-lib/trunk/Makefile 2014-03-12 11:33:28 UTC (rev 23200)
@@ -32,6 +32,7 @@
RUNTIME_DEP_PKGS_CSWlibkrb5-dev += CSWlibk5crypto3
RUNTIME_DEP_PKGS_CSWlibkrb5-dev += CSWlibkrb5support0
RUNTIME_DEP_PKGS_CSWlibkrb5-dev += CSWlibverto0
+RUNTIME_DEP_PKGS_CSWlibkrb5-dev += CSWlibkrad0
PKGFILES_CSWlibkrb5-dev = $(mandir)/man8/sserver.8
PKGFILES_CSWlibkrb5-dev += $(mandir)/man1/(sclient|krb5-config|compile_et)\.1
PKGFILES_CSWlibkrb5-dev += $(sbindir)/(uuserver|sserver|sim_server|gss-server)
@@ -116,6 +117,7 @@
RUNTIME_DEP_PKGS_CSWlibkrb5-3 += CSWlibintl8
RUNTIME_DEP_PKGS_CSWlibkrb5-3 += CSWlibgcc-s1
RUNTIME_DEP_PKGS_CSWlibkrb5-3 += CSWlibssl1-0-0
+RUNTIME_DEP_PKGS_CSWlibkrb5-3 += CSWlibkrad0
CHECKPKG_OVERRIDES_CSWlibkrb5-3 += soname-not-part-of-filename
CHECKPKG_OVERRIDES_CSWlibkrb5-3 += shared-lib-pkgname-mismatch
@@ -132,6 +134,14 @@
SPKG_DESC_CSWlibverto0 += MIT Kerberos 5 core libraries, libverto.so.0
RUNTIME_DEP_PKGS_CSWlibverto0 += CSWlibgcc-s1
+PACKAGES += CSWlibkrad0
+SPKG_DESC_CSWlibkrad0 = MIT Kerberos 5 support library
+PKGFILES_CSWlibkrad0 += $(call pkgfiles_lib,libkrad.so.0)
+RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibkrb5-3
+RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibgcc-s1
+RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibverto0
+RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibk5crypto3
+
LICENSE = doc/copyright.rst
EXTRA_CFLAGS += -std=gnu99
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Wed Mar 12 13:42:07 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Wed, 12 Mar 2014 12:42:07 +0000
Subject: SF.net SVN: gar:[23201] csw/mgar/pkg/krb5-lib/trunk/Makefile
Message-ID: <3fkXqr67F4zNT@mail.opencsw.org>
Revision: 23201
http://sourceforge.net/p/gar/code/23201
Author: dmichelsen
Date: 2014-03-12 12:42:06 +0000 (Wed, 12 Mar 2014)
Log Message:
-----------
krb5-lib/trunk: Add additional deps because of linker anomaly
Modified Paths:
--------------
csw/mgar/pkg/krb5-lib/trunk/Makefile
Modified: csw/mgar/pkg/krb5-lib/trunk/Makefile
===================================================================
--- csw/mgar/pkg/krb5-lib/trunk/Makefile 2014-03-12 11:33:28 UTC (rev 23200)
+++ csw/mgar/pkg/krb5-lib/trunk/Makefile 2014-03-12 12:42:06 UTC (rev 23201)
@@ -118,6 +118,10 @@
RUNTIME_DEP_PKGS_CSWlibkrb5-3 += CSWlibgcc-s1
RUNTIME_DEP_PKGS_CSWlibkrb5-3 += CSWlibssl1-0-0
RUNTIME_DEP_PKGS_CSWlibkrb5-3 += CSWlibkrad0
+# Linker anomaly dep
+RUNTIME_DEP_PKGS_CSWlibkrb5-3 += CSWlibverto0
+CHECKPKG_OVERRIDES_CSWlibkrb5-3 += surplus-dependency|CSWlibverto0
+
CHECKPKG_OVERRIDES_CSWlibkrb5-3 += soname-not-part-of-filename
CHECKPKG_OVERRIDES_CSWlibkrb5-3 += shared-lib-pkgname-mismatch
@@ -142,6 +146,14 @@
RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibverto0
RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibk5crypto3
+# Linker anomaly deps
+RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibintl8
+RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibkrb5support0
+RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibcom-err3
+CHECKPKG_OVERRIDES_CSWlibkrad0 += surplus-dependency|CSWlibintl8
+CHECKPKG_OVERRIDES_CSWlibkrad0 += surplus-dependency|CSWlibkrb5support0
+CHECKPKG_OVERRIDES_CSWlibkrad0 += surplus-dependency|CSWlibcom-err3
+
LICENSE = doc/copyright.rst
EXTRA_CFLAGS += -std=gnu99
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Wed Mar 12 14:27:05 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Wed, 12 Mar 2014 13:27:05 +0000
Subject: SF.net SVN: gar:[23202] csw/mgar/pkg/cgit/trunk
Message-ID: <3fkYqk6qMMzWB@mail.opencsw.org>
Revision: 23202
http://sourceforge.net/p/gar/code/23202
Author: dmichelsen
Date: 2014-03-12 13:27:03 +0000 (Wed, 12 Mar 2014)
Log Message:
-----------
cgit/trunk: Update to 0.10.1 and some config adjustments
Modified Paths:
--------------
csw/mgar/pkg/cgit/trunk/Makefile
csw/mgar/pkg/cgit/trunk/checksums
csw/mgar/pkg/cgit/trunk/files/httpd-cgit.conf.CSW
Modified: csw/mgar/pkg/cgit/trunk/Makefile
===================================================================
--- csw/mgar/pkg/cgit/trunk/Makefile 2014-03-12 12:42:06 UTC (rev 23201)
+++ csw/mgar/pkg/cgit/trunk/Makefile 2014-03-12 13:27:03 UTC (rev 23202)
@@ -1,5 +1,5 @@
NAME = cgit
-VERSION = 0.9.2
+VERSION = 0.10.1
GARTYPE = v2
DESCRIPTION = Web front-end for Git
@@ -28,6 +28,7 @@
RUNTIME_DEP_PKGS_CSWcgit += CSWlibz1
RUNTIME_DEP_PKGS_CSWcgit += CSWlibiconv2
RUNTIME_DEP_PKGS_CSWcgit += CSWlibssl1-0-0
+RUNTIME_DEP_PKGS_CSWcgit += CSWliblua5-2
RUNTIME_DEP_PKGS_CSWcgit += CSWperl
# This may be used with any other webserver, just preconfigured for apache
Modified: csw/mgar/pkg/cgit/trunk/checksums
===================================================================
--- csw/mgar/pkg/cgit/trunk/checksums 2014-03-12 12:42:06 UTC (rev 23201)
+++ csw/mgar/pkg/cgit/trunk/checksums 2014-03-12 13:27:03 UTC (rev 23202)
@@ -1,2 +1,2 @@
-fe11018eff8d79caad112f4fac64b90f cgit-0.9.2.tar.xz
+060ef0aa95ebda6ea7daf823214bc4d0 cgit-0.10.1.tar.xz
d91b6099fb6763cf92c696977a247060 git-1.8.3.tar.gz
Modified: csw/mgar/pkg/cgit/trunk/files/httpd-cgit.conf.CSW
===================================================================
--- csw/mgar/pkg/cgit/trunk/files/httpd-cgit.conf.CSW 2014-03-12 12:42:06 UTC (rev 23201)
+++ csw/mgar/pkg/cgit/trunk/files/httpd-cgit.conf.CSW 2014-03-12 13:27:03 UTC (rev 23202)
@@ -1,11 +1,11 @@
-
+
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
-
+
AllowOverride None
Order allow,deny
Allow from all
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Wed Mar 12 14:54:16 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Wed, 12 Mar 2014 13:54:16 +0000
Subject: SF.net SVN: gar:[23203] csw/mgar/pkg/syslog_ng/trunk
Message-ID: <3fkZR95l5rzcP@mail.opencsw.org>
Revision: 23203
http://sourceforge.net/p/gar/code/23203
Author: dmichelsen
Date: 2014-03-12 13:54:14 +0000 (Wed, 12 Mar 2014)
Log Message:
-----------
syslog_ng/trunk: Update to 3.5.3, does not compile yet
Modified Paths:
--------------
csw/mgar/pkg/syslog_ng/trunk/Makefile
csw/mgar/pkg/syslog_ng/trunk/checksums
Added Paths:
-----------
csw/mgar/pkg/syslog_ng/trunk/files/0001-Add-substitute-for-getline-on-Solaris.patch
Property Changed:
----------------
csw/mgar/pkg/syslog_ng/trunk/
Index: csw/mgar/pkg/syslog_ng/trunk
===================================================================
--- csw/mgar/pkg/syslog_ng/trunk 2014-03-12 13:27:03 UTC (rev 23202)
+++ csw/mgar/pkg/syslog_ng/trunk 2014-03-12 13:54:14 UTC (rev 23203)
Property changes on: csw/mgar/pkg/syslog_ng/trunk
___________________________________________________________________
Modified: svn:ignore
## -1,4 +1 ##
-cookies
-download
work
-
Modified: csw/mgar/pkg/syslog_ng/trunk/Makefile
===================================================================
--- csw/mgar/pkg/syslog_ng/trunk/Makefile 2014-03-12 13:27:03 UTC (rev 23202)
+++ csw/mgar/pkg/syslog_ng/trunk/Makefile 2014-03-12 13:54:14 UTC (rev 23203)
@@ -1,7 +1,7 @@
# $Id$
NAME = syslog-ng
-VERSION = 3.2.5
+VERSION = 3.5.3
GARTYPE = v2
DESCRIPTION = A powerful syslogd replacement
@@ -12,27 +12,29 @@
endef
MASTER_SITES = http://www.balabit.com/downloads/files/$(NAME)/open-source-edition/$(VERSION)/source/
-DISTFILES = $(NAME)_$(VERSION).tar.gz
+DISTFILES += $(NAME)_$(VERSION).tar.gz
DISTFILES += $(NAME).conf.CSW
DISTFILES += cswsyslog_ng
DISTFILES += CSWsyslog-ng.preinstall
DISTFILES += CSWsyslog-ng.postremove
DISTFILES += CSWsyslog-ng.cswreleasenotes
-SPKG_SOURCEURL = http://www.balabit.com/network-security/syslog-ng/opensource-logging-system/
-INITSMF = /etc/opt/csw/init\.d/cswsyslog_ng
-SAMPLECONF = /etc/opt/csw/syslog-ng\.conf\.CSW
+# Patch taken from
+# https://www.redhat.com/archives/open-scap-list/2011-May/msg00021.html
+PATCHFILES += 0001-Add-substitute-for-getline-on-Solaris.patch
+VENDOR_URL = http://www.balabit.com/network-security/syslog-ng/opensource-logging-system/
+
+INITSMF += /etc/opt/csw/init\.d/cswsyslog_ng
+PRESERVECONF += $(sysconfdir)/syslog-ng\.conf
+PRESERVECONF += $(sysconfdir)/scl\.conf
+
# Syslog links against glib2, which is packaged in different packages on
# Solaris 9 and Solaris 10. Therefore, we need to build separately on 9 and
# 10, and declare different dependencies.
PACKAGING_PLATFORMS = solaris9-sparc solaris9-i386
PACKAGING_PLATFORMS += solaris10-sparc solaris10-i386
-# shared /opt/csw support:
-localstatedir = /var/opt/csw
-sysconfdir = /etc/opt/csw
-
CONFIGURE_ARGS = $(DIRPATHS)
CONFIGURE_ARGS += --enable-dynamic-linking
CONFIGURE_ARGS += --enable-spoof-source=no
@@ -60,7 +62,18 @@
RUNTIME_DEP_PKGS_CSWsyslog-ng += CSWlibpcre1
RUNTIME_DEP_PKGS_CSWsyslog-ng += CSWlibssl1-0-0
RUNTIME_DEP_PKGS_CSWsyslog-ng += CSWlibwrap1
+RUNTIME_DEP_PKGS_CSWsyslog-ng += CSWlibintl8
+RUNTIME_DEP_PKGS_CSWsyslog-ng += CSWlibuuid1
+RUNTIME_DEP_PKGS_CSWsyslog-ng += CSWlibgnutls28
+# This is correct, zoneinfo is searched at
+# /usr/share/zoneinfo/
+# /usr/share/lib/zoneinfo/
+CHECKPKG_OVERRIDES_CSWsyslog-ng += file-with-bad-content|/usr/share|root/opt/csw/lib/libsyslog-ng-3.5.3.so
+
+# This is optional
+CHECKPKG_OVERRIDES_CSWsyslog-ng += missing-dependency|CSWperl
+
# Specifying different dependencies for 5.9 and 5.10.
RUNTIME_DEP_PKGS_CSWsyslog-ng_5.10 += CSWlibglib2-0-0
RUNTIME_DEP_PKGS_CSWsyslog-ng_5.10 += CSWlibgmodule2-0-0
@@ -100,6 +113,7 @@
# to syslog's shared objects.
CHECKPKG_OVERRIDES_CSWsyslog-ng += shared-lib-package-contains-so-symlink
CHECKPKG_OVERRIDES_CSWsyslog-ng += shared-lib-pkgname-mismatch
+CHECKPKG_OVERRIDES_CSWsyslog-ng += soname-equals-filename
# Missing TLS symbols
EXTRA_LINKER_FLAGS = -lgnutls
Modified: csw/mgar/pkg/syslog_ng/trunk/checksums
===================================================================
--- csw/mgar/pkg/syslog_ng/trunk/checksums 2014-03-12 13:27:03 UTC (rev 23202)
+++ csw/mgar/pkg/syslog_ng/trunk/checksums 2014-03-12 13:54:14 UTC (rev 23203)
@@ -1 +1 @@
-60737452ce898f9dc7170dfdc9bfd732 syslog-ng_3.2.5.tar.gz
+4cc29efa55fc41e65c48ece9bc88f88b syslog-ng_3.5.3.tar.gz
Added: csw/mgar/pkg/syslog_ng/trunk/files/0001-Add-substitute-for-getline-on-Solaris.patch
===================================================================
--- csw/mgar/pkg/syslog_ng/trunk/files/0001-Add-substitute-for-getline-on-Solaris.patch (rev 0)
+++ csw/mgar/pkg/syslog_ng/trunk/files/0001-Add-substitute-for-getline-on-Solaris.patch 2014-03-12 13:54:14 UTC (rev 23203)
@@ -0,0 +1,74 @@
+From e16517fc1f6a56a100b3dc4981392ccfee4bdf3e Mon Sep 17 00:00:00 2001
+From: Dagobert Michelsen
+Date: Wed, 12 Mar 2014 14:38:31 +0100
+Subject: [PATCH] Add substitute for getline() on Solaris
+
+---
+ lib/filter/filter-in-list.c | 51 +++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 51 insertions(+)
+
+diff --git a/lib/filter/filter-in-list.c b/lib/filter/filter-in-list.c
+index 2fbbbe6..7222876 100644
+--- a/lib/filter/filter-in-list.c
++++ b/lib/filter/filter-in-list.c
+@@ -30,6 +30,57 @@
+ #include
+ #include
+
++#if defined(__SVR4) && defined(__sun)
++
++#define _GETLINE_BUFLEN 255
++
++ssize_t getline(char **lineptr, size_t *n, FILE *stream) {
++ int c;
++ size_t alloced = 0;
++ char *linebuf;
++
++ if (*lineptr == NULL) {
++ linebuf = malloc(sizeof(char) * (_GETLINE_BUFLEN + 1));
++ alloced = _GETLINE_BUFLEN + 1;
++ } else {
++ linebuf = *lineptr;
++ alloced = *n;
++ }
++ ssize_t linelen = 0;
++
++ do {
++ c = fgetc(stream);
++ if (c == EOF) {
++ break;
++ }
++ if (linelen >= alloced) {
++ linebuf = realloc(linebuf, sizeof(char) * (alloced + _GETLINE_BUFLEN + 1));
++ alloced += (_GETLINE_BUFLEN + 1);
++ }
++ *(linebuf + linelen) = (unsigned char)c;
++ linelen++;
++ } while (c != '\n');
++
++ /* empty line means EOF or some other error */
++ if (linelen == 0) {
++ if (linebuf != NULL && *lineptr == NULL) {
++ free(linebuf);
++ linebuf = NULL;
++ }
++ linelen = -1;
++ *n = alloced;
++ } else {
++ if (linebuf != NULL) {
++ linebuf[linelen] = '\0';
++ }
++ *n = alloced;
++ *lineptr = linebuf;
++ }
++
++ return linelen;
++}
++#endif
++
+ typedef struct _FilterInList
+ {
+ FilterExprNode super;
+--
+1.8.4.1
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From jake_goerzen at users.sourceforge.net Wed Mar 12 18:05:43 2014
From: jake_goerzen at users.sourceforge.net (jake_goerzen at users.sourceforge.net)
Date: Wed, 12 Mar 2014 17:05:43 +0000
Subject: SF.net SVN: gar:[23204] csw/mgar/pkg/bluefish/trunk
Message-ID: <3fkfh03T6dz10n@mail.opencsw.org>
Revision: 23204
http://sourceforge.net/p/gar/code/23204
Author: jake_goerzen
Date: 2014-03-12 17:05:42 +0000 (Wed, 12 Mar 2014)
Log Message:
-----------
bluefish: update to 2.2.5
Modified Paths:
--------------
csw/mgar/pkg/bluefish/trunk/Makefile
csw/mgar/pkg/bluefish/trunk/checksums
Modified: csw/mgar/pkg/bluefish/trunk/Makefile
===================================================================
--- csw/mgar/pkg/bluefish/trunk/Makefile 2014-03-12 13:54:14 UTC (rev 23203)
+++ csw/mgar/pkg/bluefish/trunk/Makefile 2014-03-12 17:05:42 UTC (rev 23204)
@@ -1,5 +1,5 @@
NAME = bluefish
-VERSION = 2.2.4
+VERSION = 2.2.5
DESCRIPTION = Advanced Gtk+ HTML editor
define BLURB
@@ -16,19 +16,23 @@
CONFIGURE_ARGS += $(DIRPATHS)
RUNTIME_DEP_PKGS_CSWbluefish += CSWlibintl8
-RUNTIME_DEP_PKGS_CSWbluefish += CSWenchant
RUNTIME_DEP_PKGS_CSWbluefish += CSWlibcairo2
RUNTIME_DEP_PKGS_CSWbluefish += CSWlibxml2-2
-RUNTIME_DEP_PKGS_CSWbluefish += CSWpango
RUNTIME_DEP_PKGS_CSWbluefish += CSWlibgmodule2-0-0
RUNTIME_DEP_PKGS_CSWbluefish += CSWlibgdk-x11-2-0-0
-RUNTIME_DEP_PKGS_CSWbluefish += CSWpython
RUNTIME_DEP_PKGS_CSWbluefish += CSWlibgdk-pixbuf2-0-0
RUNTIME_DEP_PKGS_CSWbluefish += CSWlibgobject2-0-0
RUNTIME_DEP_PKGS_CSWbluefish += CSWlibpython2-6-1-0
RUNTIME_DEP_PKGS_CSWbluefish += CSWlibglib2-0-0
RUNTIME_DEP_PKGS_CSWbluefish += CSWlibgtk-x11-2-0-0
RUNTIME_DEP_PKGS_CSWbluefish += CSWlibgio2-0-0
+RUNTIME_DEP_PKGS_CSWbluefish += CSWlibpango1-0-0
+RUNTIME_DEP_PKGS_CSWbluefish += CSWlibpangoft2-1-0-0
+RUNTIME_DEP_PKGS_CSWbluefish += CSWlibfreetype6
+RUNTIME_DEP_PKGS_CSWbluefish += CSWlibenchant1
+RUNTIME_DEP_PKGS_CSWbluefish += CSWlibatk1-0-0
+RUNTIME_DEP_PKGS_CSWbluefish += CSWlibfontconfig1
+RUNTIME_DEP_PKGS_CSWbluefish += CSWlibpangocairo1-0-0
EXTRA_MERGE_EXCLUDE_FILES = .*treemagic.*
EXTRA_MERGE_EXCLUDE_FILES += .*globs.*
Modified: csw/mgar/pkg/bluefish/trunk/checksums
===================================================================
--- csw/mgar/pkg/bluefish/trunk/checksums 2014-03-12 13:54:14 UTC (rev 23203)
+++ csw/mgar/pkg/bluefish/trunk/checksums 2014-03-12 17:05:42 UTC (rev 23204)
@@ -1 +1 @@
-0998038a10b2892f99139e7f0c3adfab bluefish-2.2.4.tar.gz
+3e1c80c7c68a0a79e115b0094a17d30d bluefish-2.2.5.tar.gz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From pfelecan at users.sourceforge.net Wed Mar 12 20:03:34 2014
From: pfelecan at users.sourceforge.net (pfelecan at users.sourceforge.net)
Date: Wed, 12 Mar 2014 19:03:34 +0000
Subject: SF.net SVN: gar:[23205] csw/mgar/pkg/guile/trunk/Makefile
Message-ID: <3fkjHy2mTnz1Dr@mail.opencsw.org>
Revision: 23205
http://sourceforge.net/p/gar/code/23205
Author: pfelecan
Date: 2014-03-12 19:03:31 +0000 (Wed, 12 Mar 2014)
Log Message:
-----------
guile/trunk: declared a new dependency
Modified Paths:
--------------
csw/mgar/pkg/guile/trunk/Makefile
Modified: csw/mgar/pkg/guile/trunk/Makefile
===================================================================
--- csw/mgar/pkg/guile/trunk/Makefile 2014-03-12 17:05:42 UTC (rev 23204)
+++ csw/mgar/pkg/guile/trunk/Makefile 2014-03-12 19:03:31 UTC (rev 23205)
@@ -88,6 +88,7 @@
RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibltdl7
RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibffi5
RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibncurses5
+RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibgmp10
RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibgc1
RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibgcc-s1
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From lblume at users.sourceforge.net Wed Mar 12 22:52:28 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Wed, 12 Mar 2014 21:52:28 +0000
Subject: SF.net SVN: gar:[23206] csw/mgar/pkg/mysql5/branches/mysql-5.5.x
Message-ID: <3fkn2v5Mmfz1Tb@mail.opencsw.org>
Revision: 23206
http://sourceforge.net/p/gar/code/23206
Author: lblume
Date: 2014-03-12 21:52:28 +0000 (Wed, 12 Mar 2014)
Log Message:
-----------
mysql5/branches/mysql-5.5.x: Initial DBs are not properly created on a clean install
Modified Paths:
--------------
csw/mgar/pkg/mysql5/branches/mysql-5.5.x/Makefile
csw/mgar/pkg/mysql5/branches/mysql-5.5.x/files/CSWmysql5.postinstall
csw/mgar/pkg/mysql5/branches/mysql-5.5.x/files/quick_start-csw
Modified: csw/mgar/pkg/mysql5/branches/mysql-5.5.x/Makefile
===================================================================
--- csw/mgar/pkg/mysql5/branches/mysql-5.5.x/Makefile 2014-03-12 19:03:31 UTC (rev 23205)
+++ csw/mgar/pkg/mysql5/branches/mysql-5.5.x/Makefile 2014-03-12 21:52:28 UTC (rev 23206)
@@ -241,6 +241,7 @@
CMAKE_ARGS += -DMYSQL_DATADIR=$(localstatedir)/$(NAME)
CMAKE_ARGS += -DSYSCONFDIR=$(sysconfdir)
CMAKE_ARGS += -DINSTALL_BINDIR=$(subst $(prefix)/,,$(bindir))
+CMAKE_ARGS += -DINSTALL_SCRIPTDIR=$(subst $(prefix)/,,$(bindir))
CMAKE_ARGS += -DINSTALL_SBINDIR=$(subst $(prefix)/,,$(libexecdir))
CMAKE_ARGS += -DINSTALL_LIBDIR=$(subst $(prefix)/,,$(libdir))
CMAKE_ARGS += -DINSTALL_PLUGINDIR=$(subst $(prefix)/,,$(libdir))/$(NAME)/plugin
Modified: csw/mgar/pkg/mysql5/branches/mysql-5.5.x/files/CSWmysql5.postinstall
===================================================================
--- csw/mgar/pkg/mysql5/branches/mysql-5.5.x/files/CSWmysql5.postinstall 2014-03-12 19:03:31 UTC (rev 23205)
+++ csw/mgar/pkg/mysql5/branches/mysql-5.5.x/files/CSWmysql5.postinstall 2014-03-12 21:52:28 UTC (rev 23206)
@@ -67,9 +67,7 @@
echo "### The following messages are from mysql_install_db."
"$BASEDIR/bin/mysql_install_db" \
--defaults-extra-file="$DEFAULTS_FILE" \
- --user="$MYSQLD_USER" \
- --basedir="$BASEDIR" \
- --datadir="$MYSQLD_DATADIR"
+ --user="$MYSQLD_USER"
echo "### End mysql_install_db messages."
# Fix permissions on the data directory, since mysql_install_db was run as
Modified: csw/mgar/pkg/mysql5/branches/mysql-5.5.x/files/quick_start-csw
===================================================================
--- csw/mgar/pkg/mysql5/branches/mysql-5.5.x/files/quick_start-csw 2014-03-12 19:03:31 UTC (rev 23205)
+++ csw/mgar/pkg/mysql5/branches/mysql-5.5.x/files/quick_start-csw 2014-03-12 21:52:28 UTC (rev 23206)
@@ -107,9 +107,7 @@
echo "### The following messages are from mysql_install_db."
$MYSQL_HOME/bin/mysql_install_db \
--defaults-extra-file=$DEFAULTS_FILE \
- --user=$MYSQLD_USER \
- --basedir=$MYSQL_HOME \
- --datadir=$MYSQLD_DATADIR
+ --user=$MYSQLD_USER
#
# Fix permissions on the data directory
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Thu Mar 13 08:15:37 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Thu, 13 Mar 2014 07:15:37 +0000
Subject: SF.net SVN: gar:[23207] csw/mgar/pkg/krb5-lib/trunk/Makefile
Message-ID: <3fl1Xg68HGzjh@mail.opencsw.org>
Revision: 23207
http://sourceforge.net/p/gar/code/23207
Author: dmichelsen
Date: 2014-03-13 07:15:35 +0000 (Thu, 13 Mar 2014)
Log Message:
-----------
krb5-lib/trunk: Work around cyclic dependency
Modified Paths:
--------------
csw/mgar/pkg/krb5-lib/trunk/Makefile
Modified: csw/mgar/pkg/krb5-lib/trunk/Makefile
===================================================================
--- csw/mgar/pkg/krb5-lib/trunk/Makefile 2014-03-12 21:52:28 UTC (rev 23206)
+++ csw/mgar/pkg/krb5-lib/trunk/Makefile 2014-03-13 07:15:35 UTC (rev 23207)
@@ -32,7 +32,7 @@
RUNTIME_DEP_PKGS_CSWlibkrb5-dev += CSWlibk5crypto3
RUNTIME_DEP_PKGS_CSWlibkrb5-dev += CSWlibkrb5support0
RUNTIME_DEP_PKGS_CSWlibkrb5-dev += CSWlibverto0
-RUNTIME_DEP_PKGS_CSWlibkrb5-dev += CSWlibkrad0
+#RUNTIME_DEP_PKGS_CSWlibkrb5-dev += CSWlibkrad0
PKGFILES_CSWlibkrb5-dev = $(mandir)/man8/sserver.8
PKGFILES_CSWlibkrb5-dev += $(mandir)/man1/(sclient|krb5-config|compile_et)\.1
PKGFILES_CSWlibkrb5-dev += $(sbindir)/(uuserver|sserver|sim_server|gss-server)
@@ -106,6 +106,7 @@
PKGFILES_CSWlibkrb5-3 += $(call baseisadirs,$(libdir),libkadm5clnt_mit\.so\.\d+(\.\d+)*)
PKGFILES_CSWlibkrb5-3 += $(call baseisadirs,$(libdir),libkadm5srv_mit\.so\.\d+(\.\d+)*)
PKGFILES_CSWlibkrb5-3 += $(call baseisadirs,$(libdir),libkdb5\.so\.\d+(\.\d+)*)
+PKGFILES_CSWlibkrb5-3 += $(call pkgfiles_lib,libkrad.so.0)
PKGFILES_CSWlibkrb5-3 += $(call baseisadirs,$(libdir),krb5.*)
SPKG_DESC_CSWlibkrb5-3 += MIT Kerberos 5 core and private libraries, libkrb5.so.3
OBSOLETED_BY_CSWlibkrb5-3 += CSWkrb5lib
@@ -138,7 +139,9 @@
SPKG_DESC_CSWlibverto0 += MIT Kerberos 5 core libraries, libverto.so.0
RUNTIME_DEP_PKGS_CSWlibverto0 += CSWlibgcc-s1
-PACKAGES += CSWlibkrad0
+# Cyclic dependency CSWlibkrad0 -> CSWlibkrb5-3 -> CSWlibkrad0, disable for now.
+OBSOLETED_BY_CSWlibkrb5-3 += CSWlibkrad0
+#PACKAGES += CSWlibkrad0
SPKG_DESC_CSWlibkrad0 = MIT Kerberos 5 support library
PKGFILES_CSWlibkrad0 += $(call pkgfiles_lib,libkrad.so.0)
RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibkrb5-3
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Thu Mar 13 11:07:33 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Thu, 13 Mar 2014 10:07:33 +0000
Subject: SF.net SVN: gar:[23208] csw/mgar/gar/v2/bin
Message-ID: <3fl5M92h1CzyJ@mail.opencsw.org>
Revision: 23208
http://sourceforge.net/p/gar/code/23208
Author: wahwah
Date: 2014-03-13 10:07:33 +0000 (Thu, 13 Mar 2014)
Log Message:
-----------
checkpkg: removing the bin/checkpkg symlink
Removing the symlink from bin/checkpkg to ../lib/python/checkpkg2.py
Adding a wrapper for checkpkg (sets PYTHONPATH)
Added Paths:
-----------
csw/mgar/gar/v2/bin/checkpkg
Removed Paths:
-------------
csw/mgar/gar/v2/bin/checkpkg
Deleted: csw/mgar/gar/v2/bin/checkpkg
===================================================================
--- csw/mgar/gar/v2/bin/checkpkg 2014-03-13 07:15:35 UTC (rev 23207)
+++ csw/mgar/gar/v2/bin/checkpkg 2014-03-13 10:07:33 UTC (rev 23208)
@@ -1 +0,0 @@
-link ../lib/python/checkpkg2.py
\ No newline at end of file
Added: csw/mgar/gar/v2/bin/checkpkg
===================================================================
--- csw/mgar/gar/v2/bin/checkpkg (rev 0)
+++ csw/mgar/gar/v2/bin/checkpkg 2014-03-13 10:07:33 UTC (rev 23208)
@@ -0,0 +1,8 @@
+#!/opt/csw/bin/bash
+
+set -e
+set -u
+
+basedir=$(dirname $0)/..
+export PYTHONPATH=$basedir
+exec /opt/csw/bin/python2.6 "$basedir/lib/python/checkpkg2.py" "$@"
Property changes on: csw/mgar/gar/v2/bin/checkpkg
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Thu Mar 13 11:07:41 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Thu, 13 Mar 2014 10:07:41 +0000
Subject: SF.net SVN: gar:[23209] csw/mgar/gar/v2/lib/python/package_checks.py
Message-ID: <3fl5MD4d4zzyX@mail.opencsw.org>
Revision: 23209
http://sourceforge.net/p/gar/code/23209
Author: wahwah
Date: 2014-03-13 10:07:41 +0000 (Thu, 13 Mar 2014)
Log Message:
-----------
checkpkg: Fix a crash when ARCH=all contains bins
There was an assumption in the check function that only 'i386' or
'sparc' would contain binaries.
But every check has to run for every package, so this assumption must
not be made.
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/package_checks.py
Modified: csw/mgar/gar/v2/lib/python/package_checks.py
===================================================================
--- csw/mgar/gar/v2/lib/python/package_checks.py 2014-03-13 10:07:33 UTC (rev 23208)
+++ csw/mgar/gar/v2/lib/python/package_checks.py 2014-03-13 10:07:41 UTC (rev 23209)
@@ -1273,9 +1273,17 @@
def Check64bitBinariesPresence(pkg_data, error_mgr, logger, messenger):
+ paths_64 = {
+ common_constants.ARCH_i386: common_constants.AMD64_PATHS,
+ common_constants.ARCH_SPARC: common_constants.SPARCV9_PATHS,
+ }
+
pkginfo = pkg_data['pkginfo']
arch = pkginfo['ARCH']
+ if arch not in paths_64:
+ return
+
if 'OPENCSW_MODE64' not in pkginfo:
error_mgr.ReportError('pkginfo-opencsw-mode64-missing',
'OPENCSW_MODE64 is missing from pkginfo')
@@ -1297,10 +1305,6 @@
if not binaries:
return
- paths_64 = {
- 'i386': common_constants.AMD64_PATHS,
- 'sparc': common_constants.SPARCV9_PATHS,
- }
paths_64_str = (
r"opt/csw/(%s)/(%s)"
% (binaries_path, '|'.join(paths_64[arch])))
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Fri Mar 14 02:58:04 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Fri, 14 Mar 2014 01:58:04 +0000
Subject: SF.net SVN: gar:[23210] csw/mgar/gar/v2/lib/web/pkgdb_web.py
Message-ID: <3flVRq4JR3z92@mail.opencsw.org>
Revision: 23210
http://sourceforge.net/p/gar/code/23210
Author: wahwah
Date: 2014-03-14 01:58:02 +0000 (Fri, 14 Mar 2014)
Log Message:
-----------
pkgdb-web: Catalog generation data as dicts
It turns out that returning lists of different values make it annoying to
deserialize in typed languages. Here's an endpoint returning the same data as
a list of dicts.
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-13 10:07:41 UTC (rev 23209)
+++ csw/mgar/gar/v2/lib/web/pkgdb_web.py 2014-03-14 01:58:02 UTC (rev 23210)
@@ -56,6 +56,8 @@
'PkgnamesAndPathsByBasename', # with ?basename=...
r'/rest/catalogs/([^/]+)/(sparc|i386)/(SunOS[^/]+)/pkgnames-and-paths-by-basedir',
'PkgnamesAndPathsByBasedir', # with ?basedir=...
+ r'/rest/catalogs/([^/]+)/(sparc|i386)/(SunOS[^/]+)/for-generation/as-dicts/',
+ 'CatalogForGenerationAsDicts',
r'/rest/catalogs/([^/]+)/(sparc|i386)/(SunOS[^/]+)/for-generation/',
'CatalogForGeneration',
r'/rest/catalogs/([^/]+)/(sparc|i386)/(SunOS[^/]+)/timing/',
@@ -658,6 +660,56 @@
return response
+def GetCatalogEntries(catrel_name, arch_name, osrel_name):
+ """Returns a list of CatalogEntry tuples."""
+ try:
+ sqo_osrel, sqo_arch, sqo_catrel = models.GetSqoTriad(
+ osrel_name, arch_name, catrel_name)
+ except sqlobject.main.SQLObjectNotFound:
+ raise web.notfound()
+ rows = list(models.GetCatalogGenerationResult(sqo_osrel, sqo_arch, sqo_catrel))
+ def FormatList(lst):
+ if lst:
+ return '|'.join(lst)
+ else:
+ return 'none'
+ def GenCatalogEntry(row):
+ i_deps = cjson.decode(row[7])
+ i_deps_str = FormatList(i_deps)
+ deps_with_desc = cjson.decode(row[6])
+ deps = [x[0] for x in deps_with_desc if x[0].startswith('CSW')]
+ deps_str = FormatList(deps)
+ entry = representations.CatalogEntry(
+ catalogname=row[0], # 0
+ version=row[1], # 1
+ pkgname=row[2], # 2
+ basename=row[3], # 3
+ md5_sum=row[4], # 4
+ size=str(row[5]), # 5
+ deps=deps_str, # 6
+ category="none", # 7
+ i_deps=i_deps_str, # 8
+ desc=row[8], # 9
+ )
+ return entry
+ entries_list = [GenCatalogEntry(row) for row in rows]
+ return entries_list
+
+
+class CatalogForGenerationAsDicts(object):
+
+ def GET(self, catrel_name, arch_name, osrel_name):
+ """A list of tuples, aligning with the catalog format.
+
+ catalogname version_string pkgname
+ basename md5_sum size deps category i_deps
+ """
+ entries_list = GetCatalogEntries(catrel_name, arch_name, osrel_name)
+ response = cjson.encode([x._asdict() for x in entries_list])
+ web.header('Content-Length', str(len(response)))
+ return response
+
+
class CatalogForGeneration(object):
def GET(self, catrel_name, arch_name, osrel_name):
@@ -666,37 +718,7 @@
catalogname version_string pkgname
basename md5_sum size deps category i_deps
"""
- try:
- sqo_osrel, sqo_arch, sqo_catrel = models.GetSqoTriad(
- osrel_name, arch_name, catrel_name)
- except sqlobject.main.SQLObjectNotFound:
- raise web.notfound()
- rows = list(models.GetCatalogGenerationResult(sqo_osrel, sqo_arch, sqo_catrel))
- def FormatList(lst):
- if lst:
- return '|'.join(lst)
- else:
- return 'none'
- def GenCatalogEntry(row):
- i_deps = cjson.decode(row[7])
- i_deps_str = FormatList(i_deps)
- deps_with_desc = cjson.decode(row[6])
- deps = [x[0] for x in deps_with_desc if x[0].startswith('CSW')]
- deps_str = FormatList(deps)
- entry = representations.CatalogEntry(
- catalogname=row[0], # 0
- version=row[1], # 1
- pkgname=row[2], # 2
- basename=row[3], # 3
- md5_sum=row[4], # 4
- size=str(row[5]), # 5
- deps=deps_str, # 6
- category="none", # 7
- i_deps=i_deps_str, # 8
- desc=row[8], # 9
- )
- return entry
- entries_list = [GenCatalogEntry(row) for row in rows]
+ entries_list = GetCatalogEntries(catrel_name, arch_name, osrel_name)
response = cjson.encode([tuple(x) for x in entries_list])
web.header('Content-Length', str(len(response)))
return response
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From cgrzemba at users.sourceforge.net Fri Mar 14 10:52:25 2014
From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net)
Date: Fri, 14 Mar 2014 09:52:25 +0000
Subject: SF.net SVN: gar:[23211] csw/mgar/pkg/389-ds-base/branches/vers1.3.2
Message-ID: <3flhz84Q6xztY@mail.opencsw.org>
Revision: 23211
http://sourceforge.net/p/gar/code/23211
Author: cgrzemba
Date: 2014-03-14 09:52:23 +0000 (Fri, 14 Mar 2014)
Log Message:
-----------
389-ds-base/branches/vers1.3.2: fix big endian problem, debbugging still enabled
Modified Paths:
--------------
csw/mgar/pkg/389-ds-base/branches/vers1.3.2/Makefile
Added Paths:
-----------
csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0017-disable-asm-for-Sparc.patch
csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0018-correct-64bit-ptr-bind.c
Modified: csw/mgar/pkg/389-ds-base/branches/vers1.3.2/Makefile
===================================================================
--- csw/mgar/pkg/389-ds-base/branches/vers1.3.2/Makefile 2014-03-14 01:58:02 UTC (rev 23210)
+++ csw/mgar/pkg/389-ds-base/branches/vers1.3.2/Makefile 2014-03-14 09:52:23 UTC (rev 23211)
@@ -24,7 +24,8 @@
LICENSE = LICENSE
-GARCOMPILER = GCC4
+GARCOMPILER = SOS12U3
+# GARCOMPILER = GCC4
PATCHFILES += 0005-add-standard-path.patch
PATCHFILES += 0006-replace-SV-sh-with-Posix-sh.patch
@@ -46,8 +47,12 @@
PATCHFILES += 0014-ldap-include-Makefile.am.patch
# needed at least on GCC4
PATCHFILES += 0015-use-PL_strcasestr-acllas.c.patch
-PATCHFILES += 0010-no-Crun-Cstd-lib-config.ac.patch
+PATCHFILES_GCC4 += 0010-no-Crun-Cstd-lib-config.ac.patch
PATCHFILES += 0016-fix-bigendian-utf8compare.c
+PATCHFILES += 0017-disable-asm-for-Sparc.patch
+# probably only with openLDAP
+PATCHFILES += 0018-correct-64bit-ptr-bind.c
+PATCHFILES += $(PATCHFILES_$(GARCOMPILER))
BUILD_DEP_PKGS += CSWautoconf
@@ -107,11 +112,14 @@
EXTRA_LIB = /opt/csw/bdb48/lib
-# remove -I/opt/csw/include
+# if use MozillaLDAP remove -I/opt/csw/include because there are OpenLDAP header
# CPPFLAGS =
-# EXTRA_CFLAGS = -xnorunpath
-# EXTRA_CXXFLAGS = -norunpath
-EXTRA_CPPFLAGS = -DSOLARIS_GCC
+EXTRA_CFLAGS_SOS12U3 = -xnorunpath
+EXTRA_CXXFLAGS_SOS12U3 = -norunpath
+EXTRA_CPPFLAGS_GCC4 = -DSOLARIS_GCC
+EXTRA_CPPFLAGS += $(EXTRA_CPPFLAGS_$(GARCOMPILER))
+EXTRA_CXXFLAGS += $(EXTRA_CXXFLAGS_$(GARCOMPILER))
+EXTRA_CFLAGS += $(EXTRA_CFLAGS_$(GARCOMPILER))
STRIP_LIBTOOL = 1
GARFLAVOR = DBG
Added: csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0017-disable-asm-for-Sparc.patch
===================================================================
--- csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0017-disable-asm-for-Sparc.patch (rev 0)
+++ csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0017-disable-asm-for-Sparc.patch 2014-03-14 09:52:23 UTC (rev 23211)
@@ -0,0 +1,10 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -583,7 +583,6 @@ dnl I dont know why i386 need this explicit
+ ;;
+ sparc-*-solaris*)
+ dnl includes some assembler stuff in counter.o
+- AC_DEFINE([ATOMIC_64BIT_OPERATIONS], [1], [enabling atomic counter])
+ AC_DEFINE([CPU_sparc], [], [cpu type sparc])
+ TARGET='SPARC'
+ ;;
Added: csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0018-correct-64bit-ptr-bind.c
===================================================================
--- csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0018-correct-64bit-ptr-bind.c (rev 0)
+++ csw/mgar/pkg/389-ds-base/branches/vers1.3.2/files/0018-correct-64bit-ptr-bind.c 2014-03-14 09:52:23 UTC (rev 23211)
@@ -0,0 +1,30 @@
+--- a/ldap/servers/slapd/bind.c
++++ b/ldap/servers/slapd/bind.c
+@@ -119,7 +119,8 @@ do_bind( Slapi_PBlock *pb )
+ {
+ BerElement *ber = pb->pb_op->o_ber;
+ int err, isroot;
+- ber_tag_t method = LBER_DEFAULT;
++ ber_tag_t ber_method = LBER_DEFAULT;
++ int method = 0;
+ ber_int_t version = -1;
+ int auth_response_requested = 0;
+ int pw_response_requested = 0;
+@@ -162,7 +163,7 @@ do_bind( Slapi_PBlock *pb )
+ * }
+ */
+
+- ber_rc = ber_scanf( ber, "{iat", &version, &rawdn, &method );
++ ber_rc = ber_scanf( ber, "{iat", &version, &rawdn, &ber_method );
+ if ( ber_rc == LBER_ERROR ) {
+ LDAPDebug( LDAP_DEBUG_ANY,
+ "ber_scanf failed (op=Bind; params=Version,DN,Method)\n",
+@@ -173,6 +174,8 @@ do_bind( Slapi_PBlock *pb )
+ slapi_ch_free_string(&rawdn);
+ return;
+ }
++ /* (int) = (long) */
++ method = (int)(ber_method & 0xffff);
+ /* Check if we should be performing strict validation. */
+ if (rawdn && config_get_dn_validate_strict()) {
+ /* check that the dn is formatted correctly */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From slowfranklin at users.sourceforge.net Fri Mar 14 11:04:46 2014
From: slowfranklin at users.sourceforge.net (slowfranklin at users.sourceforge.net)
Date: Fri, 14 Mar 2014 10:04:46 +0000
Subject: SF.net SVN: gar:[23212] csw/mgar/pkg/netatalk/trunk
Message-ID: <3fljFM71kBz10b@mail.opencsw.org>
Revision: 23212
http://sourceforge.net/p/gar/code/23212
Author: slowfranklin
Date: 2014-03-14 10:04:41 +0000 (Fri, 14 Mar 2014)
Log Message:
-----------
netatalk/trunk: Update to 3.1.1 and add MySQL CNID backend
Modified Paths:
--------------
csw/mgar/pkg/netatalk/trunk/Makefile
csw/mgar/pkg/netatalk/trunk/checksums
Modified: csw/mgar/pkg/netatalk/trunk/Makefile
===================================================================
--- csw/mgar/pkg/netatalk/trunk/Makefile 2014-03-14 09:52:23 UTC (rev 23211)
+++ csw/mgar/pkg/netatalk/trunk/Makefile 2014-03-14 10:04:41 UTC (rev 23212)
@@ -2,7 +2,7 @@
# TODO (release-critical prefixed with !, non release-critical with *)
#
NAME = netatalk
-VERSION = 3.1.0
+VERSION = 3.1.1
GARTYPE = v2
DESCRIPTION = Open Source AFP fileserver
@@ -31,6 +31,7 @@
BUILD_DEP_PKGS += CSWlibtracker-dev
BUILD_DEP_PKGS += CSWlibssl-dev
BUILD_DEP_PKGS += CSWopenldap-dev
+BUILD_DEP_PKGS += CSWmysql-dev
RUNTIME_DEP_PKGS += CSWlibgthread2-0-0
RUNTIME_DEP_PKGS += CSWlibgcrypt11
@@ -41,21 +42,21 @@
RUNTIME_DEP_PKGS += CSWlibdbus-glib1-2
RUNTIME_DEP_PKGS += CSWlibiconv2
RUNTIME_DEP_PKGS += CSWbdb48
-RUNTIME_DEP_PKGS += CSWlibgssapi-krb5-2
RUNTIME_DEP_PKGS += CSWlibtracker-sparql0-16-0
RUNTIME_DEP_PKGS += CSWlibtracker-miner0-16-0
RUNTIME_DEP_PKGS += CSWlibgio2-0-0
RUNTIME_DEP_PKGS += CSWlibgcc-s1
RUNTIME_DEP_PKGS += CSWlibldap2-4-2
RUNTIME_DEP_PKGS += CSWlibssl1-0-0
+RUNTIME_DEP_PKGS += CSWlibmysqlclient18
RUNTIME_DEP_PKGS_sparc_5.10 = CSWlibgmodule2-0-0 CSWlibintl8 CSWlibk5crypto3 CSWlibcom-err3 CSWlibgpg-error0
RUNTIME_DEP_PKGS += $(RUNTIME_DEP_PKGS_$(GARCH)_$(GAROSREL))
PATCHFILES += 0003-Disable-noinst-binary-fails-to-link-on-SPARC.patch
-# will be in 3.1.1
-PATCHFILES += uam.patch
+# Disable linker map forcing SUNW_1.22.2 as the linked MySQL needs SUNW_1.22.5
+LINKER_MAPS =
REINPLACEMENTS += manifest1
REINPLACE_MATCH_manifest1 = network/netatalk
@@ -81,8 +82,6 @@
CONFIGURE_ARGS += --with-tracker-prefix=/opt/csw
CONFIGURE_ARGS += --with-tracker-pkgconfig-version=0.16
CONFIGURE_ARGS += --with-ssl-dir=/opt/csw
-# disable until asprintf() compat func is available in 3.1.1
-CONFIGURE_ARGS += --with-mysql-config=no
CONFIGURE_ARGS += --with-ldap=/opt/csw
# Path to XML dtd
Modified: csw/mgar/pkg/netatalk/trunk/checksums
===================================================================
--- csw/mgar/pkg/netatalk/trunk/checksums 2014-03-14 09:52:23 UTC (rev 23211)
+++ csw/mgar/pkg/netatalk/trunk/checksums 2014-03-14 10:04:41 UTC (rev 23212)
@@ -1 +1 @@
-f3d5b17e4916fd4670439175ea99cc39 netatalk-3.1.0.tar.gz
+3a8e63a52d47c3d10d9ef1c4a7e22923 netatalk-3.1.1.tar.gz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Fri Mar 14 11:13:43 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Fri, 14 Mar 2014 10:13:43 +0000
Subject: SF.net SVN: gar:[23213] csw/mgar/pkg/krb5-lib/trunk/Makefile
Message-ID: <3fljRn3jTBz1Wb@mail.opencsw.org>
Revision: 23213
http://sourceforge.net/p/gar/code/23213
Author: dmichelsen
Date: 2014-03-14 10:13:41 +0000 (Fri, 14 Mar 2014)
Log Message:
-----------
krb5-lib/trunk: Move libkrad into krb5-lib again because of cyclic dependency
Modified Paths:
--------------
csw/mgar/pkg/krb5-lib/trunk/Makefile
Modified: csw/mgar/pkg/krb5-lib/trunk/Makefile
===================================================================
--- csw/mgar/pkg/krb5-lib/trunk/Makefile 2014-03-14 10:04:41 UTC (rev 23212)
+++ csw/mgar/pkg/krb5-lib/trunk/Makefile 2014-03-14 10:13:41 UTC (rev 23213)
@@ -118,7 +118,7 @@
RUNTIME_DEP_PKGS_CSWlibkrb5-3 += CSWlibintl8
RUNTIME_DEP_PKGS_CSWlibkrb5-3 += CSWlibgcc-s1
RUNTIME_DEP_PKGS_CSWlibkrb5-3 += CSWlibssl1-0-0
-RUNTIME_DEP_PKGS_CSWlibkrb5-3 += CSWlibkrad0
+#RUNTIME_DEP_PKGS_CSWlibkrb5-3 += CSWlibkrad0
# Linker anomaly dep
RUNTIME_DEP_PKGS_CSWlibkrb5-3 += CSWlibverto0
CHECKPKG_OVERRIDES_CSWlibkrb5-3 += surplus-dependency|CSWlibverto0
@@ -142,20 +142,20 @@
# Cyclic dependency CSWlibkrad0 -> CSWlibkrb5-3 -> CSWlibkrad0, disable for now.
OBSOLETED_BY_CSWlibkrb5-3 += CSWlibkrad0
#PACKAGES += CSWlibkrad0
-SPKG_DESC_CSWlibkrad0 = MIT Kerberos 5 support library
-PKGFILES_CSWlibkrad0 += $(call pkgfiles_lib,libkrad.so.0)
-RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibkrb5-3
-RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibgcc-s1
-RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibverto0
-RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibk5crypto3
+#SPKG_DESC_CSWlibkrad0 = MIT Kerberos 5 support library
+#PKGFILES_CSWlibkrad0 += $(call pkgfiles_lib,libkrad.so.0)
+#RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibkrb5-3
+#RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibgcc-s1
+#RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibverto0
+#RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibk5crypto3
# Linker anomaly deps
-RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibintl8
-RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibkrb5support0
-RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibcom-err3
-CHECKPKG_OVERRIDES_CSWlibkrad0 += surplus-dependency|CSWlibintl8
-CHECKPKG_OVERRIDES_CSWlibkrad0 += surplus-dependency|CSWlibkrb5support0
-CHECKPKG_OVERRIDES_CSWlibkrad0 += surplus-dependency|CSWlibcom-err3
+#RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibintl8
+#RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibkrb5support0
+#RUNTIME_DEP_PKGS_CSWlibkrad0 += CSWlibcom-err3
+#CHECKPKG_OVERRIDES_CSWlibkrad0 += surplus-dependency|CSWlibintl8
+#CHECKPKG_OVERRIDES_CSWlibkrad0 += surplus-dependency|CSWlibkrb5support0
+#CHECKPKG_OVERRIDES_CSWlibkrad0 += surplus-dependency|CSWlibcom-err3
LICENSE = doc/copyright.rst
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Fri Mar 14 11:17:25 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Fri, 14 Mar 2014 10:17:25 +0000
Subject: SF.net SVN: gar:[23214] csw/mgar/pkg/mutt/trunk
Message-ID: <3fljWy0Z0cz8F@mail.opencsw.org>
Revision: 23214
http://sourceforge.net/p/gar/code/23214
Author: dmichelsen
Date: 2014-03-14 10:17:22 +0000 (Fri, 14 Mar 2014)
Log Message:
-----------
mutt/trunk: Update to 1.5.23
Modified Paths:
--------------
csw/mgar/pkg/mutt/trunk/Makefile
csw/mgar/pkg/mutt/trunk/checksums
Modified: csw/mgar/pkg/mutt/trunk/Makefile
===================================================================
--- csw/mgar/pkg/mutt/trunk/Makefile 2014-03-14 10:13:41 UTC (rev 23213)
+++ csw/mgar/pkg/mutt/trunk/Makefile 2014-03-14 10:17:22 UTC (rev 23214)
@@ -1,5 +1,5 @@
NAME = mutt
-VERSION = 1.5.22
+VERSION = 1.5.23
GARTYPE = v2
EXTRA_MODULATORS = SLANG
@@ -14,14 +14,14 @@
selecting groups of messages.
endef
-VENDOR_URL = http://www.mutt.org
-MASTER_SITES = $(SF_MIRRORS)
-DISTFILES = $(NAME)-$(VERSION).tar.gz
-DISTFILES += CSWmutt.postmsg
+MASTER_SITES += ftp://ftp.mutt.org/mutt/
+DISTFILES += $(DISTNAME).tar.gz
+DISTFILES += CSWmutt.postmsg
UFILES_REGEX = $(NAME)-(\d+(?:\.\d+)*).tar.gz
POSTMSG = $(docdir)/mutt/CSWmutt.postmsg
+VENDOR_URL = http://www.mutt.org
LICENSE = COPYRIGHT
PACKAGES += CSWmutt
@@ -88,8 +88,6 @@
# http://dev.mutt.org/trac/ticket/3657
EXTRA_CPPFLAGS += -xc99=all
-sysconfdir = /etc/opt/csw
-
CONFIGURE_ARGS = $(DIRPATHS)
CONFIGURE_ARGS += --enable-pop
CONFIGURE_ARGS += --enable-imap
Modified: csw/mgar/pkg/mutt/trunk/checksums
===================================================================
--- csw/mgar/pkg/mutt/trunk/checksums 2014-03-14 10:13:41 UTC (rev 23213)
+++ csw/mgar/pkg/mutt/trunk/checksums 2014-03-14 10:17:22 UTC (rev 23214)
@@ -1 +1 @@
-48267aba1bc53db636777f4a1ec87cb6 mutt-1.5.22.tar.gz
+11f5b6a3eeba1afa1257fe93c9f26bff mutt-1.5.23.tar.gz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Fri Mar 14 12:10:25 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Fri, 14 Mar 2014 11:10:25 +0000
Subject: SF.net SVN: gar:[23215] csw/mgar/pkg/squid/trunk
Message-ID: <3flkjD1p26zJT@mail.opencsw.org>
Revision: 23215
http://sourceforge.net/p/gar/code/23215
Author: dmichelsen
Date: 2014-03-14 11:10:24 +0000 (Fri, 14 Mar 2014)
Log Message:
-----------
squid/trunk: Update to 3.4.4
Modified Paths:
--------------
csw/mgar/pkg/squid/trunk/Makefile
csw/mgar/pkg/squid/trunk/checksums
Removed Paths:
-------------
csw/mgar/pkg/squid/trunk/files/0000-Use-opt-csw-bin-bash-for-bootstrap.sh.patch
Property Changed:
----------------
csw/mgar/pkg/squid/trunk/
Index: csw/mgar/pkg/squid/trunk
===================================================================
--- csw/mgar/pkg/squid/trunk 2014-03-14 10:17:22 UTC (rev 23214)
+++ csw/mgar/pkg/squid/trunk 2014-03-14 11:10:24 UTC (rev 23215)
Property changes on: csw/mgar/pkg/squid/trunk
___________________________________________________________________
Modified: svn:ignore
## -1,3 +1 ##
-cookies
-download
work
Modified: csw/mgar/pkg/squid/trunk/Makefile
===================================================================
--- csw/mgar/pkg/squid/trunk/Makefile 2014-03-14 10:17:22 UTC (rev 23214)
+++ csw/mgar/pkg/squid/trunk/Makefile 2014-03-14 11:10:24 UTC (rev 23215)
@@ -2,11 +2,7 @@
# $Id$
#
NAME = squid
-VERSION = 3.1
-RELEASE = 20
-DISTVERSION = $(VERSION).$(RELEASE)
-DISTNAME = squid-$(DISTVERSION)
-RELVER = $(shell echo $(VERSION) |gsed 's/\(^[0-9]\).*\.[0-9]*/\1/')
+VERSION = 3.4.4
GARTYPE = v2
DESCRIPTION = High performance Web proxy cache
@@ -16,23 +12,35 @@
bandwith usage. Squid runs on all popular Unix and Windows platforms.
endef
+V1 = $(shell echo $(VERSION) | cut -d. -f1)
+V12 = $(shell echo $(VERSION) | cut -d. -f1,2)
+MASTER_SITES = http://www.squid-cache.org/Versions/v$(V1)/$(V12)/
+DISTFILES += $(DISTNAME).tar.bz2
+
PACKAGES = CSWsquid
-RUNTIME_DEP_PKGS += CSWliblber2-4-2
-RUNTIME_DEP_PKGS += CSWlibldap2-4-2
-RUNTIME_DEP_PKGS += CSWlibsasl2-2
-RUNTIME_DEP_PKGS += CSWlibltdl7
-RUNTIME_DEP_PKGS += CSWperl
-RUNTIME_DEP_PKGS += CSWlibgcc-s1
-RUNTIME_DEP_PKGS += CSWlibstdc++6
-RUNTIME_DEP_PKGS += CSWlibssl1-0-0
-RUNTIME_DEP_PKGS += CSWbdb48
+RUNTIME_DEP_PKGS_CSWsquid += CSWliblber2-4-2
+RUNTIME_DEP_PKGS_CSWsquid += CSWlibldap2-4-2
+RUNTIME_DEP_PKGS_CSWsquid += CSWlibsasl2-2
+RUNTIME_DEP_PKGS_CSWsquid += CSWlibltdl7
+RUNTIME_DEP_PKGS_CSWsquid += CSWperl
+RUNTIME_DEP_PKGS_CSWsquid += CSWlibgcc-s1
+RUNTIME_DEP_PKGS_CSWsquid += CSWlibstdc++6
+RUNTIME_DEP_PKGS_CSWsquid += CSWlibssl1-0-0
+RUNTIME_DEP_PKGS_CSWsquid += CSWbdb48
+RUNTIME_DEP_PKGS_CSWsquid += CSWlibintl8
+RUNTIME_DEP_PKGS_CSWsquid += CSWlibkrb5-3
+RUNTIME_DEP_PKGS_CSWsquid += CSWlibcom-err3
+# Linker anomaly
+CHECKPKG_OVERRIDES_CSWsquid += surplus-dependency|CSWlibintl8
+
PACKAGING_PLATFORMS = solaris10-sparc solaris10-i386
-INITSMF = /etc/opt/csw/init.d/csw$(NAME)
-PRESERVECONF = /etc/opt/csw/$(NAME)/cachemgr.conf
-PRESERVECONF = /etc/opt/csw/$(NAME)/squid.conf
-PRESERVECONF = /etc/opt/csw/$(NAME)/mime.conf
+INITSMF += /etc/opt/csw/init.d/csw$(NAME)
+PRESERVECONF += /etc/opt/csw/$(NAME)/cachemgr.conf
+PRESERVECONF += /etc/opt/csw/$(NAME)/squid.conf
+PRESERVECONF += /etc/opt/csw/$(NAME)/mime.conf
+PRESERVECONF += /etc/opt/csw/$(NAME)/msntauth.conf
MIGRATE_SOURCE_DIR = /opt/csw/etc
MIGRATE_DEST_DIR = /etc/opt/csw/$(NAME)
@@ -40,31 +48,26 @@
MIGRATE_FILES += mime.conf
MIGRATE_FILES += squid.conf
-MASTER_SITES = http://www.squid-cache.org/Versions/v$(RELVER)/$(VERSION)/
-DISTFILES = squid-$(DISTVERSION).tar.bz2
+##PATCHFILES += 0002-Link-against-OpenSSL-from-OpenCSW.patch
+##PATCHFILES += 0003-Check-for-ber_pvt_opt_on-instead-of-main-in-libber.patch
+#PATCHFILES += 0006-Replace-usr-local-squid-libexec-with-opt-csw-libexec.patch
+##PATCHFILES += 0006-Use-default-cache_dir.patch
+##PATCHFILES += 0006-Use-usr-xpg4-bin-egrep.patch
+#PATCHFILES += 0007-Use-OpenCSW-specific-paths-for-various-helper-tests.patch
+#
+## Use patch until this is fixed:
+## http://bugs.squid-cache.org/show_bug.cgi?id=3572
+#PATCHFILES += 0008-Rename-IpAddress-to-SquidIpAddress-to-make-mib2.h-ha.patch
-#PATCHFILES = 0000-Use-opt-csw-bin-bash-for-bootstrap.sh.patch
-#PATCHFILES += 0002-Link-against-OpenSSL-from-OpenCSW.patch
-#PATCHFILES += 0003-Check-for-ber_pvt_opt_on-instead-of-main-in-libber.patch
-PATCHFILES += 0006-Replace-usr-local-squid-libexec-with-opt-csw-libexec.patch
-#PATCHFILES += 0006-Use-default-cache_dir.patch
-#PATCHFILES += 0006-Use-usr-xpg4-bin-egrep.patch
-PATCHFILES += 0007-Use-OpenCSW-specific-paths-for-various-helper-tests.patch
-
-# Use patch until this is fixed:
-# http://bugs.squid-cache.org/show_bug.cgi?id=3572
-PATCHFILES += 0008-Rename-IpAddress-to-SquidIpAddress-to-make-mib2.h-ha.patch
-
-sysconfdir = /etc/$(prefix)/$(NAME)
-
CONFIGURE_ARGS = $(DIRPATHS)
-CONFIGURE_ARGS += --sysconfdir=${sysconfdir}
+CONFIGURE_ARGS += --sysconfdir=$(sysconfdir)/$(NAME)
CONFIGURE_ARGS += --datadir=$(datadir)/$(NAME)
CONFIGURE_ARGS += --docdir=$(datadir)/$(NAME)
CONFIGURE_ARGS += --localstatedir=/var/$(prefix)/$(NAME)
CONFIGURE_ARGS += --libexecdir=$(prefix)/libexec/$(NAME)
CONFIGURE_ARGS += --enable-arp-acl
-CONFIGURE_ARGS += --enable-auth=basic,ntlm,digest,negotiate
+#CONFIGURE_ARGS += --enable-auth=basic,ntlm,digest,negotiate
+CONFIGURE_ARGS += --enable-auth
CONFIGURE_ARGS += --enable-basic-auth-helpers=LDAP,SMB,YP,PAM,SASL,NCSA
CONFIGURE_ARGS += --enable-cache-digests
CONFIGURE_ARGS += --enable-carp
@@ -103,6 +106,17 @@
CONFIGURE_ARGS += --with-build-environment=$(BUILD_ENVIRONMENT-$(MEMORYMODEL))
+EXTRA_CPPFLAGS += -DDEFAULT_SQUID_CONF=\\\"$(sysconfdir)/$(NAME)/squid.conf\\\"
+
+# /opt/csw/bdb48/include/db_185.h needs slightly different type names than from sys/types.h
+EXTRA_CPPFLAGS += -Du_int32_t=uint32_t -Du_int16_t=uint16_t
+
+# Expose deprecated krb5 API as krb5_get_in_tkt_with_keytab is used in helpers/external_acl/kerberos_ldap_group/support_krb5.cc
+# Add #define until this is fixed:
+# http://bugs.squid-cache.org/show_bug.cgi?id=4025
+EXTRA_CPPFLAGS += -DKRB5_DEPRECATED=1
+CONFIGURE_ARGS += --disable-strict-error-checking
+
GARCOMPILER = GNU
EXTRA_LIB += $(prefix)/bdb48/lib
@@ -126,18 +140,15 @@
REINPLACE_USRLOCAL = $(mandir)/man8/squid_session.8
REINPLACE_WHEN_USRLOCAL = postinstall
-include gar/category.mk
+REINPLACEMENTS += conf
+REINPLACE_MATCH_conf = /usr/local/squid/etc/
+REINPLACE_WITH_conf = $(sysconfdir)/$(NAME)/
+REINPLACE_FILES_conf += helpers/basic_auth/MSNT/msntauth.conf.default
-SPKG_REVSTAMP := $(SPKG_REVSTAMP)_$(RELEASE)
+EXTRA_MERGE_EXCLUDE_FILES += .*/msntauth\.conf\.default
-post-extract-modulated:
- -echo "#!/bin/sh\nexit 0" > $(WORKSRC)/helpers/negotiate_auth/squid_kerb_auth/config.test
- -chmod 755 $(WORKSRC)/helpers/negotiate_auth/squid_kerb_auth/config.test
+include gar/category.mk
-#pre-configure-modulated:
-# cd $(WORKSRC) && $(BUILD_ENV) ./bootstrap.sh
-# @$(MAKECOOKIE)
-
post-install-modulated:
ginstall -d $(DESTDIR)/etc/opt/csw/init.d
ginstall -d $(DESTDIR)/var/opt/csw/$(NAME)/logs
Modified: csw/mgar/pkg/squid/trunk/checksums
===================================================================
--- csw/mgar/pkg/squid/trunk/checksums 2014-03-14 10:17:22 UTC (rev 23214)
+++ csw/mgar/pkg/squid/trunk/checksums 2014-03-14 11:10:24 UTC (rev 23215)
@@ -1 +1 @@
-c4d733a383c0508fd0746d64a2d7278a squid-3.1.20.tar.bz2
+f9c7dd495e45042cc162d89cfbb97cc0 squid-3.4.4.tar.bz2
Deleted: csw/mgar/pkg/squid/trunk/files/0000-Use-opt-csw-bin-bash-for-bootstrap.sh.patch
===================================================================
--- csw/mgar/pkg/squid/trunk/files/0000-Use-opt-csw-bin-bash-for-bootstrap.sh.patch 2014-03-14 10:17:22 UTC (rev 23214)
+++ csw/mgar/pkg/squid/trunk/files/0000-Use-opt-csw-bin-bash-for-bootstrap.sh.patch 2014-03-14 11:10:24 UTC (rev 23215)
@@ -1,22 +0,0 @@
-From 9577cd3a6ec5cf5075419ebc99425236d2a61d3e Mon Sep 17 00:00:00 2001
-From: builder user
-Date: Mon, 19 Sep 2011 15:53:13 +0200
-Subject: [PATCH 0/1] Use /opt/csw/bin/bash for bootstrap.sh
-
----
- bootstrap.sh | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/bootstrap.sh b/bootstrap.sh
-index b41b147..e079783 100755
---- a/bootstrap.sh
-+++ b/bootstrap.sh
-@@ -1,4 +1,4 @@
--#!/bin/sh
-+#!/opt/csw/bin/bash
- # Used to setup the configure.ac, autoheader and Makefile.in's if configure
- # has not been generated. This script is only needed for developers when
- # configure has not been run, or if a Makefile.am in a non-configured directory
---
-1.7.6
-
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Fri Mar 14 13:43:44 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Fri, 14 Mar 2014 12:43:44 +0000
Subject: SF.net SVN: gar:[23216] csw/mgar/pkg/krb5-lib/trunk/Makefile
Message-ID: <3flmmn0rtPzVW@mail.opencsw.org>
Revision: 23216
http://sourceforge.net/p/gar/code/23216
Author: dmichelsen
Date: 2014-03-14 12:43:41 +0000 (Fri, 14 Mar 2014)
Log Message:
-----------
krb5-lib/trunk: Strip out one more linker flag not compatible with Sun Studio
Modified Paths:
--------------
csw/mgar/pkg/krb5-lib/trunk/Makefile
Modified: csw/mgar/pkg/krb5-lib/trunk/Makefile
===================================================================
--- csw/mgar/pkg/krb5-lib/trunk/Makefile 2014-03-14 11:10:24 UTC (rev 23215)
+++ csw/mgar/pkg/krb5-lib/trunk/Makefile 2014-03-14 12:43:41 UTC (rev 23216)
@@ -201,6 +201,7 @@
# Remove Studio-specific arch references
gsed -i \
-e '/^[^#]/s/-xO[0-5][^ ]* *//g' \
+ -e '/^[^#]/s/-Wa,[^ ]* *//g' \
-e '/^[^#]/s/-xarch=[^ ]* *//g' \
-e '/^[^#]/s/-xchip=[^ ]* *//g' \
-e '/^[^#]/s/-norunpath[^ ]* *//g' \
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From lblume at users.sourceforge.net Fri Mar 14 15:06:55 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Fri, 14 Mar 2014 14:06:55 +0000
Subject: SF.net SVN: gar:[23217] csw/mgar/pkg/samba/branches/samba3
Message-ID: <3flpf94X6ZzgC@mail.opencsw.org>
Revision: 23217
http://sourceforge.net/p/gar/code/23217
Author: lblume
Date: 2014-03-14 14:06:54 +0000 (Fri, 14 Mar 2014)
Log Message:
-----------
samba/branches/samba3: Bump to 3.6.23
Modified Paths:
--------------
csw/mgar/pkg/samba/branches/samba3/Makefile
csw/mgar/pkg/samba/branches/samba3/checksums
Modified: csw/mgar/pkg/samba/branches/samba3/Makefile
===================================================================
--- csw/mgar/pkg/samba/branches/samba3/Makefile 2014-03-14 12:43:41 UTC (rev 23216)
+++ csw/mgar/pkg/samba/branches/samba3/Makefile 2014-03-14 14:06:54 UTC (rev 23217)
@@ -2,7 +2,7 @@
# - Check http://src.opensolaris.org/source/xref/userland/src/components/samba/samba/ from time to time
NAME = samba
-VERSION = 3.6.22
+VERSION = 3.6.23
GARTYPE = v2
DESCRIPTION = Tools to access a servers filespace and printers via SMB (server)
Modified: csw/mgar/pkg/samba/branches/samba3/checksums
===================================================================
--- csw/mgar/pkg/samba/branches/samba3/checksums 2014-03-14 12:43:41 UTC (rev 23216)
+++ csw/mgar/pkg/samba/branches/samba3/checksums 2014-03-14 14:06:54 UTC (rev 23217)
@@ -1 +1 @@
-59add4bb178ebc188d857bc13a508c0b samba-3.6.22.tar.gz
+2f7aee1dc5d31aefcb364600915b31dc samba-3.6.23.tar.gz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From slowfranklin at users.sourceforge.net Fri Mar 14 16:49:15 2014
From: slowfranklin at users.sourceforge.net (slowfranklin at users.sourceforge.net)
Date: Fri, 14 Mar 2014 15:49:15 +0000
Subject: SF.net SVN: gar:[23218] csw/mgar/pkg/netatalk/trunk/Makefile
Message-ID: <3flrts3mhJz19t@mail.opencsw.org>
Revision: 23218
http://sourceforge.net/p/gar/code/23218
Author: slowfranklin
Date: 2014-03-14 15:49:15 +0000 (Fri, 14 Mar 2014)
Log Message:
-----------
netatalk/trunk: User linker map solaris10u8
Modified Paths:
--------------
csw/mgar/pkg/netatalk/trunk/Makefile
Modified: csw/mgar/pkg/netatalk/trunk/Makefile
===================================================================
--- csw/mgar/pkg/netatalk/trunk/Makefile 2014-03-14 14:06:54 UTC (rev 23217)
+++ csw/mgar/pkg/netatalk/trunk/Makefile 2014-03-14 15:49:15 UTC (rev 23218)
@@ -21,6 +21,8 @@
# Solaris 11 for Zeroconf support
PACKAGING_PLATFORMS += solaris11-sparc solaris11-i386
+LINKER_MAP_RELEASE = solaris10u8
+
BUILD_DEP_PKGS += CSWlibgcrypt-dev
BUILD_DEP_PKGS += CSWbdb48devel
BUILD_DEP_PKGS += CSWlibiconv-dev
@@ -49,15 +51,13 @@
RUNTIME_DEP_PKGS += CSWlibldap2-4-2
RUNTIME_DEP_PKGS += CSWlibssl1-0-0
RUNTIME_DEP_PKGS += CSWlibmysqlclient18
+RUNTIME_DEP_PKGS_sparc += CSWlibz1
RUNTIME_DEP_PKGS_sparc_5.10 = CSWlibgmodule2-0-0 CSWlibintl8 CSWlibk5crypto3 CSWlibcom-err3 CSWlibgpg-error0
-RUNTIME_DEP_PKGS += $(RUNTIME_DEP_PKGS_$(GARCH)_$(GAROSREL))
+RUNTIME_DEP_PKGS += $(RUNTIME_DEP_PKGS_$(GARCH)_$(GAROSREL)) $(RUNTIME_DEP_PKGS_$(GARCH))
PATCHFILES += 0003-Disable-noinst-binary-fails-to-link-on-SPARC.patch
-# Disable linker map forcing SUNW_1.22.2 as the linked MySQL needs SUNW_1.22.5
-LINKER_MAPS =
-
REINPLACEMENTS += manifest1
REINPLACE_MATCH_manifest1 = network/netatalk
REINPLACE_WITH_manifest1 = network/cswnetatalk
@@ -90,6 +90,7 @@
CHECKPKG_OVERRIDES_CSWnetatalk += bad-rpath-entry|/opt/csw|opt/csw/lib/netatalk/uams_dhx_pam.so
CHECKPKG_OVERRIDES_CSWnetatalk += bad-rpath-entry|/opt/csw|opt/csw/lib/netatalk/uams_dhx_passwd.so
CHECKPKG_OVERRIDES_CSWnetatalk += bad-rpath-entry|/opt/csw|opt/csw/lib/netatalk/uams_randnum.so
+# CHECKPKG_OVERRIDES_CSWnetatalk += $(CHECKPKG_OVERRIDES_CSWnetatalk_$(GARCH))
include gar/category.mk
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From slowfranklin at users.sourceforge.net Fri Mar 14 17:44:09 2014
From: slowfranklin at users.sourceforge.net (slowfranklin at users.sourceforge.net)
Date: Fri, 14 Mar 2014 16:44:09 +0000
Subject: SF.net SVN: gar:[23219] csw/mgar/pkg/netatalk/trunk/Makefile
Message-ID: <3flt6B379Vz1KJ@mail.opencsw.org>
Revision: 23219
http://sourceforge.net/p/gar/code/23219
Author: slowfranklin
Date: 2014-03-14 16:44:08 +0000 (Fri, 14 Mar 2014)
Log Message:
-----------
netatalk/trunk: Disable MySQL CNID backend, packagin is a pita
Modified Paths:
--------------
csw/mgar/pkg/netatalk/trunk/Makefile
Modified: csw/mgar/pkg/netatalk/trunk/Makefile
===================================================================
--- csw/mgar/pkg/netatalk/trunk/Makefile 2014-03-14 15:49:15 UTC (rev 23218)
+++ csw/mgar/pkg/netatalk/trunk/Makefile 2014-03-14 16:44:08 UTC (rev 23219)
@@ -21,8 +21,6 @@
# Solaris 11 for Zeroconf support
PACKAGING_PLATFORMS += solaris11-sparc solaris11-i386
-LINKER_MAP_RELEASE = solaris10u8
-
BUILD_DEP_PKGS += CSWlibgcrypt-dev
BUILD_DEP_PKGS += CSWbdb48devel
BUILD_DEP_PKGS += CSWlibiconv-dev
@@ -33,7 +31,6 @@
BUILD_DEP_PKGS += CSWlibtracker-dev
BUILD_DEP_PKGS += CSWlibssl-dev
BUILD_DEP_PKGS += CSWopenldap-dev
-BUILD_DEP_PKGS += CSWmysql-dev
RUNTIME_DEP_PKGS += CSWlibgthread2-0-0
RUNTIME_DEP_PKGS += CSWlibgcrypt11
@@ -50,7 +47,6 @@
RUNTIME_DEP_PKGS += CSWlibgcc-s1
RUNTIME_DEP_PKGS += CSWlibldap2-4-2
RUNTIME_DEP_PKGS += CSWlibssl1-0-0
-RUNTIME_DEP_PKGS += CSWlibmysqlclient18
RUNTIME_DEP_PKGS_sparc += CSWlibz1
RUNTIME_DEP_PKGS_sparc_5.10 = CSWlibgmodule2-0-0 CSWlibintl8 CSWlibk5crypto3 CSWlibcom-err3 CSWlibgpg-error0
@@ -83,6 +79,8 @@
CONFIGURE_ARGS += --with-tracker-pkgconfig-version=0.16
CONFIGURE_ARGS += --with-ssl-dir=/opt/csw
CONFIGURE_ARGS += --with-ldap=/opt/csw
+# compiling with MySQL on opencsw is a major pita atm :)
+CONFIGURE_ARGS += --with-mysql-config=no
# Path to XML dtd
CHECKPKG_OVERRIDES_CSWnetatalk += file-with-bad-content|/usr/share|root/var/opt/csw/svc/manifest/network/cswnetatalk.xml
@@ -90,7 +88,6 @@
CHECKPKG_OVERRIDES_CSWnetatalk += bad-rpath-entry|/opt/csw|opt/csw/lib/netatalk/uams_dhx_pam.so
CHECKPKG_OVERRIDES_CSWnetatalk += bad-rpath-entry|/opt/csw|opt/csw/lib/netatalk/uams_dhx_passwd.so
CHECKPKG_OVERRIDES_CSWnetatalk += bad-rpath-entry|/opt/csw|opt/csw/lib/netatalk/uams_randnum.so
-# CHECKPKG_OVERRIDES_CSWnetatalk += $(CHECKPKG_OVERRIDES_CSWnetatalk_$(GARCH))
include gar/category.mk
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From slowfranklin at users.sourceforge.net Fri Mar 14 18:34:08 2014
From: slowfranklin at users.sourceforge.net (slowfranklin at users.sourceforge.net)
Date: Fri, 14 Mar 2014 17:34:08 +0000
Subject: SF.net SVN: gar:[23220] csw/mgar/pkg/netatalk/trunk
Message-ID: <3flvCv2Sk9z1Rr@mail.opencsw.org>
Revision: 23220
http://sourceforge.net/p/gar/code/23220
Author: slowfranklin
Date: 2014-03-14 17:34:07 +0000 (Fri, 14 Mar 2014)
Log Message:
-----------
netatalk/trunk: Add patch for gsettings
Modified Paths:
--------------
csw/mgar/pkg/netatalk/trunk/Makefile
Added Paths:
-----------
csw/mgar/pkg/netatalk/trunk/files/0004-Ensure-gsettings-is-called-from-opt-csw-bin.patch
Modified: csw/mgar/pkg/netatalk/trunk/Makefile
===================================================================
--- csw/mgar/pkg/netatalk/trunk/Makefile 2014-03-14 16:44:08 UTC (rev 23219)
+++ csw/mgar/pkg/netatalk/trunk/Makefile 2014-03-14 17:34:07 UTC (rev 23220)
@@ -53,6 +53,7 @@
RUNTIME_DEP_PKGS += $(RUNTIME_DEP_PKGS_$(GARCH)_$(GAROSREL)) $(RUNTIME_DEP_PKGS_$(GARCH))
PATCHFILES += 0003-Disable-noinst-binary-fails-to-link-on-SPARC.patch
+PATCHFILES += 0004-Ensure-gsettings-is-called-from-opt-csw-bin.patch
REINPLACEMENTS += manifest1
REINPLACE_MATCH_manifest1 = network/netatalk
Added: csw/mgar/pkg/netatalk/trunk/files/0004-Ensure-gsettings-is-called-from-opt-csw-bin.patch
===================================================================
--- csw/mgar/pkg/netatalk/trunk/files/0004-Ensure-gsettings-is-called-from-opt-csw-bin.patch (rev 0)
+++ csw/mgar/pkg/netatalk/trunk/files/0004-Ensure-gsettings-is-called-from-opt-csw-bin.patch 2014-03-14 17:34:07 UTC (rev 23220)
@@ -0,0 +1,32 @@
+From d2d5c9ae7dd66ac2e26fcb5d9ce8b430f645ef25 Mon Sep 17 00:00:00 2001
+From: Ralph Boehme
+Date: Fri, 14 Mar 2014 18:16:21 +0100
+Subject: [PATCH] Ensure gsettings is called from /opt/csw/bin
+
+---
+ etc/netatalk/netatalk.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/etc/netatalk/netatalk.c b/etc/netatalk/netatalk.c
+index 4a20d7b..4cdc466 100644
+--- a/etc/netatalk/netatalk.c
++++ b/etc/netatalk/netatalk.c
+@@ -85,13 +85,13 @@ static int set_sl_volumes(void)
+ }
+
+ volnamelist = bjoin(vollist, sep);
+- cmd = bformat("gsettings set org.freedesktop.Tracker.Miner.Files index-recursive-directories \"[%s]\"",
++ cmd = bformat(TRACKER_PREFIX "/bin/gsettings set org.freedesktop.Tracker.Miner.Files index-recursive-directories \"[%s]\"",
+ bdata(volnamelist) ? bdata(volnamelist) : "");
+ LOG(log_debug, logtype_sl, "set_sl_volumes: %s", bdata(cmd));
+ system(bdata(cmd));
+
+ /* Disable default root user home indexing */
+- system("gsettings set org.freedesktop.Tracker.Miner.Files index-single-directories \"[]\"");
++ system(TRACKER_PREFIX "/bin/gsettings set org.freedesktop.Tracker.Miner.Files index-single-directories \"[]\"");
+
+ EC_CLEANUP:
+ if (cmd)
+--
+1.8.4.1
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From slowfranklin at users.sourceforge.net Fri Mar 14 19:28:30 2014
From: slowfranklin at users.sourceforge.net (slowfranklin at users.sourceforge.net)
Date: Fri, 14 Mar 2014 18:28:30 +0000
Subject: SF.net SVN: gar:[23221] csw/mgar/pkg/netatalk/trunk/Makefile
Message-ID: <3flwQb07V6z1Y6@mail.opencsw.org>
Revision: 23221
http://sourceforge.net/p/gar/code/23221
Author: slowfranklin
Date: 2014-03-14 18:28:30 +0000 (Fri, 14 Mar 2014)
Log Message:
-----------
netatalk/trunk: Remove libz dep
Modified Paths:
--------------
csw/mgar/pkg/netatalk/trunk/Makefile
Modified: csw/mgar/pkg/netatalk/trunk/Makefile
===================================================================
--- csw/mgar/pkg/netatalk/trunk/Makefile 2014-03-14 17:34:07 UTC (rev 23220)
+++ csw/mgar/pkg/netatalk/trunk/Makefile 2014-03-14 18:28:30 UTC (rev 23221)
@@ -47,7 +47,6 @@
RUNTIME_DEP_PKGS += CSWlibgcc-s1
RUNTIME_DEP_PKGS += CSWlibldap2-4-2
RUNTIME_DEP_PKGS += CSWlibssl1-0-0
-RUNTIME_DEP_PKGS_sparc += CSWlibz1
RUNTIME_DEP_PKGS_sparc_5.10 = CSWlibgmodule2-0-0 CSWlibintl8 CSWlibk5crypto3 CSWlibcom-err3 CSWlibgpg-error0
RUNTIME_DEP_PKGS += $(RUNTIME_DEP_PKGS_$(GARCH)_$(GAROSREL)) $(RUNTIME_DEP_PKGS_$(GARCH))
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From pfelecan at users.sourceforge.net Sat Mar 15 09:19:55 2014
From: pfelecan at users.sourceforge.net (pfelecan at users.sourceforge.net)
Date: Sat, 15 Mar 2014 08:19:55 +0000
Subject: SF.net SVN: gar:[23222] csw/mgar/pkg/guile/trunk/Makefile
Message-ID: <3fmGsx4GYDzb2@mail.opencsw.org>
Revision: 23222
http://sourceforge.net/p/gar/code/23222
Author: pfelecan
Date: 2014-03-15 08:19:52 +0000 (Sat, 15 Mar 2014)
Log Message:
-----------
guile/trunk: removed dependencies
Modified Paths:
--------------
csw/mgar/pkg/guile/trunk/Makefile
Modified: csw/mgar/pkg/guile/trunk/Makefile
===================================================================
--- csw/mgar/pkg/guile/trunk/Makefile 2014-03-14 18:28:30 UTC (rev 23221)
+++ csw/mgar/pkg/guile/trunk/Makefile 2014-03-15 08:19:52 UTC (rev 23222)
@@ -47,7 +47,6 @@
CATALOGNAME_CSWguile = guile
SPKG_DESC_CSWguile += $(DESCRIPTION)
RUNTIME_DEP_PKGS_CSWguile += CSWlibguile2-0-22
-RUNTIME_DEP_PKGS_CSWguile += CSWlibintl8
PACKAGES += CSWlibguile2-0-22
CATALOGNAME_CSWlibguile2-0-22 = libguile2_0_22
@@ -85,11 +84,6 @@
RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibreadline6
RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibguile2-0-22
RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibunistring0
-RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibltdl7
-RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibffi5
-RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibncurses5
-RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibgmp10
-RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibgc1
RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibgcc-s1
# old library provided for those dependencies which didn't change to 2.x
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Sat Mar 15 14:09:30 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Sat, 15 Mar 2014 13:09:30 +0000
Subject: SF.net SVN: gar:[23223] csw/mgar/pkg/sudo/trunk
Message-ID: <3fmPJ91YpTz16s@mail.opencsw.org>
Revision: 23223
http://sourceforge.net/p/gar/code/23223
Author: dmichelsen
Date: 2014-03-15 13:09:30 +0000 (Sat, 15 Mar 2014)
Log Message:
-----------
sudo/trunk: Update to 1.8.10p1
Modified Paths:
--------------
csw/mgar/pkg/sudo/trunk/Makefile
csw/mgar/pkg/sudo/trunk/checksums
Modified: csw/mgar/pkg/sudo/trunk/Makefile
===================================================================
--- csw/mgar/pkg/sudo/trunk/Makefile 2014-03-15 08:19:52 UTC (rev 23222)
+++ csw/mgar/pkg/sudo/trunk/Makefile 2014-03-15 13:09:30 UTC (rev 23223)
@@ -2,7 +2,7 @@
#
NAME = sudo
-VERSION = 1.8.10
+VERSION = 1.8.10p1
GARTYPE = v2
EXTRA_MODULATORS = LDAP
Modified: csw/mgar/pkg/sudo/trunk/checksums
===================================================================
--- csw/mgar/pkg/sudo/trunk/checksums 2014-03-15 08:19:52 UTC (rev 23222)
+++ csw/mgar/pkg/sudo/trunk/checksums 2014-03-15 13:09:30 UTC (rev 23223)
@@ -1 +1 @@
-954d64906c3f6e2436f33445a049c58b sudo-1.8.10.tar.gz
+1d9c2bc5aaf02608343d17b9a666e8e1 sudo-1.8.10p1.tar.gz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Sat Mar 15 21:25:07 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Sat, 15 Mar 2014 20:25:07 +0000
Subject: SF.net SVN: gar:[23224] csw/mgar/pkg/bash/trunk
Message-ID: <3fmZyn54t3z3y@mail.opencsw.org>
Revision: 23224
http://sourceforge.net/p/gar/code/23224
Author: chninkel
Date: 2014-03-15 20:25:05 +0000 (Sat, 15 Mar 2014)
Log Message:
-----------
bash/trunk: updated to version 4.3
Modified Paths:
--------------
csw/mgar/pkg/bash/trunk/Makefile
csw/mgar/pkg/bash/trunk/checksums
csw/mgar/pkg/bash/trunk/files/changelog.CSW
Modified: csw/mgar/pkg/bash/trunk/Makefile
===================================================================
--- csw/mgar/pkg/bash/trunk/Makefile 2014-03-15 13:09:30 UTC (rev 23223)
+++ csw/mgar/pkg/bash/trunk/Makefile 2014-03-15 20:25:05 UTC (rev 23224)
@@ -13,7 +13,7 @@
###### Package information #######
NAME = bash
-VERSION = 4.2.45
+VERSION = 4.3.0
GARTYPE = v2
DESCRIPTION = A sh-compatible command language interpreter
Modified: csw/mgar/pkg/bash/trunk/checksums
===================================================================
--- csw/mgar/pkg/bash/trunk/checksums 2014-03-15 13:09:30 UTC (rev 23223)
+++ csw/mgar/pkg/bash/trunk/checksums 2014-03-15 20:25:05 UTC (rev 23224)
@@ -1,46 +1 @@
-3fb927c7c33022f1c327f14a81c0d4b0 bash-4.2.tar.gz
-1100bc1dda2cdc06ac44d7e5d17864a3 bash42-001
-30e7948079921d3261efcc6a40722135 bash42-002
-9ea06decec43a198f3d7cf29acc602f8 bash42-003
-fb48f6134d7b013135929476aa0c250c bash42-004
-e70e45de33426b38153b390be0dbbcd4 bash42-005
-ce4e5c484993705b27daa151eca242c2 bash42-006
-88d1f96db29461767602e2546803bda7 bash42-007
-24c574bf6d6a581e300823d9c1276af6 bash42-008
-4c5835f2fbab36c4292bb334977e5b6d bash42-009
-0a51602b535ef661ee707be6c8bdb373 bash42-010
-58deacf3d57cbd75575444ff6a3b0806 bash42-011
-72d5059820015231483bb7415d09e9db bash42-012
-608336ebe215984ef126e3c29d2d3409 bash42-013
-ed19da878e3f630834c62b9d9dcc6fce bash42-014
-2d07daba0b8ca8f876d2aa052ff594b4 bash42-015
-53d246537e1fffd1aaa02ba5c056211c bash42-016
-304fd129a58fee2d8a34f8b4704db0aa bash42-017
-6921a0b4228fe89b6537a5c29f027c89 bash42-018
-1195d85447f3d048d2c9bcd075fa765c bash42-019
-b09000bba08da6ac753124593850cdf7 bash42-020
-09d3f96a16b881334cfaee0cf320b47e bash42-021
-597bf71a2aac6feb510b7505cdd3d4f7 bash42-022
-3fab459b4e09daea529cacad025b13b3 bash42-023
-4ad8d11e72afc6090e701073ff034cf4 bash42-024
-c7d2493e44490f01dd20bdc8feb0a6a7 bash42-025
-9f19c199dd8d1fa9254eebe738759272 bash42-026
-a6ed82daf034587aee2f2581ba5fe829 bash42-027
-da9265aa2527fd4a7481baa3e0550287 bash42-028
-ec444d229e8899fbaaf6fc7de2d82ae6 bash42-029
-b4bc1c4dc1b508ff9cdfc44f1a5039b5 bash42-030
-89390ff6a3c2ef7e09dd4b8b097a8e56 bash42-031
-eee08003395c417f677d1a4bf8c548ee bash42-032
-2fe070dd6d75d8ff16f269184a16e9c4 bash42-033
-4e610506c1711bf3483b965800ac3d5d bash42-034
-7cd9bfdf7cbfd45274d07620ee94c8d9 bash42-035
-9c3142956064d175a880bcb186e51ef9 bash42-036
-c10692f447d4966c879f8fb8d7c8ebc9 bash42-037
-9ef3c308cde413e95866c1266cfb4e98 bash42-038
-cd48f57a404498d4e5c73a3501c4b1a5 bash42-039
-00a2371b6c05acbfce6bc850c6d982f8 bash42-040
-7bc4942a66ca4024ee964db7ede07896 bash42-041
-1cf7701017ebfc8e129de92c8f8b798c bash42-042
-9e61168fca692d8d1a733c389a63712e bash42-043
-b4b11d64b45ea9ec50dcc74c6c3861f6 bash42-044
-1661bcc83c4715f54368877452ff2247 bash42-045
+81348932d5da294953e15d4814c74dd1 bash-4.3.tar.gz
Modified: csw/mgar/pkg/bash/trunk/files/changelog.CSW
===================================================================
--- csw/mgar/pkg/bash/trunk/files/changelog.CSW 2014-03-15 13:09:30 UTC (rev 23223)
+++ csw/mgar/pkg/bash/trunk/files/changelog.CSW 2014-03-15 20:25:05 UTC (rev 23224)
@@ -1,3 +1,9 @@
+bash (4.2.45,REV=2014.03.15) unstable
+
+ * New upstream release.
+
+ -- Yann Rouillard Sat, 15 Mar 2014 21:12:08 +0100
+
bash (4.2.45,REV=2013.08.29) unstable
* Added the bash.info file in the package (Closes: #5103).
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Sat Mar 15 21:54:13 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Sat, 15 Mar 2014 20:54:13 +0000
Subject: SF.net SVN: gar:[23225] csw/mgar/pkg/bash/trunk/files/changelog.CSW
Message-ID: <3fmbcH1yn5z7y@mail.opencsw.org>
Revision: 23225
http://sourceforge.net/p/gar/code/23225
Author: chninkel
Date: 2014-03-15 20:54:13 +0000 (Sat, 15 Mar 2014)
Log Message:
-----------
bash/trunk: fix version in changelog
Modified Paths:
--------------
csw/mgar/pkg/bash/trunk/files/changelog.CSW
Modified: csw/mgar/pkg/bash/trunk/files/changelog.CSW
===================================================================
--- csw/mgar/pkg/bash/trunk/files/changelog.CSW 2014-03-15 20:25:05 UTC (rev 23224)
+++ csw/mgar/pkg/bash/trunk/files/changelog.CSW 2014-03-15 20:54:13 UTC (rev 23225)
@@ -1,4 +1,4 @@
-bash (4.2.45,REV=2014.03.15) unstable
+bash (4.3.0,REV=2014.03.15) unstable
* New upstream release.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From pfelecan at users.sourceforge.net Sun Mar 16 09:53:58 2014
From: pfelecan at users.sourceforge.net (pfelecan at users.sourceforge.net)
Date: Sun, 16 Mar 2014 08:53:58 +0000
Subject: SF.net SVN: gar:[23226] csw/mgar/pkg/guile/trunk/Makefile
Message-ID: <3fmvZm3xXCzhy@mail.opencsw.org>
Revision: 23226
http://sourceforge.net/p/gar/code/23226
Author: pfelecan
Date: 2014-03-16 08:53:56 +0000 (Sun, 16 Mar 2014)
Log Message:
-----------
guile/trunk: dependencies flip-flop, missing resolution
Modified Paths:
--------------
csw/mgar/pkg/guile/trunk/Makefile
Modified: csw/mgar/pkg/guile/trunk/Makefile
===================================================================
--- csw/mgar/pkg/guile/trunk/Makefile 2014-03-15 20:54:13 UTC (rev 23225)
+++ csw/mgar/pkg/guile/trunk/Makefile 2014-03-16 08:53:56 UTC (rev 23226)
@@ -47,6 +47,7 @@
CATALOGNAME_CSWguile = guile
SPKG_DESC_CSWguile += $(DESCRIPTION)
RUNTIME_DEP_PKGS_CSWguile += CSWlibguile2-0-22
+RUNTIME_DEP_PKGS_CSWguile += CSWlibintl8
PACKAGES += CSWlibguile2-0-22
CATALOGNAME_CSWlibguile2-0-22 = libguile2_0_22
@@ -85,6 +86,11 @@
RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibguile2-0-22
RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibunistring0
RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibgcc-s1
+RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibltdl7
+RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibffi5
+RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibncurses5
+RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibgmp10
+RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibgc1
# old library provided for those dependencies which didn't change to 2.x
PACKAGES += CSWlibguile-ltdl1
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From guengel at users.sourceforge.net Sun Mar 16 10:05:09 2014
From: guengel at users.sourceforge.net (guengel at users.sourceforge.net)
Date: Sun, 16 Mar 2014 09:05:09 +0000
Subject: SF.net SVN: gar:[23227] csw/mgar/pkg/ansible/trunk
Message-ID: <3fmvqk0xTLzmQ@mail.opencsw.org>
Revision: 23227
http://sourceforge.net/p/gar/code/23227
Author: guengel
Date: 2014-03-16 09:05:01 +0000 (Sun, 16 Mar 2014)
Log Message:
-----------
Updated to release 1.5.3.
Modified Paths:
--------------
csw/mgar/pkg/ansible/trunk/Makefile
csw/mgar/pkg/ansible/trunk/checksums
csw/mgar/pkg/ansible/trunk/files/0003-Extended-sbin_paths-by-opt-csw-sbin.patch
Added Paths:
-----------
csw/mgar/pkg/ansible/trunk/files/0003-Add-etc-opt-csw-ssl-certs-to-the-path-searched-for-..patch
Modified: csw/mgar/pkg/ansible/trunk/Makefile
===================================================================
--- csw/mgar/pkg/ansible/trunk/Makefile 2014-03-16 08:53:56 UTC (rev 23226)
+++ csw/mgar/pkg/ansible/trunk/Makefile 2014-03-16 09:05:01 UTC (rev 23227)
@@ -1,5 +1,5 @@
NAME = ansible
-VERSION = 1.3.2
+VERSION = 1.5.3
GARTYPE = v2
CATEGORIES = python
@@ -8,25 +8,29 @@
endef
GITHUB_USER = ansible
-GITHUB_REFERENCE= release1.3.2
+GITHUB_REFERENCE= release$(VERSION)
MASTER_SITES = $(GITHUB_MIRROR)
-DISTNAME = $(GITHUB_USER)-$(NAME)-9d5d88b
+DISTNAME = $(GITHUB_USER)-$(NAME)-157b783
DISTFILES = $(GITHUB_REFERENCE)$(GITHUB_BALL_EXT)
DISTFILES += README.CSW
DISTFILES += hosts.CSW
-PATCHFILES += 0003-Extended-sbin_paths-by-opt-csw-sbin.patch
-
PACKAGES = CSWansible
CATALOGNAME = ansible
CHECKPKG_OVERRIDES_CSWansible += pkgname-does-not-start-with-CSWpy-
CHECKPKG_OVERRIDES_CSWansible += catalogname-does-not-start-with-py_
+PATCHFILES += 0003-Extended-sbin_paths-by-opt-csw-sbin.patch
+PATCHFILES += 0003-Add-etc-opt-csw-ssl-certs-to-the-path-searched-for-..patch
+
# There are many OS specific (Linux, FreeBSD, etc.) paths stored in those files.
CHECKPKG_OVERRIDES_CSWansible += file-with-bad-content|/usr/local|root/opt/csw/lib/python2.6/site-packages/ansible/module_common.py
CHECKPKG_OVERRIDES_CSWansible += file-with-bad-content|/usr/local|root/opt/csw/lib/python2.6/site-packages/ansible/callbacks.py
CHECKPKG_OVERRIDES_CSWansible += file-with-bad-content|/usr/share|root/opt/csw/lib/python2.6/site-packages/ansible/playbook/__init__.py
CHECKPKG_OVERRIDES_CSWansible += file-with-bad-content|/usr/share|root/opt/csw/lib/python2.6/site-packages/ansible/runner/__init__.py
+CHECKPKG_OVERRIDES_CSWansible += file-with-bad-content|/usr/local|root/opt/csw/lib/python2.6/site-packages/ansible/module_utils/basic.py
+CHECKPKG_OVERRIDES_CSWansible += file-with-bad-content|/usr/local|root/opt/csw/lib/python2.6/site-packages/ansible/module_utils/urls.py
+CHECKPKG_OVERRIDES_CSWansible += file-with-bad-content|/usr/share|root/opt/csw/lib/python2.6/site-packages/ansible/module_utils/urls.py
CHECKPKG_OVERRIDES_CSWansible += surplus-dependency|CSWpy-yaml
CHECKPKG_OVERRIDES_CSWansible += surplus-dependency|CSWopenssh-client
Modified: csw/mgar/pkg/ansible/trunk/checksums
===================================================================
--- csw/mgar/pkg/ansible/trunk/checksums 2014-03-16 08:53:56 UTC (rev 23226)
+++ csw/mgar/pkg/ansible/trunk/checksums 2014-03-16 09:05:01 UTC (rev 23227)
@@ -1 +1 @@
-0191890918e43fd4771b6f51c4c94663 release1.3.2.tar.gz
+c658137ed06e7abee23abbc0a999f2af release1.5.3.tar.gz
Added: csw/mgar/pkg/ansible/trunk/files/0003-Add-etc-opt-csw-ssl-certs-to-the-path-searched-for-..patch
===================================================================
--- csw/mgar/pkg/ansible/trunk/files/0003-Add-etc-opt-csw-ssl-certs-to-the-path-searched-for-..patch (rev 0)
+++ csw/mgar/pkg/ansible/trunk/files/0003-Add-etc-opt-csw-ssl-certs-to-the-path-searched-for-..patch 2014-03-16 09:05:01 UTC (rev 23227)
@@ -0,0 +1,28 @@
+From ccdf5dd16bf0ba322e33db0bd23ea885aebd023d Mon Sep 17 00:00:00 2001
+From: Rafael Ostertag
+Date: Sun, 16 Mar 2014 09:44:48 +0100
+Subject: [PATCH] Add /etc/opt/csw/ssl/certs to the path searched for
+ .crt./.pem files.
+
+---
+ lib/ansible/module_utils/urls.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/lib/ansible/module_utils/urls.py b/lib/ansible/module_utils/urls.py
+index 053dfc0..049e14a 100644
+--- a/lib/ansible/module_utils/urls.py
++++ b/lib/ansible/module_utils/urls.py
+@@ -95,7 +95,9 @@ class SSLValidationHandler(urllib2.BaseHandler):
+ # build a list of paths to check for .crt/.pem files
+ # based on the platform type
+ paths_checked.append('/etc/ssl/certs')
+- if platform == 'Linux':
++ if platform == 'SunOS':
++ paths_checked.append('/etc/opt/csw/ssl/certs')
++ elif platform == 'Linux':
+ paths_checked.append('/etc/pki/ca-trust/extracted/pem')
+ paths_checked.append('/etc/pki/tls/certs')
+ paths_checked.append('/usr/share/ca-certificates/cacert.org')
+--
+1.8.4.1
+
Modified: csw/mgar/pkg/ansible/trunk/files/0003-Extended-sbin_paths-by-opt-csw-sbin.patch
===================================================================
--- csw/mgar/pkg/ansible/trunk/files/0003-Extended-sbin_paths-by-opt-csw-sbin.patch 2014-03-16 08:53:56 UTC (rev 23226)
+++ csw/mgar/pkg/ansible/trunk/files/0003-Extended-sbin_paths-by-opt-csw-sbin.patch 2014-03-16 09:05:01 UTC (rev 23227)
@@ -1,25 +1,25 @@
-From cd7a83573c952d9f8fc63cab2c7f5623663ecff6 Mon Sep 17 00:00:00 2001
+From a5f642e373bf88ed834feb7cc8f2d9f91ab8a247 Mon Sep 17 00:00:00 2001
From: Rafael Ostertag
-Date: Tue, 1 Oct 2013 16:52:39 +0200
+Date: Sun, 16 Mar 2014 09:34:08 +0100
Subject: [PATCH] Extended sbin_paths by '/opt/csw/sbin'.
---
- lib/ansible/module_common.py | 2 +-
+ lib/ansible/module_utils/basic.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/lib/ansible/module_common.py b/lib/ansible/module_common.py
-index 55f184f..02aaf56 100644
---- a/lib/ansible/module_common.py
-+++ b/lib/ansible/module_common.py
-@@ -740,7 +740,7 @@ class AnsibleModule(object):
+diff --git a/lib/ansible/module_utils/basic.py b/lib/ansible/module_utils/basic.py
+index be59185..abf0370 100644
+--- a/lib/ansible/module_utils/basic.py
++++ b/lib/ansible/module_utils/basic.py
+@@ -831,7 +831,7 @@ class AnsibleModule(object):
- opt_dirs: optional list of directories to search in addition to PATH
if found return full path; otherwise return None
'''
- sbin_paths = ['/sbin', '/usr/sbin', '/usr/local/sbin']
-+ sbin_paths = ['/sbin', '/usr/sbin', '/usr/local/sbin', '/opt/csw/sbin']
++ sbin_paths = ['/sbin', '/usr/sbin', '/opt/csw/sbin', '/usr/local/sbin']
paths = []
for d in opt_dirs:
if d is not None and os.path.exists(d):
--
-1.8.3.4
+1.8.4.1
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From guengel at users.sourceforge.net Sun Mar 16 10:15:35 2014
From: guengel at users.sourceforge.net (guengel at users.sourceforge.net)
Date: Sun, 16 Mar 2014 09:15:35 +0000
Subject: SF.net SVN: gar:[23228]
csw/mgar/pkg/postgresql/branches/postgresql-9.0
Message-ID: <3fmw3j1zCDzqp@mail.opencsw.org>
Revision: 23228
http://sourceforge.net/p/gar/code/23228
Author: guengel
Date: 2014-03-16 09:15:32 +0000 (Sun, 16 Mar 2014)
Log Message:
-----------
Updated to new upstream release 9.0.16
Modified Paths:
--------------
csw/mgar/pkg/postgresql/branches/postgresql-9.0/Makefile
csw/mgar/pkg/postgresql/branches/postgresql-9.0/checksums
csw/mgar/pkg/postgresql/branches/postgresql-9.0/files/changelog.CSW
Modified: csw/mgar/pkg/postgresql/branches/postgresql-9.0/Makefile
===================================================================
--- csw/mgar/pkg/postgresql/branches/postgresql-9.0/Makefile 2014-03-16 09:05:01 UTC (rev 23227)
+++ csw/mgar/pkg/postgresql/branches/postgresql-9.0/Makefile 2014-03-16 09:15:32 UTC (rev 23228)
@@ -90,7 +90,7 @@
BASE_VERSION = 9.0
VERSION_NODOT = $(subst .,_,$(BASE_VERSION))
BASE_VERSION_NODOT = $(subst .,,$(BASE_VERSION))
-PATCHLEVEL = 15
+PATCHLEVEL = 16
VERSION = $(BASE_VERSION).$(PATCHLEVEL)
PACKAGING_PLATFORMS = solaris10-sparc solaris10-i386
@@ -280,7 +280,7 @@
RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibssl1-0-0
RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibpq5
RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibxml2-2
-RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibkrb5-3
#ALTERNATIVES_CSW$(NAME)$(BASE_VERSION_NODOT)-server = $(foreach i,$(NEEDED_ISAS), server_$(i))
PACKAGES += CSW$(NAME)$(BASE_VERSION_NODOT)-client
@@ -377,7 +377,7 @@
PKGFILES_CSWlibpq5 = $(call pkgfiles_lib,libpq.so.5)
PKGFILES_CSWlibpq5 += .*/libpq5/changelog.CSW
RUNTIME_DEP_PKGS_CSWlibpq5 = CSWlibssl1-0-0
-RUNTIME_DEP_PKGS_CSWlibpq5 += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSWlibpq5 += CSWlibkrb5-3
BUILD_DEP_PKGS = CSWlibxml2-dev
BUILD_DEP_PKGS += CSWlibxslt-dev
Modified: csw/mgar/pkg/postgresql/branches/postgresql-9.0/checksums
===================================================================
--- csw/mgar/pkg/postgresql/branches/postgresql-9.0/checksums 2014-03-16 09:05:01 UTC (rev 23227)
+++ csw/mgar/pkg/postgresql/branches/postgresql-9.0/checksums 2014-03-16 09:15:32 UTC (rev 23228)
@@ -1 +1 @@
-1bd7f659c4f68e5fc23511c6952b494b postgresql-9.0.15.tar.bz2
+eec9c581a13dc38d9a050f0e06f1ebe5 postgresql-9.0.16.tar.bz2
Modified: csw/mgar/pkg/postgresql/branches/postgresql-9.0/files/changelog.CSW
===================================================================
--- csw/mgar/pkg/postgresql/branches/postgresql-9.0/files/changelog.CSW 2014-03-16 09:05:01 UTC (rev 23227)
+++ csw/mgar/pkg/postgresql/branches/postgresql-9.0/files/changelog.CSW 2014-03-16 09:15:32 UTC (rev 23228)
@@ -1,3 +1,10 @@
+postgresql90 (9.0.16,REV=2014.03.16)
+
+ * New upstream release 9.0.16.
+
+ -- Rafael Ostertag Sun, 16 Mar 2014 10:10:33 +0100
+
+
postgresql90 (9.0.15,REV=2013.12.10)
* New upstream release 9.0.15.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From guengel at users.sourceforge.net Sun Mar 16 10:17:03 2014
From: guengel at users.sourceforge.net (guengel at users.sourceforge.net)
Date: Sun, 16 Mar 2014 09:17:03 +0000
Subject: SF.net SVN: gar:[23229]
csw/mgar/pkg/postgresql/branches/postgresql-9.1
Message-ID: <3fmw5P29kWzv9@mail.opencsw.org>
Revision: 23229
http://sourceforge.net/p/gar/code/23229
Author: guengel
Date: 2014-03-16 09:17:02 +0000 (Sun, 16 Mar 2014)
Log Message:
-----------
Updated to new upstream release 9.1.12.
Modified Paths:
--------------
csw/mgar/pkg/postgresql/branches/postgresql-9.1/Makefile
csw/mgar/pkg/postgresql/branches/postgresql-9.1/checksums
csw/mgar/pkg/postgresql/branches/postgresql-9.1/files/changelog.CSW
Modified: csw/mgar/pkg/postgresql/branches/postgresql-9.1/Makefile
===================================================================
--- csw/mgar/pkg/postgresql/branches/postgresql-9.1/Makefile 2014-03-16 09:15:32 UTC (rev 23228)
+++ csw/mgar/pkg/postgresql/branches/postgresql-9.1/Makefile 2014-03-16 09:17:02 UTC (rev 23229)
@@ -90,7 +90,7 @@
BASE_VERSION = 9.1
VERSION_NODOT = $(subst .,_,$(BASE_VERSION))
BASE_VERSION_NODOT = $(subst .,,$(BASE_VERSION))
-PATCHLEVEL = 11
+PATCHLEVEL = 12
VERSION = $(BASE_VERSION).$(PATCHLEVEL)
GARTYPE = v2
@@ -328,7 +328,7 @@
RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibssl1-0-0
RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibpq5
RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibxml2-2
-RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibkrb5-3
#ALTERNATIVES_CSW$(NAME)$(BASE_VERSION_NODOT)-server = $(foreach i,$(NEEDED_ISAS), server_$(i))
PACKAGES += CSW$(NAME)$(BASE_VERSION_NODOT)-client
@@ -382,7 +382,7 @@
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibpq5
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibpgtypes3
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibz1
-RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibkrb5-3
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibxslt1
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibxml2-2
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibreadline6
@@ -428,7 +428,7 @@
PKGFILES_CSWlibpq5 = $(call pkgfiles_lib,libpq.so.5)
PKGFILES_CSWlibpq5 += .*/libpq5/changelog.CSW
RUNTIME_DEP_PKGS_CSWlibpq5 = CSWlibssl1-0-0
-RUNTIME_DEP_PKGS_CSWlibpq5 += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSWlibpq5 += CSWlibkrb5-3
BUILD_DEP_PKGS = CSWlibxml2-dev
BUILD_DEP_PKGS += CSWlibxslt-dev
Modified: csw/mgar/pkg/postgresql/branches/postgresql-9.1/checksums
===================================================================
--- csw/mgar/pkg/postgresql/branches/postgresql-9.1/checksums 2014-03-16 09:15:32 UTC (rev 23228)
+++ csw/mgar/pkg/postgresql/branches/postgresql-9.1/checksums 2014-03-16 09:17:02 UTC (rev 23229)
@@ -1 +1 @@
-863caa3d9f57ab3cd031fd06f497e1b6 postgresql-9.1.11.tar.bz2
+a14eb8a602af44f1827a9ecf928e7b44 postgresql-9.1.12.tar.bz2
Modified: csw/mgar/pkg/postgresql/branches/postgresql-9.1/files/changelog.CSW
===================================================================
--- csw/mgar/pkg/postgresql/branches/postgresql-9.1/files/changelog.CSW 2014-03-16 09:15:32 UTC (rev 23228)
+++ csw/mgar/pkg/postgresql/branches/postgresql-9.1/files/changelog.CSW 2014-03-16 09:17:02 UTC (rev 23229)
@@ -1,3 +1,10 @@
+postgresql91 (9.1.12,REV=2014.03.16)
+
+ * New upstream release 9.1.12.
+
+ -- Rafael Ostertag Sun, 16 Mar 2014 10:10:33 +0100
+
+
postgresql91 (9.1.11,REV=2013.12.10)
* New upstream release 9.1.11.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From guengel at users.sourceforge.net Sun Mar 16 10:18:15 2014
From: guengel at users.sourceforge.net (guengel at users.sourceforge.net)
Date: Sun, 16 Mar 2014 09:18:15 +0000
Subject: SF.net SVN: gar:[23230]
csw/mgar/pkg/postgresql/branches/postgresql-9.2
Message-ID: <3fmw6n36PrzyW@mail.opencsw.org>
Revision: 23230
http://sourceforge.net/p/gar/code/23230
Author: guengel
Date: 2014-03-16 09:18:14 +0000 (Sun, 16 Mar 2014)
Log Message:
-----------
Updated to new upstream release 9.2.7.
Modified Paths:
--------------
csw/mgar/pkg/postgresql/branches/postgresql-9.2/Makefile
csw/mgar/pkg/postgresql/branches/postgresql-9.2/checksums
csw/mgar/pkg/postgresql/branches/postgresql-9.2/files/changelog.CSW
Modified: csw/mgar/pkg/postgresql/branches/postgresql-9.2/Makefile
===================================================================
--- csw/mgar/pkg/postgresql/branches/postgresql-9.2/Makefile 2014-03-16 09:17:02 UTC (rev 23229)
+++ csw/mgar/pkg/postgresql/branches/postgresql-9.2/Makefile 2014-03-16 09:18:14 UTC (rev 23230)
@@ -90,7 +90,7 @@
BASE_VERSION = 9.2
VERSION_NODOT = $(subst .,_,$(BASE_VERSION))
BASE_VERSION_NODOT = $(subst .,,$(BASE_VERSION))
-PATCHLEVEL = 6
+PATCHLEVEL = 7
VERSION = $(BASE_VERSION).$(PATCHLEVEL)
GARTYPE = v2
@@ -334,7 +334,7 @@
RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibz1
RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibpq5
RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibxml2-2
-RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibkrb5-3
#ALTERNATIVES_CSW$(NAME)$(BASE_VERSION_NODOT)-server = $(foreach i,$(NEEDED_ISAS), server_$(i))
PACKAGES += CSW$(NAME)$(BASE_VERSION_NODOT)-client
@@ -388,7 +388,7 @@
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibpq5
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibpgtypes3
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibz1
-RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibkrb5-3
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibxslt1
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibxml2-2
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibreadline6
@@ -434,7 +434,7 @@
PKGFILES_CSWlibpq5 = $(call pkgfiles_lib,libpq.so.5)
PKGFILES_CSWlibpq5 += .*/libpq5/changelog.CSW
RUNTIME_DEP_PKGS_CSWlibpq5 = CSWlibssl1-0-0
-RUNTIME_DEP_PKGS_CSWlibpq5 += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSWlibpq5 += CSWlibkrb5-3
BUILD_DEP_PKGS = CSWlibxml2-dev
BUILD_DEP_PKGS += CSWlibxslt-dev
Modified: csw/mgar/pkg/postgresql/branches/postgresql-9.2/checksums
===================================================================
--- csw/mgar/pkg/postgresql/branches/postgresql-9.2/checksums 2014-03-16 09:17:02 UTC (rev 23229)
+++ csw/mgar/pkg/postgresql/branches/postgresql-9.2/checksums 2014-03-16 09:18:14 UTC (rev 23230)
@@ -1 +1 @@
-3e68c0c7468c56f73060a88a377dbde8 postgresql-9.2.6.tar.bz2
+610354e939d3b6d8d1a620504bc25fb2 postgresql-9.2.7.tar.bz2
Modified: csw/mgar/pkg/postgresql/branches/postgresql-9.2/files/changelog.CSW
===================================================================
--- csw/mgar/pkg/postgresql/branches/postgresql-9.2/files/changelog.CSW 2014-03-16 09:17:02 UTC (rev 23229)
+++ csw/mgar/pkg/postgresql/branches/postgresql-9.2/files/changelog.CSW 2014-03-16 09:18:14 UTC (rev 23230)
@@ -1,3 +1,10 @@
+postgresql92 (9.2.7,REV=2014.03.16)
+
+ * New upstream release 9.2.7.
+
+ -- Rafael Ostertag Sun, 16 Mar 2014 10:10:33 +0100
+
+
postgresql92 (9.2.6,REV=2013.12.10)
* New upstream release 9.2.6.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From guengel at users.sourceforge.net Sun Mar 16 10:19:59 2014
From: guengel at users.sourceforge.net (guengel at users.sourceforge.net)
Date: Sun, 16 Mar 2014 09:19:59 +0000
Subject: SF.net SVN: gar:[23231] csw/mgar/pkg/postgresql/trunk
Message-ID: <3fmw8n36bsz131@mail.opencsw.org>
Revision: 23231
http://sourceforge.net/p/gar/code/23231
Author: guengel
Date: 2014-03-16 09:19:59 +0000 (Sun, 16 Mar 2014)
Log Message:
-----------
Updated to new upstream release 9.3.3.
Modified Paths:
--------------
csw/mgar/pkg/postgresql/trunk/Makefile
csw/mgar/pkg/postgresql/trunk/checksums
csw/mgar/pkg/postgresql/trunk/files/changelog.CSW
Modified: csw/mgar/pkg/postgresql/trunk/Makefile
===================================================================
--- csw/mgar/pkg/postgresql/trunk/Makefile 2014-03-16 09:18:14 UTC (rev 23230)
+++ csw/mgar/pkg/postgresql/trunk/Makefile 2014-03-16 09:19:59 UTC (rev 23231)
@@ -90,7 +90,7 @@
BASE_VERSION = 9.3
VERSION_NODOT = $(subst .,_,$(BASE_VERSION))
BASE_VERSION_NODOT = $(subst .,,$(BASE_VERSION))
-PATCHLEVEL = 2
+PATCHLEVEL = 3
VERSION = $(BASE_VERSION).$(PATCHLEVEL)
GARTYPE = v2
GARCOMPILER = SOS12U3
@@ -359,7 +359,7 @@
RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibz1
RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibpq5
RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibxml2-2
-RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibkrb5-3
#ALTERNATIVES_CSW$(NAME)$(BASE_VERSION_NODOT)-server = $(foreach i,$(NEEDED_ISAS), server_$(i))
PACKAGES += CSW$(NAME)$(BASE_VERSION_NODOT)-client
@@ -413,7 +413,7 @@
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibpq5
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibpgtypes3
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibz1
-RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibkrb5-3
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibxslt1
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibxml2-2
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibreadline6
@@ -459,7 +459,7 @@
PKGFILES_CSWlibpq5 = $(call pkgfiles_lib,libpq.so.5)
PKGFILES_CSWlibpq5 += .*/libpq5/changelog.CSW
RUNTIME_DEP_PKGS_CSWlibpq5 = CSWlibssl1-0-0
-RUNTIME_DEP_PKGS_CSWlibpq5 += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSWlibpq5 += CSWlibkrb5-3
BUILD_DEP_PKGS = CSWlibxml2-dev
BUILD_DEP_PKGS += CSWlibxslt-dev
Modified: csw/mgar/pkg/postgresql/trunk/checksums
===================================================================
--- csw/mgar/pkg/postgresql/trunk/checksums 2014-03-16 09:18:14 UTC (rev 23230)
+++ csw/mgar/pkg/postgresql/trunk/checksums 2014-03-16 09:19:59 UTC (rev 23231)
@@ -1 +1 @@
-8c905155e3e9f9367b4299a9acb41d2a postgresql-9.3.2.tar.bz2
+0247b0a24e76a3f20cc50c06d0aa2412 postgresql-9.3.3.tar.bz2
Modified: csw/mgar/pkg/postgresql/trunk/files/changelog.CSW
===================================================================
--- csw/mgar/pkg/postgresql/trunk/files/changelog.CSW 2014-03-16 09:18:14 UTC (rev 23230)
+++ csw/mgar/pkg/postgresql/trunk/files/changelog.CSW 2014-03-16 09:19:59 UTC (rev 23231)
@@ -1,3 +1,10 @@
+postgresql93 (9.3.3,REV=2014.03.16)
+
+ * New upstream release 9.3.3.
+
+ -- Rafael Ostertag Sun, 16 Mar 2014 10:10:33 +0100
+
+
postgresql93 (9.3.2,REV=2013.12.10)
* New upstream release 9.3.2.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From guengel at users.sourceforge.net Sun Mar 16 10:27:53 2014
From: guengel at users.sourceforge.net (guengel at users.sourceforge.net)
Date: Sun, 16 Mar 2014 09:27:53 +0000
Subject: SF.net SVN: gar:[23232] csw/mgar/pkg/ansible/trunk/Makefile
Message-ID: <3fmwKv0KYqz16V@mail.opencsw.org>
Revision: 23232
http://sourceforge.net/p/gar/code/23232
Author: guengel
Date: 2014-03-16 09:27:52 +0000 (Sun, 16 Mar 2014)
Log Message:
-----------
Added CSWpy-markupsafe as dependency.
Modified Paths:
--------------
csw/mgar/pkg/ansible/trunk/Makefile
Modified: csw/mgar/pkg/ansible/trunk/Makefile
===================================================================
--- csw/mgar/pkg/ansible/trunk/Makefile 2014-03-16 09:19:59 UTC (rev 23231)
+++ csw/mgar/pkg/ansible/trunk/Makefile 2014-03-16 09:27:52 UTC (rev 23232)
@@ -35,6 +35,7 @@
CHECKPKG_OVERRIDES_CSWansible += surplus-dependency|CSWpy-yaml
CHECKPKG_OVERRIDES_CSWansible += surplus-dependency|CSWopenssh-client
CHECKPKG_OVERRIDES_CSWansible += surplus-dependency|CSWpy-jinja2
+CHECKPKG_OVERRIDES_CSWansible += surplus-dependency|CSWpy-markupsafe
REINPLACEMENTS = etc
REINPLACE_MATCH_etc = /etc/ansible
@@ -47,6 +48,7 @@
REINPLACE_FILES_usr = lib/ansible/constants.py
RUNTIME_DEP_PKGS = CSWpy-jinja2
+RUNTIME_DEP_PKGS += CSWpy-markupsafe
RUNTIME_DEP_PKGS += CSWpy-yaml
RUNTIME_DEP_PKGS += CSWopenssh-client
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 16 11:16:34 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 16 Mar 2014 10:16:34 +0000
Subject: SF.net SVN: gar:[23233] csw/mgar/pkg/lang-python/jinja2/trunk/Makefile
Message-ID: <3fmxQ241f9z1BT@mail.opencsw.org>
Revision: 23233
http://sourceforge.net/p/gar/code/23233
Author: wahwah
Date: 2014-03-16 10:16:32 +0000 (Sun, 16 Mar 2014)
Log Message:
-----------
lang-python/jinja2/trunk: Add dependency on markupsafe
Modified Paths:
--------------
csw/mgar/pkg/lang-python/jinja2/trunk/Makefile
Modified: csw/mgar/pkg/lang-python/jinja2/trunk/Makefile
===================================================================
--- csw/mgar/pkg/lang-python/jinja2/trunk/Makefile 2014-03-16 09:27:52 UTC (rev 23232)
+++ csw/mgar/pkg/lang-python/jinja2/trunk/Makefile 2014-03-16 10:16:32 UTC (rev 23233)
@@ -11,4 +11,6 @@
PACKAGES = CSWpy-jinja2
ARCHALL = 1
CONFIGURE_ARGS = $(DIRPATHS)
+RUNTIME_DEP_PKGS = CSWpy-markupsafe
+CHECKPKG_OVERRIDES_CSWpy-jinja2 += surplus-dependency|CSWpy-markupsafe
include gar/category.mk
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From guengel at users.sourceforge.net Sun Mar 16 12:21:36 2014
From: guengel at users.sourceforge.net (guengel at users.sourceforge.net)
Date: Sun, 16 Mar 2014 11:21:36 +0000
Subject: SF.net SVN: gar:[23234]
csw/mgar/pkg/postgresql/branches/postgresql-8.4
Message-ID: <3fmys66Jqkz1H7@mail.opencsw.org>
Revision: 23234
http://sourceforge.net/p/gar/code/23234
Author: guengel
Date: 2014-03-16 11:21:35 +0000 (Sun, 16 Mar 2014)
Log Message:
-----------
Updated to new upstream release 8.4.20.
Modified Paths:
--------------
csw/mgar/pkg/postgresql/branches/postgresql-8.4/Makefile
csw/mgar/pkg/postgresql/branches/postgresql-8.4/checksums
csw/mgar/pkg/postgresql/branches/postgresql-8.4/files/changelog.CSW
Modified: csw/mgar/pkg/postgresql/branches/postgresql-8.4/Makefile
===================================================================
--- csw/mgar/pkg/postgresql/branches/postgresql-8.4/Makefile 2014-03-16 10:16:32 UTC (rev 23233)
+++ csw/mgar/pkg/postgresql/branches/postgresql-8.4/Makefile 2014-03-16 11:21:35 UTC (rev 23234)
@@ -90,7 +90,7 @@
BASE_VERSION = 8.4
VERSION_NODOT = $(subst .,_,$(BASE_VERSION))
BASE_VERSION_NODOT = $(subst .,,$(BASE_VERSION))
-PATCHLEVEL = 19
+PATCHLEVEL = 20
VERSION = $(BASE_VERSION).$(PATCHLEVEL)
PACKAGING_PLATFORMS = solaris10-sparc solaris10-i386
@@ -278,7 +278,7 @@
RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibssl1-0-0
RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibpq5
RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibxml2-2
-RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSW$(NAME)$(BASE_VERSION_NODOT)-server += CSWlibkrb5-3
#CHECKPKG_OVERRIDES_CSW$(NAME)$(BASE_VERSION_NODOT)-server = $(foreach n,$(SO_NAMES_SERVER), soname-not-part-of-filename|soname=lib$(n).0|filename=$(n) )
# This one isn't covered by the above.
#CHECKPKG_OVERRIDES_CSW$(NAME)$(BASE_VERSION_NODOT)-server += soname-not-part-of-filename|soname=libplpgsql.so.1|filename=plpgsql.so
@@ -334,7 +334,7 @@
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibpq5
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibpgtypes3
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibz1
-RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibkrb5-3
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibxslt1
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibxml2-2
RUNTIME_DEP_PKGS_CSW$(NAME)-dev += CSWlibreadline6
@@ -380,7 +380,7 @@
PKGFILES_CSWlibpq5 = $(call pkgfiles_lib,libpq.so.5)
PKGFILES_CSWlibpq5 += .*/libpq5/changelog.CSW
RUNTIME_DEP_PKGS_CSWlibpq5 = CSWlibssl1-0-0
-RUNTIME_DEP_PKGS_CSWlibpq5 += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSWlibpq5 += CSWlibkrb5-3
BUILD_DEP_PKGS = CSWlibxml2-dev
BUILD_DEP_PKGS += CSWlibxslt-dev
Modified: csw/mgar/pkg/postgresql/branches/postgresql-8.4/checksums
===================================================================
--- csw/mgar/pkg/postgresql/branches/postgresql-8.4/checksums 2014-03-16 10:16:32 UTC (rev 23233)
+++ csw/mgar/pkg/postgresql/branches/postgresql-8.4/checksums 2014-03-16 11:21:35 UTC (rev 23234)
@@ -1 +1 @@
-62ddb68a7ec542abf7089afb91237198 postgresql-8.4.19.tar.bz2
+93d03f7fa206420aa5c87e48ec67fcdb postgresql-8.4.20.tar.bz2
Modified: csw/mgar/pkg/postgresql/branches/postgresql-8.4/files/changelog.CSW
===================================================================
--- csw/mgar/pkg/postgresql/branches/postgresql-8.4/files/changelog.CSW 2014-03-16 10:16:32 UTC (rev 23233)
+++ csw/mgar/pkg/postgresql/branches/postgresql-8.4/files/changelog.CSW 2014-03-16 11:21:35 UTC (rev 23234)
@@ -1,3 +1,10 @@
+postgresql84 (8.4.20,REV=2014.03.16)
+
+ * New upstream release 8.4.20.
+
+ -- Rafael Ostertag Sun, 16 Mar 2014 12:17:19 +0100
+
+
postgresql84 (8.4.19,REV=2013.12.10)
* New upstream release 8.4.19.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 16 13:22:18 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 16 Mar 2014 12:22:18 +0000
Subject: SF.net SVN: opencsw:[674] buildfarm/bin
Message-ID: <3fn0CD3t5qz1M2@mail.opencsw.org>
Revision: 674
http://sourceforge.net/p/opencsw/code/674
Author: wahwah
Date: 2014-03-16 12:22:15 +0000 (Sun, 16 Mar 2014)
Log Message:
-----------
Bulk-committing local changes from the buildfarm.
The generation scripts call the new catalog generation tool.
Modified Paths:
--------------
buildfarm/bin/dist-hardlinkify
buildfarm/bin/generate-unstable
buildfarm/bin/opencsw-future-update
Added Paths:
-----------
buildfarm/bin/check-and-sign-catalog
Removed Paths:
-------------
buildfarm/bin/generate-catalog
Copied: buildfarm/bin/check-and-sign-catalog (from rev 673, buildfarm/bin/generate-catalog)
===================================================================
--- buildfarm/bin/check-and-sign-catalog (rev 0)
+++ buildfarm/bin/check-and-sign-catalog 2014-03-16 12:22:15 UTC (rev 674)
@@ -0,0 +1,53 @@
+#!/opt/csw/bin/bash
+
+# This script assumes that it's called from the directory containing
+# the package files to build a catalog from.
+
+export PATH=/opt/csw/bin:/opt/csw/sbin:/usr/bin:/usr/sbin
+
+set -u
+set -e
+set -x
+
+readonly _cswsign_host=192.168.1.40
+readonly _cswsign_port=9981
+readonly _signtype=clearsign
+readonly _catalog_path=$1
+_URL=http://${_cswsign_host}:${_cswsign_port}/${_signtype}/${_catalog_path}
+readonly _URL
+
+if [[ ! -e catalog ]]; then
+ echo >&2 "ERROR: The catalog file doesn't exist. Exiting."
+ exit 1
+fi
+
+# bldcat prints a lot of output
+if chkcat -e catalog
+then
+ echo chkcat returned no errors
+else
+ r="$?"
+ if [[ "${r}" -eq 2 ]]; then
+ echo -n "chkcat returned an error in $(pwd) "
+ echo "when generating a catalog."
+ false
+ fi
+fi
+
+# Don't sign catalogs which are already signed
+if grep "BEGIN PGP SIGNED MESSAGE-----" catalog; then
+ echo >&2 "The catalog is already signed, exiting."
+ exit 0
+fi
+
+# This request should return a signed catalog
+echo "Fetching '${_URL}'"
+if curl -s -f ${_URL} > catalog.new
+then
+ mv catalog.new catalog
+ /opt/csw/bin/gzip -9 --to-stdout catalog > catalog.gz
+ exit 0
+else
+ echo "Signing $(pwd) failed."
+ exit 1
+fi
Modified: buildfarm/bin/dist-hardlinkify
===================================================================
--- buildfarm/bin/dist-hardlinkify 2014-03-02 11:20:21 UTC (rev 673)
+++ buildfarm/bin/dist-hardlinkify 2014-03-16 12:22:15 UTC (rev 674)
@@ -19,6 +19,7 @@
sub alldir {
my $dir = shift @_;
+ print "# Reading $dir\n";
opendir DIR, $dir;
my @files = grep {!/^\.\.?$/} readdir DIR;
closedir DIR;
@@ -31,7 +32,7 @@
# ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, $atime,$mtime,$ctime,$blksize,$blocks) = stat($filename);
- return if( ! -f $file1 || ! -f $file2 );
+ return if( -l $file1 || ! -f $file1 || -l $file2 || ! -f $file2 );
my @stat1 = stat( $file1 );
my @stat2 = stat( $file2 );
@@ -54,10 +55,18 @@
# print "$pkg ", domd5( $pkg ), "\n";
# }
-my @snapshots = map { "snapshots/$_"; } alldir( "$base/snapshots" );
+#my @snapshots = map { "snapshots/$_"; } alldir( "$base/snapshots" );
+my @snapshots = ();
#foreach my $d (@snapshots, qw(unstable experimental)) {
-foreach my $d (@snapshots, qw(dublin legacy unstable)) {
+foreach my $d (@snapshots, qw(
+beanie
+bratislava
+dublin
+kiel
+legacy
+unstable
+)) {
foreach my $a (qw(sparc i386)) {
foreach my $r (qw(5.8 5.9 5.10)) {
foreach my $f (alldir "$base/$d/$a/$r") {
Deleted: buildfarm/bin/generate-catalog
===================================================================
--- buildfarm/bin/generate-catalog 2014-03-02 11:20:21 UTC (rev 673)
+++ buildfarm/bin/generate-catalog 2014-03-16 12:22:15 UTC (rev 674)
@@ -1,42 +0,0 @@
-#!/opt/csw/bin/bash
-
-# This script assumes that it's called from the directory containing
-# the package files to build a catalog from.
-
-export PATH=/opt/csw/bin:/opt/csw/sbin:/usr/bin:/usr/sbin
-
-set -u
-set -e
-set -x
-
-readonly _cswsign_host=192.168.1.40
-readonly _cswsign_port=9981
-readonly _signtype=clearsign
-readonly _catalog_path=$1
-_URL=http://${_cswsign_host}:${_cswsign_port}/${_signtype}/${_catalog_path}
-readonly _URL
-
-# bldcat prints a lot of output
-if chkcat -e catalog
-then
- echo chkcat returned no errors
-else
- r="$?"
- if [[ "${r}" -eq 2 ]]; then
- echo -n "chkcat returned an error in $(pwd) "
- echo "when generating a catalog."
- false
- fi
-fi
-
-# This request should return a signed catalog
-echo "Fetching '${_URL}'"
-if curl -s -f ${_URL} > catalog.new
-then
- mv catalog.new catalog
- /opt/csw/bin/gzip -9 --to-stdout catalog > catalog.gz
- exit 0
-else
- echo "Signing $(pwd) failed."
- exit 1
-fi
Modified: buildfarm/bin/generate-unstable
===================================================================
--- buildfarm/bin/generate-unstable 2014-03-02 11:20:21 UTC (rev 673)
+++ buildfarm/bin/generate-unstable 2014-03-16 12:22:15 UTC (rev 674)
@@ -24,11 +24,11 @@
for catalog in "${catalogs[@]}"
do
- PYTHONPATH=/home/web/bin/gar \
- /home/web/bin/gar/bin/pkgdb \
- gen-cat --catalog-release "${catalog}" \
- ${mirror_root}/allpkgs \
- ${mirror_root}
+ time \
+ /home/web/bin/make-catalog-links \
+ --catalog-release="${catalog}" \
+ --catalog-root="${mirror_root}" \
+ --pkgdb-url="http://buildfarm.opencsw.org/pkgdb/rest"
pushd "${mirror_root}/${catalog}"
for arch in i386 sparc; do
@@ -39,16 +39,9 @@
pushd "${osrel}"
cat_3="${catalog}/${arch}/${osrel}"
cat_dir="${mirror_name}/${cat_3}"
- abs_cat_dir="${mirror_root}/${cat_3}"
- grm -vf "${abs_cat_dir}/catalog"* "${abs_cat_dir}/descriptions"*
- PYTHONPATH=/home/web/bin/gar \
- /home/web/bin/gar/lib/python/generate_catalog_file.py \
- --catalog-release ${catalog} \
- --arch ${arch} \
- --os-release SunOS${osrel} \
- --out-dir "${abs_cat_dir}"
- # PYTHONPATH=mgar/gar/v2 ./mgar/gar/v2/lib/python/compare_catalog.py /export/mirror/opencsw-official/unstable/sparc/5.10/catalog /export/mirror/opencsw-official/testing/sparc/5.10/catalog >/dev/null 2>&1; echo $?
- /home/web/bin/generate-catalog "${cat_dir}"
+ if [[ -r catalog ]]; then
+ /home/web/bin/check-and-sign-catalog "${cat_dir}"
+ fi
popd
done
popd
Modified: buildfarm/bin/opencsw-future-update
===================================================================
--- buildfarm/bin/opencsw-future-update 2014-03-02 11:20:21 UTC (rev 673)
+++ buildfarm/bin/opencsw-future-update 2014-03-16 12:22:15 UTC (rev 674)
@@ -32,6 +32,7 @@
exec >/opt/csw/apache2/share/htdocs/buildfarm/catalog-generation.log.new 2>&1
date
+# Rsync from the mirror to a copy on the buildfarm
${BASE_DIR}/sync-mirror
${BASE_DIR}/sync-checkpkg
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 16 13:36:13 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 16 Mar 2014 12:36:13 +0000
Subject: SF.net SVN: gar:[23235] csw/mgar/gar/v2
Message-ID: <3fn0WD15CJz1QV@mail.opencsw.org>
Revision: 23235
http://sourceforge.net/p/gar/code/23235
Author: wahwah
Date: 2014-03-16 12:36:12 +0000 (Sun, 16 Mar 2014)
Log Message:
-----------
Add a README file for the src/ subdirectory
Added Paths:
-----------
csw/mgar/gar/v2/src/
csw/mgar/gar/v2/src/README
Added: csw/mgar/gar/v2/src/README
===================================================================
--- csw/mgar/gar/v2/src/README (rev 0)
+++ csw/mgar/gar/v2/src/README 2014-03-16 12:36:12 UTC (rev 23235)
@@ -0,0 +1 @@
+Directory for source code of programs written in compiled languages.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 16 13:36:22 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 16 Mar 2014 12:36:22 +0000
Subject: SF.net SVN: gar:[23236] csw/mgar/gar/v2/lib/python/rest.py
Message-ID: <3fn0WN1JJfz1Sf@mail.opencsw.org>
Revision: 23236
http://sourceforge.net/p/gar/code/23236
Author: wahwah
Date: 2014-03-16 12:36:21 +0000 (Sun, 16 Mar 2014)
Log Message:
-----------
pkgdb: Tolerate missing password file
Also don't ask the user for password. If the password is not in the
file, there's no password.
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-16 12:36:12 UTC (rev 23235)
+++ csw/mgar/gar/v2/lib/python/rest.py 2014-03-16 12:36:21 UTC (rev 23236)
@@ -536,16 +536,12 @@
if password is None:
# This part is specific to OpenCSW buildfarm.
args = ['ssh', '-o BatchMode=yes', '-o StrictHostKeyChecking=no', 'login', 'cat', authfile]
- ret_code, stdout, stderr = shell.ShellCommand(args)
+ ret_code, stdout, stderr = shell.ShellCommand(args, allow_error=True)
if not ret_code:
password = stdout.strip()
else:
logging.debug('Failed running %r', args)
- if password is None:
- logging.warning(
- 'Could not find password for user %r. '
- 'Falling back to getpass.getpass().', username)
- password = getpass.getpass("{0}'s pkg release password> ".format(username))
+ logging.warning('Could not find password for user %r.', username)
return username, password
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 16 13:36:29 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 16 Mar 2014 12:36:29 +0000
Subject: SF.net SVN: gar:[23237] csw/mgar/gar/v2/lib/python/rest.py
Message-ID: <3fn0WV2wXkz1Vs@mail.opencsw.org>
Revision: 23237
http://sourceforge.net/p/gar/code/23237
Author: wahwah
Date: 2014-03-16 12:36:28 +0000 (Sun, 16 Mar 2014)
Log Message:
-----------
pkgdb: Remove the word 'Error'
It looks worse than it is.
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-16 12:36:21 UTC (rev 23236)
+++ csw/mgar/gar/v2/lib/python/rest.py 2014-03-16 12:36:28 UTC (rev 23237)
@@ -531,7 +531,7 @@
with open(authfile, 'r') as af:
password = af.read().strip()
except IOError as e:
- logging.debug("Error reading %s: %s", authfile, e)
+ logging.debug("%s could not be read: %s", authfile, e)
if password is None:
# This part is specific to OpenCSW buildfarm.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 16 13:36:37 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 16 Mar 2014 12:36:37 +0000
Subject: SF.net SVN: gar:[23238] csw/mgar/gar/v2
Message-ID: <3fn0X63HjJz4Q@mail.opencsw.org>
Revision: 23238
http://sourceforge.net/p/gar/code/23238
Author: wahwah
Date: 2014-03-16 12:36:36 +0000 (Sun, 16 Mar 2014)
Log Message:
-----------
catalog-release-to-disk: New catalog generation utility
New features compared to the old solution:
- Runs multiple REST queries in parallel
- Only links and/or unlinks pkg files on disk when necessary
- Only generates new index (catalog/description) files when necessary
This patch removes the old code to avoid confusion.
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/pkgdb.py
Added Paths:
-----------
csw/mgar/gar/v2/src/Makefile
csw/mgar/gar/v2/src/catalog-release-to-disk.go
Removed Paths:
-------------
csw/mgar/gar/v2/lib/python/generate_catalog_file.py
csw/mgar/gar/v2/lib/python/generate_catalog_file_test.py
Deleted: csw/mgar/gar/v2/lib/python/generate_catalog_file.py
===================================================================
--- csw/mgar/gar/v2/lib/python/generate_catalog_file.py 2014-03-16 12:36:28 UTC (rev 23237)
+++ csw/mgar/gar/v2/lib/python/generate_catalog_file.py 2014-03-16 12:36:36 UTC (rev 23238)
@@ -1,116 +0,0 @@
-#!/usr/bin/env python
-
-"""Generates a catalog file from the REST interface.
-
-Does not require a database connection.
-
-PKG_DATA_1 = {
- "basename": "389_admin-1.1.29,REV=2012.05.02-SunOS5.10-sparc-CSW.pkg.gz",
- "catalogname": "389_admin",
- "file_basename": "389_admin-1.1.29,REV=2012.05.02-SunOS5.10-sparc-CSW.pkg.gz",
- "md5_sum": "fdb7912713da36afcbbe52266c15cb3f",
- "mtime": "2012-05-02 12:06:38",
- "rev": "2012.05.02",
- "size": 395802,
- "version": "1.1.29,REV=2012.05.02",
- "version_string": "1.1.29,REV=2012.05.02"
-}
-
-"""
-
-CATALOG_FN = "catalog"
-DESC_FN = "descriptions"
-
-import os
-import optparse
-import logging
-import sys
-import datetime
-
-from lib.python import configuration
-from lib.python import representations
-from lib.python import rest
-
-
-class Error(Exception):
- """A general error."""
-
-class CatalogFileGenerator(object):
-
- def __init__(self, catrel, arch, osrel, rest_client):
- self.catrel = catrel
- self.arch = arch
- self.osrel = osrel
- home_dir = os.environ['HOME']
- self.rest_client = rest_client
- self._catalog = None
-
- @property
- def catalog(self):
- if not self._catalog:
- self._catalog = self.rest_client.GetCatalogForGeneration(self.catrel,
- self.arch,
- self.osrel)
- try:
- self._catalog = [representations.CatalogEntry._make(x)
- for x in self._catalog]
- except TypeError:
- print self._catalog
- raise
- return self._catalog
-
- def ComposeCatalogLine(self, catalog_entry):
- items = tuple(catalog_entry)[:9]
- return " ".join(items)
-
- def GenerateCatalog(self, out_dir):
- out_catalog = os.path.join(out_dir, CATALOG_FN)
- out_desc = os.path.join(out_dir, DESC_FN)
- if os.path.exists(out_catalog):
- raise Error("File %s already exists." % out_catalog)
- if os.path.exists(out_desc):
- raise Error("File %s already exists." % out_desc)
- lines, descriptions = self._GenerateCatalogAsLines()
- with open(out_catalog, "w") as fd:
- fd.write("\n".join(lines).encode('utf-8'))
- with open(out_desc, "w") as fd:
- fd.write("\n".join(descriptions).encode('utf-8'))
-
- def _GenerateCatalogAsLines(self):
- """Return the complete catalog as a list of lines."""
- lines = []
- descriptions = []
- date_iso = datetime.datetime.utcnow().replace(microsecond=0).isoformat()
- lines.append("# CREATIONDATE %sZ" % date_iso)
-
- # Potential additional lines might go here.
- # lines.append("...")
- if self.catalog: # the catalog might be None
- for catalog_entry in self.catalog:
- lines.append(self.ComposeCatalogLine(catalog_entry))
- descriptions.append(catalog_entry.desc)
- return lines, descriptions
-
-
-def main():
- logging.basicConfig(level=logging.DEBUG)
- parser = optparse.OptionParser()
- parser.add_option("--out-dir", dest="out_dir")
- parser.add_option("--catalog-release", dest="catrel")
- parser.add_option("--arch", dest="arch")
- parser.add_option("--os-release", dest="osrel")
- options, args = parser.parse_args()
- username, password = rest.GetUsernameAndPassword()
- config = configuration.GetConfig()
- rest_client = rest.RestClient(
- pkgdb_url=config.get('rest', 'pkgdb'),
- releases_url=config.get('rest', 'releases'),
- username=username,
- password=password)
- cfg = CatalogFileGenerator(options.catrel, options.arch, options.osrel,
- rest_client)
- cfg.GenerateCatalog(options.out_dir)
-
-
-if __name__ == '__main__':
- main()
Deleted: csw/mgar/gar/v2/lib/python/generate_catalog_file_test.py
===================================================================
--- csw/mgar/gar/v2/lib/python/generate_catalog_file_test.py 2014-03-16 12:36:28 UTC (rev 23237)
+++ csw/mgar/gar/v2/lib/python/generate_catalog_file_test.py 2014-03-16 12:36:36 UTC (rev 23238)
@@ -1,100 +0,0 @@
-#!/usr/bin/env python
-
-import __builtin__
-import datetime
-import io
-import mox
-import rest
-import unittest2 as unittest
-
-from lib.python import generate_catalog_file
-
-PKG_DATA_1 = [
- ["389_admin", "1.1.29,REV=2012.05.02",
- "CSW389-admin-mock",
- "389_admin-1.1.29,REV=2012.05.02-SunOS5.10-sparc-CSW.pkg.gz",
- "fdb7912713da36afcbbe52266c15cb3f",
- "395802", "CSWfoo|CSWbar", "none", "none",
- "389_admin - The 389 LDAP server Admin Tools"],
-]
-
-EXPECTED_LINE = ("389_admin 1.1.29,REV=2012.05.02 CSW389-admin-mock "
- "389_admin-1.1.29,REV=2012.05.02-SunOS5.10-sparc-CSW.pkg.gz "
- "fdb7912713da36afcbbe52266c15cb3f 395802 CSWfoo|CSWbar "
- "none none")
-
-class CatalogFileGeneratorUnitTest(mox.MoxTestBase, unittest.TestCase):
-
- def testComposeCatalogLineBasic(self):
- mock_rest = self.mox.CreateMock(rest.RestClient)
- # Catalog format:
- # http://wiki.opencsw.org/catalog-format
- # common version package file md5 size dependencies category i-dependencies
- # For example:
- # bind 9.4.2,REV=2008.07.09_rev=p1 CSWbind
- # bind-9.4.2,REV=2008.07.09_rev=p1-SunOS5.8-sparc-CSW.pkg.gz
- # f68df57fcf54bfd37304b79d6f7eeacc 2954112 CSWcommon|CSWosslrt net none
- cfg = generate_catalog_file.CatalogFileGenerator("dublin",
- "sparc",
- "SunOS5.10",
- mock_rest)
- self.mox.ReplayAll()
- self.assertEquals(EXPECTED_LINE, cfg.ComposeCatalogLine(PKG_DATA_1[0]))
-
- def testGenerateCatalogEmpty(self):
- mock_rest = self.mox.CreateMock(rest.RestClient)
- fake_datetime = datetime.datetime(year=2013, month=4, day=1,
- hour=11, minute=11, second=11)
- self.mox.StubOutWithMock(datetime, 'datetime')
- datetime.datetime.utcnow().AndReturn(fake_datetime)
- cfg = generate_catalog_file.CatalogFileGenerator("dublin",
- "sparc",
- "SunOS5.10",
- mock_rest)
- mock_rest.GetCatalogForGeneration('dublin', 'sparc', 'SunOS5.10').AndReturn([])
- self.mox.ReplayAll()
- catalog_lines, descriptions = cfg._GenerateCatalogAsLines()
- expected_lines = [
- "# CREATIONDATE 2013-04-01T11:11:11Z",
- ]
- self.assertEquals(expected_lines, catalog_lines)
- self.assertEquals([], descriptions)
-
- def testGenerateCatalogAsLines(self):
- mock_rest = self.mox.CreateMock(rest.RestClient)
- fake_datetime = datetime.datetime(year=2013, month=4, day=1,
- hour=11, minute=11, second=11)
- self.mox.StubOutWithMock(datetime, 'datetime')
- datetime.datetime.utcnow().AndReturn(fake_datetime)
- cfg = generate_catalog_file.CatalogFileGenerator("dublin",
- "sparc",
- "SunOS5.10",
- mock_rest)
- mock_rest.GetCatalogForGeneration('dublin', 'sparc', 'SunOS5.10').AndReturn(PKG_DATA_1)
- self.mox.ReplayAll()
- catalog_lines, descriptions = cfg._GenerateCatalogAsLines()
- expected_lines = [
- "# CREATIONDATE 2013-04-01T11:11:11Z",
- EXPECTED_LINE,
- ]
- self.assertEquals(expected_lines, catalog_lines)
- self.assertEquals(['389_admin - The 389 LDAP server Admin Tools'], descriptions)
-
- def testGenerateCatalog(self):
- mock_rest = self.mox.CreateMock(rest.RestClient)
- self.mox.StubOutWithMock(__builtin__, 'open')
- cfg = generate_catalog_file.CatalogFileGenerator("dublin",
- "sparc",
- "SunOS5.10",
- mock_rest)
- mock_rest.GetCatalogForGeneration('dublin', 'sparc', 'SunOS5.10').AndReturn(PKG_DATA_1)
- fake_file = io.BytesIO()
- fake_desc_file = io.BytesIO()
- open('fake-dir/catalog', 'w').AndReturn(fake_file)
- open('fake-dir/descriptions', 'w').AndReturn(fake_desc_file)
- self.mox.ReplayAll()
- cfg.GenerateCatalog('fake-dir')
-
-
-if __name__ == '__main__':
- unittest.main()
Modified: csw/mgar/gar/v2/lib/python/pkgdb.py
===================================================================
--- csw/mgar/gar/v2/lib/python/pkgdb.py 2014-03-16 12:36:28 UTC (rev 23237)
+++ csw/mgar/gar/v2/lib/python/pkgdb.py 2014-03-16 12:36:36 UTC (rev 23238)
@@ -51,7 +51,6 @@
%prog del-from-cat [ ... ]
%prog sync-cat-from-file
%prog sync-catalogs-from-tree
- %prog gen-cat
%prog show cat [options]
Inspecting individual packages:
@@ -610,86 +609,6 @@
res = m.GetCatPackagesResult(sqo_osrel, sqo_arch, sqo_catrel)
for obj in res:
print obj.catalogname, obj.basename, obj.md5_sum
- elif command == 'gen-cat':
- catrel = options.catrel or 'dublin'
- if options.catrel and options.catrel != catrel:
- logging.warn("Generating the %s catalog, not %s.",
- catrel, options.catrel)
- if catrel not in CATALOGS_ALLOWED_TO_GENERATE:
- raise UsageError(
- "Catalog %s not allowed to be generated from the database. "
- "Allowed catalogs are: %s"
- % (catrel, CATALOGS_ALLOWED_TO_GENERATE))
- if len(args) != 2:
- raise UsageError("Wrong number of arguments, see usage.")
- allpkgs_dir, target_dir = args
- archs = (
- common_constants.ARCH_i386,
- common_constants.ARCH_SPARC,
- )
- prev_osrels = []
-
- # A form of currying. Takes advantage of the fact that outer scope
- # variables are available inside the function.
- def GetTargetPath(osrel_short):
- return os.path.join(target_dir, catrel, arch, osrel_short)
-
- def ShortenOsrel(osrel):
- return osrel.replace("SunOS", "")
-
- # TODO: Move this definition to a better place
- for osrel in ("SunOS5.%s" % x for x in (8, 9, 10, 11)):
- for arch in archs:
- sqo_osrel, sqo_arch, sqo_catrel = m.GetSqoTriad(
- osrel, arch, catrel)
- pkgs = list(m.GetCatPackagesResult(sqo_osrel, sqo_arch, sqo_catrel))
- logging.debug("The catalog contains %s packages" % len(pkgs))
- # For now, only making hardlinks to packages from allpkgs
- osrel_short = ShortenOsrel(osrel)
- tgt_path = GetTargetPath(osrel_short)
- configuration.MkdirP(tgt_path)
- existing_files = os.listdir(tgt_path)
- for existing_file in existing_files:
- existing_path = os.path.join(tgt_path, existing_file)
- if '.pkg' in existing_file:
- logging.debug("Unlinking %s", repr(existing_path))
- os.unlink(existing_path)
- else:
- logging.debug("Not unlinking %s", existing_path)
- logging.debug("Number of existing files: %s", len(existing_files))
- for pkg in pkgs:
- src_path = os.path.join(allpkgs_dir, pkg.basename)
- if not os.path.exists(src_path):
- raise OpencswTreeError("File %s does not exist" % repr(src_path))
- # Try to find if the package was already available in previous
- # os releases
- already_existing_in_osrel = None
- for prev_osrel in prev_osrels:
- prev_path = os.path.join(
- GetTargetPath(ShortenOsrel(prev_osrel)), pkg.basename)
- if os.path.exists(prev_path):
- logging.debug("%s already exists in %s",
- pkg.basename, prev_path)
- already_existing_in_osrel = prev_osrel
- break
- if already_existing_in_osrel:
- # Symlink
- logging.debug(
- "ln -s ../%s/%s %s",
- already_existing_in_osrel, pkg.basename, pkg.basename)
- os.symlink(
- os.path.join("..", already_existing_in_osrel, pkg.basename),
- os.path.join(tgt_path, pkg.basename))
- else:
- # Hardlink
- logging.debug("cp -l %s %s/%s", src_path, tgt_path, pkg.basename)
- tgt_filename = os.path.join(tgt_path, pkg.basename)
- try:
- os.link(src_path, tgt_filename)
- except OSError, e:
- logging.fatal("Could not link %s to %s", src_path, tgt_filename)
- raise
- prev_osrels.append(osrel_short)
elif (command, subcommand) == ('show', 'files'):
md5_sum = args[0]
join = [
Added: csw/mgar/gar/v2/src/Makefile
===================================================================
--- csw/mgar/gar/v2/src/Makefile (rev 0)
+++ csw/mgar/gar/v2/src/Makefile 2014-03-16 12:36:36 UTC (rev 23238)
@@ -0,0 +1,7 @@
+all: make-catalog-links
+
+catalog-release-to-disk: catalog-release-to-disk.o
+ gccgo -o $@ $<
+
+%.o: %.go
+ gccgo -c $<
Added: csw/mgar/gar/v2/src/catalog-release-to-disk.go
===================================================================
--- csw/mgar/gar/v2/src/catalog-release-to-disk.go (rev 0)
+++ csw/mgar/gar/v2/src/catalog-release-to-disk.go 2014-03-16 12:36:36 UTC (rev 23238)
@@ -0,0 +1,833 @@
+// Generate OpenCSW catalog - symlinks and hardlinks on disk
+//
+// Obtains catalog contents via a REST interface, analyzes the disk state, and
+// only performs the necessary operations.
+//
+// Building this program:
+// gccgo -o catalog-release-to-disk catalog-release-to-disk.go
+//
+// As of 2014-03-16, this program is not packaged, but instead simply compiled
+// and put in place.
+
+package main
+
+import (
+ "bufio"
+ "encoding/json"
+ "errors"
+ "flag"
+ "fmt"
+ "log"
+ "net/http"
+ "os"
+ "path"
+ "path/filepath"
+ "sort"
+ "strconv"
+ "strings"
+ "sync"
+ "syscall"
+ "time"
+)
+
+// 3 strings that define a specific catalog
+type CatalogSpec struct {
+ catrel string
+ arch string
+ osrel string
+}
+
+func longOsrelAsInt(long_osrel string) int64 {
+ short_osrel := shortenOsrel(long_osrel)
+ fields := strings.Split(short_osrel, ".")
+ if len(fields) < 2 {
+ log.Fatalf("Error: %v does not conform to SunOS5.X\n", long_osrel)
+ }
+ sunos_version, err := strconv.ParseInt(fields[1], 10, 32)
+ if err != nil {
+ log.Fatalf("Could not parse %v as int\n", fields[1])
+ }
+ return sunos_version
+}
+// We want to order catalog specs by OS release, so we can go from the oldest
+// Solaris releases to the newest.
+type CatalogSpecs []CatalogSpec
+func (cs CatalogSpecs) Len() int { return len(cs) }
+func (cs CatalogSpecs) Swap(i, j int) { cs[i], cs[j] = cs[j], cs[i] }
+func (cs CatalogSpecs) Less(i, j int) bool {
+ // Ordering by: 1. catrel, 2. arch, 3. osrel
+ if cs[i].catrel != cs[j].catrel {
+ return cs[i].catrel < cs[j].catrel
+ }
+ if cs[i].arch != cs[j].arch {
+ return cs[i].arch < cs[j].arch
+ }
+ i_as_n := longOsrelAsInt(cs[i].osrel)
+ j_as_n := longOsrelAsInt(cs[j].osrel)
+ return i_as_n < j_as_n
+}
+
+type PkginstSlice []string
+
+func (p *PkginstSlice) FormatForIndexFile() string {
+ if len(*p) <= 0 {
+ return "none"
+ }
+ return strings.Join(*p, "|")
+}
+
+// A line in the catalog file; plus the extra description field
+type PkgInCatalog struct {
+ Catalogname string `json:"catalogname"`
+ Version string `json:"version"`
+ Pkginst string `json:"pkgname"`
+ Filename string `json:"basename"`
+ Md5_sum string `json:"md5_sum"`
+ Size uint64 `json:"size"`
+ Depends PkginstSlice `json:"deps"`
+ Category string `json:"category"`
+ I_depends PkginstSlice `json:"i_deps"`
+ Description string `json:"desc"`
+}
+
+func (p *PkgInCatalog) FormatCatalogIndexLine() string {
+ lst := []string{
+ p.Catalogname,
+ p.Version,
+ p.Pkginst,
+ p.Filename,
+ p.Md5_sum,
+ fmt.Sprintf("%v", p.Size),
+ p.Depends.FormatForIndexFile(),
+ p.Category,
+ p.I_depends.FormatForIndexFile(),
+ }
+ return strings.Join(lst, " ")
+}
+
+func (p *PkgInCatalog) FormatDescriptionLine() string {
+ lst := []string{ p.Catalogname, "-", p.Description, }
+ return strings.Join(lst, " ")
+}
+
+type Catalog []PkgInCatalog
+
+type CatalogWithSpec struct {
+ spec CatalogSpec
+ pkgs Catalog
+}
+
+const (
+ Symlink = iota
+ Hardlink
+)
+
+type LinkOnDisk struct {
+ file_name string
+ link_type int
+ target *string
+}
+
+func ParseCatalogFormatPkginstList(s string) []string {
+ if s == "none" {
+ slice := make(PkginstSlice, 0)
+ return slice
+ }
+ return strings.Split(s, "|")
+}
+
+func (self *PkginstSlice) UnmarshalJSON(data []byte) error {
+ var foo string
+ err := json.Unmarshal(data, &foo)
+ if err != nil {
+ return err
+ }
+ *self = ParseCatalogFormatPkginstList(foo)
+ return nil
+}
+
+// Our REST interface returns catspecs as lists, so let's have a common
+// function to construct catspec structs from lists.
+func MakeCatalogSpec(lst []string) (CatalogSpec, error) {
+ var catspec CatalogSpec
+ if len(lst) != 3 {
+ return catspec, errors.New("Array of length 3 is needed.")
+ }
+ // We already have this in the unmarshal bit.
+ catspec.catrel = lst[2]
+ catspec.arch = lst[1]
+ catspec.osrel = lst[0]
+ return catspec, nil
+}
+
+func MakeCatalogWithSpec(catspec CatalogSpec, pkgs Catalog) CatalogWithSpec {
+ var cws CatalogWithSpec
+ cws.spec = catspec
+ cws.pkgs = pkgs
+ return cws
+}
+
+func NewPkgInCatalog(lst []string) (*PkgInCatalog, error) {
+ size, err := strconv.ParseUint(lst[5], 10, 64)
+ if err != nil {
+ return nil, err
+ }
+ if size <= 0 {
+ return nil, fmt.Errorf(
+ "Package size must be greater than 0: %v in %v", lst[5], lst)
+ }
+
+ depends := make([]string, 0)
+ if lst[6] != "none" {
+ depends = strings.Split(lst[6], "|")
+ }
+
+ i_depends := make([]string, 0)
+ if lst[8] != "none" {
+ i_depends = strings.Split(lst[8], "|")
+ }
+
+ var pkg PkgInCatalog
+ pkg.Catalogname = lst[0]
+ pkg.Version = lst[1]
+ pkg.Pkginst = lst[2]
+ pkg.Filename = lst[3]
+ pkg.Md5_sum = lst[4]
+ pkg.Size = size
+ pkg.Depends = depends
+ pkg.Category = lst[7]
+ pkg.I_depends = i_depends
+ pkg.Description = lst[9]
+ return &pkg, nil
+}
+
+func (self *CatalogSpec) UnmarshalJSON(data []byte) error {
+ var slice []string
+ err := json.Unmarshal(data, &slice)
+ if err != nil {
+ return err
+ }
+ if len(slice) != 3 {
+ return fmt.Errorf("%+v is wrong length, should be 3", slice)
+ }
+ self.catrel = slice[2]
+ self.arch = slice[1]
+ self.osrel = slice[0]
+ return nil
+}
+
+func GetCatalogSpecs() (CatalogSpecs, error) {
+ url := fmt.Sprintf("%s/catalogs/", pkgdb_url)
+ resp, err := http.Get(url)
+ if err != nil {
+ return nil, err
+ }
+ defer resp.Body.Close()
+
+ catspecs := make(CatalogSpecs, 0)
+ dec := json.NewDecoder(resp.Body)
+ dec.Decode(&catspecs)
+
+ if len(catspecs) <= 0 {
+ return nil, fmt.Errorf("Retrieved 0 catalogs")
+ }
+
+ log.Println("GetCatalogSpecs returns", len(catspecs), "catalogs from", url)
+ return catspecs, nil
+}
+
+func GetCatalogWithSpec(catspec CatalogSpec) (CatalogWithSpec, error) {
+ url := fmt.Sprintf("%s/catalogs/%s/%s/%s/for-generation/as-dicts/",
+ pkgdb_url, catspec.catrel, catspec.arch, catspec.osrel)
+ log.Println("Making a request to", url)
+ resp, err := http.Get(url)
+ if err != nil {
+ log.Panicln("Could not retrieve the catalog list.", err)
+ return CatalogWithSpec{}, err
+ }
+ defer resp.Body.Close()
+
+ var pkgs Catalog
+ dec := json.NewDecoder(resp.Body)
+ dec.Decode(&pkgs)
+
+ log.Println("Retrieved", catspec, "with", len(pkgs), "packages")
+
+ cws := MakeCatalogWithSpec(catspec, pkgs)
+ return cws, nil
+}
+
+func filterCatspecs(all_catspecs CatalogSpecs, catrel string) CatalogSpecs {
+ catspecs := make(CatalogSpecs, 0)
+ for _, catspec := range all_catspecs {
+ if catspec.catrel == catrel {
+ catspecs = append(catspecs, catspec)
+ }
+ }
+ return catspecs
+}
+
+func shortenOsrel(longosrel string) string {
+ return strings.Replace(longosrel, "SunOS", "", -1)
+}
+
+// Defines layout of files on disk. Can be built from the database or from
+// disk.
+type FilesOfCatalog map[CatalogSpec]map[string]LinkOnDisk
+
+func GetCatalogsFromREST(catalogs_ch chan []CatalogWithSpec, catspecs CatalogSpecs) {
+ catalogs := make([]CatalogWithSpec, 0)
+ var wg sync.WaitGroup
+ type fetchResult struct {cws CatalogWithSpec; err error }
+ ch := make(chan fetchResult)
+ for _, catspec := range catspecs {
+ wg.Add(1)
+ go func(catspec CatalogSpec) {
+ defer wg.Done()
+ catalog_with_spec, err := GetCatalogWithSpec(catspec)
+ if err != nil {
+ log.Println(err)
+ ch <- fetchResult{CatalogWithSpec{}, err}
+ }
+ ch <- fetchResult{catalog_with_spec, nil}
+ }(catspec)
+ }
+ // The channel will be closed when all fetches are done. We can process
+ // available results in the meantime.
+ go func() { wg.Wait(); close(ch) }()
+
+ for {
+ if result, ok := <-ch; !ok {
+ // Channel has been closed; no more results to process.
+ break
+ } else if result.err != nil {
+ log.Fatalln("Catalog fetch failed:", result.err,
+ "We don't want to continue, because this could result in " +
+ "wiping an existing catalog from disk because of an " +
+ "intermittent network issue.")
+ } else {
+ catalogs = append(catalogs, result.cws)
+ }
+ }
+ // We have 2 places that read this data.
+ catalogs_ch <- catalogs
+ catalogs_ch <- catalogs
+}
+
+func GetFilesOfCatalogFromDatabase(files_from_db_chan chan *FilesOfCatalog,
+ catrel string, catalog_ch chan []CatalogWithSpec) {
+ catalogs := <-catalog_ch
+ catalogs_by_spec := make(map[CatalogSpec]CatalogWithSpec)
+ catspecs := make(CatalogSpecs, 0)
+ for _, cws := range catalogs {
+ catalogs_by_spec[cws.spec] = cws
+ catspecs = append(catspecs, cws.spec)
+ }
+ files_by_catspec := make(FilesOfCatalog)
+ // We must traverse catalogs in sorted order, e.g. Solaris 9 before Solaris 10.
+ sort.Sort(catspecs)
+ visited_catalogs := make(map[CatalogSpec]CatalogSpecs)
+ for _, catspec := range catspecs {
+ // Used to group catalogs we can symlink from
+ compatible_catspec := CatalogSpec{catspec.catrel, catspec.arch, "none"}
+ pkgs := catalogs_by_spec[catspec].pkgs
+ for _, pkg := range pkgs {
+ if _, ok := files_by_catspec[catspec]; !ok {
+ files_by_catspec[catspec] = make(map[string]LinkOnDisk)
+ }
+ var target string
+ var exists_already bool
+ // var exists_in_cat CatalogSpec
+ // Does this path already exist? If so, we'll add a symlink.
+ // Looking back at previous osrels
+ if visited_compatible, ok := visited_catalogs[compatible_catspec]; ok {
+ // We need to iterate in reverse order, from the newest to the oldest
+ // Solaris versions.
+ for i := len(visited_compatible) - 1; i >= 0; i-- {
+ cand_catspec := visited_compatible[i]
+ if _, ok := files_by_catspec[cand_catspec]; ok {
+ if _, ok := files_by_catspec[cand_catspec][pkg.Filename]; ok {
+ exists_already = true
+ target = fmt.Sprintf("../%s/%s",
+ shortenOsrel(cand_catspec.osrel),
+ pkg.Filename)
+ break
+ }
+ }
+ }
+ }
+ var link LinkOnDisk
+ if exists_already {
+ link = LinkOnDisk{pkg.Filename, Symlink, &target}
+ } else {
+ link = LinkOnDisk{pkg.Filename, Hardlink, nil}
+ }
+ files_by_catspec[catspec][pkg.Filename] = link
+ }
+ if _, ok := visited_catalogs[compatible_catspec]; !ok {
+ visited_catalogs[compatible_catspec] = make(CatalogSpecs, 0)
+ }
+ visited_catalogs[compatible_catspec] = append(visited_catalogs[compatible_catspec], catspec)
+ }
+ files_from_db_chan <- &files_by_catspec
+}
+
+func GetFilesOfCatalogFromDisk(files_from_disk_chan chan *FilesOfCatalog, root_path string,
+ catrel string) {
+ files_by_catspec := make(FilesOfCatalog)
+ path_to_scan := path.Join(root_path, catrel)
+ err := filepath.Walk(path_to_scan,
+ func(path string, f os.FileInfo, err error) error {
+ if err != nil {
+ return err
+ }
+ if f.Mode() & os.ModeDir > 0 {
+ // We're ignoring directories.
+ return nil
+ }
+ rel_path := strings.TrimPrefix(path, path_to_scan + "/")
+ fields := strings.Split(rel_path, "/")
+ if len(fields) != 3 {
+ log.Println("Wrong path found:", fields)
+ }
+ arch := fields[0]
+ osrel := fmt.Sprintf("SunOS%s", fields[1])
+ basename := fields[2]
+ catspec := CatalogSpec{catrel, arch, osrel}
+ // Figuring out the file type: hardlink/symlink
+ var link LinkOnDisk
+ if !(strings.HasSuffix(basename, ".pkg.gz") ||
+ strings.HasSuffix(basename, ".pkg")) {
+ // Not a package, won't be processed. This means the file won't be
+ // removed if not in the database.
+ return nil
+ }
+ if f.Mode().IsRegular() {
+ link = LinkOnDisk{basename, Hardlink, nil}
+ } else if f.Mode() & os.ModeSymlink > 0 {
+ target, err := os.Readlink(path)
+ if err != nil {
+ log.Printf("Reading link of %v failed: %v\n", path, err)
+ } else {
+ link = LinkOnDisk{basename, Symlink, &target}
+ }
+ } else {
+ log.Println(path, "Is not a hardlink or a symlink. What is it then? Ignoring.")
+ }
+ if _, ok := files_by_catspec[catspec]; !ok {
+ files_by_catspec[catspec] = make(map[string]LinkOnDisk)
+ }
+ files_by_catspec[catspec][basename] = link
+ return nil
+ })
+ if err != nil {
+ log.Fatalf("filepath.Walk() failed with: %v\n", err)
+ }
+ files_from_disk_chan <- &files_by_catspec
+}
+
+func FilesOfCatalogDiff(base_files *FilesOfCatalog,
+ to_substract *FilesOfCatalog) *FilesOfCatalog {
+ left_in_base := make(FilesOfCatalog)
+ for catspec, filemap := range *base_files {
+ for path, link := range filemap {
+ // Is it in the database?
+ in_db := false
+ if files_db, ok := (*to_substract)[catspec]; ok {
+ if _, ok := files_db[path]; ok {
+ in_db = true
+ }
+ }
+ if !in_db {
+ if _, ok := left_in_base[catspec]; !ok {
+ left_in_base[catspec] = make(map[string]LinkOnDisk)
+ }
+ left_in_base[catspec][path] = link
+ }
+ }
+ }
+ return &left_in_base
+}
+
+// Returns true if there were any operations performed
+func UpdateDisk(files_to_add *FilesOfCatalog,
+ files_to_remove *FilesOfCatalog,
+ catalog_root string) bool {
+ changes_made := false
+
+ for catspec, files_by_path := range *files_to_add {
+ for path, link := range files_by_path {
+ tgt_path := filepath.Join(catalog_root, catspec.catrel, catspec.arch,
+ shortenOsrel(catspec.osrel), path)
+ if link.link_type == Hardlink {
+ src_path := filepath.Join(catalog_root, "allpkgs", path)
+ if !dry_run {
+ if err := syscall.Link(src_path, tgt_path); err != nil {
+ log.Fatalf("Could not create hardlink from %v to %v: %v",
+ src_path, tgt_path, err)
+ }
+ }
+ log.Printf("ln \"%s\"\n \"%s\"\n", src_path, tgt_path)
+ changes_made = true
+ } else if link.link_type == Symlink {
+ // The source path is relative to the target, because it's a symlink
+ src_path := *(link.target)
+ if !dry_run {
+ if err := syscall.Symlink(src_path, tgt_path); err != nil {
+ log.Fatalf("Could not symlink %v to %v: %v", src_path, tgt_path, err)
+ }
+ }
+ log.Printf("ln -s \"%s\"\n \"%s\"\n", src_path, tgt_path)
+ changes_made = true
+ } else {
+ log.Fatalln("Zonk! Wrong link type in %+v", link)
+ }
+ }
+ }
+
+ for catspec, files_by_path := range *files_to_remove {
+ for path, _ := range files_by_path {
+ pkg_path := filepath.Join(catalog_root, catspec.catrel, catspec.arch,
+ shortenOsrel(catspec.osrel), path)
+ if !dry_run {
+ if err:= syscall.Unlink(pkg_path); err != nil {
+ log.Fatalf("Could not unlink %v: %v", pkg_path, err)
+ }
+ }
+ log.Printf("rm \"%s\"\n", pkg_path)
+ changes_made = true
+ }
+ }
+ return changes_made
+}
+
+func FormatCatalogFilePath(root_path string, catspec CatalogSpec,
+ filename string) string {
+ return filepath.Join(root_path, catspec.catrel,
+ catspec.arch, shortenOsrel(catspec.osrel),
+ filename)
+}
+
+func GetCatalogFromIndexFile(catalog_root string,
+ catspec CatalogSpec) (*CatalogWithSpec, error) {
+ pkgs := make(Catalog, 0)
+ // Read the descriptions first, and build a map so that descriptions can be
+ // easily accessed when parsing the catalog file.
+ desc_file_path := FormatCatalogFilePath(catalog_root, catspec, "descriptions")
+ catalog_file_path := FormatCatalogFilePath(catalog_root, catspec, "catalog")
+ desc_by_catalogname := make(map[string]string)
+ desc_file, err := os.Open(desc_file_path)
+ if err != nil {
+ // Missing file is equivalent to an empty catalog.
+ return &CatalogWithSpec{catspec, pkgs}, nil
+ }
+ defer desc_file.Close()
+ desc_scanner := bufio.NewScanner(desc_file)
+ for desc_scanner.Scan() {
+ fields := strings.SplitN(desc_scanner.Text(), " ", 3)
+ if len(fields) < 3 {
+ log.Println("Could not parse description line:", fields)
+ continue
+ }
+ catalogname := fields[0]
+ description := fields[2]
+ desc_by_catalogname[catalogname] = description
+ }
+
+ cat_file, err := os.Open(catalog_file_path)
+ if err != nil {
+ // Missing catalog file is equivalent to an empty file
+ return &CatalogWithSpec{catspec, pkgs}, nil
+ }
+ defer cat_file.Close()
+
+ scanner := bufio.NewScanner(cat_file)
+ for scanner.Scan() {
+ fields := strings.Fields(scanner.Text())
+ if len(fields) != 9 {
+ // Line does not conform, ignoring. It's a GPG signature line, or an
+ // empty line, or something else.
+ continue
+ }
+ catalogname := fields[0]
+ desc, ok := desc_by_catalogname[catalogname]
+ if !ok {
+ log.Fatalln("Did not find description for", catalogname)
+ }
+ size, err := strconv.ParseUint(fields[5], 10, 32)
+ if err != nil {
+ log.Fatalln("Could not parse size")
+ }
+ if size <= 0 {
+ log.Fatalln("Package size must be > 0:", fields[5])
+ }
+ deps := ParseCatalogFormatPkginstList(fields[6])
+ i_deps := ParseCatalogFormatPkginstList(fields[8])
+ pkg := PkgInCatalog{
+ catalogname,
+ fields[1],
+ fields[2],
+ fields[3],
+ fields[4],
+ size,
+ deps,
+ fields[7],
+ i_deps,
+ desc,
+ }
+ pkgs = append(pkgs, pkg)
+ }
+ if err := scanner.Err(); err != nil {
+ log.Fatalf("Error reading %v: %v", catalog_file_path, err)
+ }
+ log.Println("Catalog index found:", catspec, "and", len(pkgs), "pkgs")
+ cws := MakeCatalogWithSpec(catspec, pkgs)
+ return &cws, nil
+}
+
+func GetCatalogIndexes(catspecs CatalogSpecs,
+ root_dir string) []CatalogWithSpec {
+ // Read all catalog files and parse them.
+ catalogs := make([]CatalogWithSpec, 0)
+ for _, catspec := range catspecs {
+ catalog, err := GetCatalogFromIndexFile(root_dir, catspec)
+ if err != nil {
+ log.Fatalln("Could not get the index file of", catspec, "in",
+ root_dir, "error:", err)
+ }
+ catalogs = append(catalogs, *catalog)
+ }
+ return catalogs
+}
+
+// Struct to hold information about catalog comparisons
+type catalogPair struct {
+ c1 CatalogWithSpec
+ c2 CatalogWithSpec
+}
+
+func GroupCatalogsBySpec(c1, c2 []CatalogWithSpec) (*map[CatalogSpec]catalogPair) {
+ pairs_by_spec := make(map[CatalogSpec]catalogPair)
+ for _, cws := range c1 {
+ pairs_by_spec[cws.spec] = catalogPair{cws, CatalogWithSpec{}}
+ }
+ for _, cws := range c2 {
+ if pair, ok := pairs_by_spec[cws.spec]; ok {
+ pair.c2 = cws
+ pairs_by_spec[cws.spec] = pair
+ } else {
+ log.Println("Did not find", cws.spec, "in c2")
+ }
+ }
+ return &pairs_by_spec
+}
+
+func MassCompareCatalogs(c1, c2 []CatalogWithSpec) (*map[CatalogSpec]bool) {
+ result := make(map[CatalogSpec]bool)
+
+ pairs_by_spec := GroupCatalogsBySpec(c1, c2)
+
+ // The catalog disk/db pairs are ready to be compared.
+ for spec, pair := range *pairs_by_spec {
+ result[spec] = false
+ // DeepEqual could do it, but it is too crude; doesn't provide details
+ // This code can probably be simplified.
+ catalognames := make(map[string]bool)
+ on_disk_by_catn := make(map[string]PkgInCatalog)
+ in_db_by_catn := make(map[string]PkgInCatalog)
+ for _, pkg := range pair.c1.pkgs {
+ catalognames[pkg.Catalogname] = true
+ on_disk_by_catn[pkg.Catalogname] = pkg
+ }
+ for _, pkg := range pair.c2.pkgs {
+ catalognames[pkg.Catalogname] = true
+ in_db_by_catn[pkg.Catalogname] = pkg
+ }
+ for catalogname, _ := range catalognames {
+ pkg_disk, ok := on_disk_by_catn[catalogname]
+ if ok {
+ pkg_db, ok := in_db_by_catn[catalogname]
+ if ok {
+ // This comparison method is a bit silly. But we can't simply compare
+ // the structs, because they contain slices, and slices are not
+ // comparable.
+ if pkg_db.FormatCatalogIndexLine() != pkg_disk.FormatCatalogIndexLine() {
+ log.Printf("different in %s: %v %v vs %v, enough to trigger " +
+ "catalog index generation\n", spec, pkg_db.Filename,
+ pkg_db.Md5_sum, pkg_disk.Md5_sum)
+ result[spec] = true
+ break
+ }
+ }
+ }
+ }
+ }
+
+ return &result
+}
+
+func GenerateCatalogIndexFile(catalog_root string,
+ cws CatalogWithSpec) {
+ log.Printf("GenerateCatalogIndexFile(%v, %v)\n", catalog_root, cws.spec)
+ catalog_file_path := FormatCatalogFilePath(catalog_root, cws.spec, "catalog")
+
+ var catbuf *bufio.Writer
+ var descbuf *bufio.Writer
+
+ if !dry_run {
+ catalog_fd, err := os.Create(catalog_file_path)
+ if err != nil {
+ log.Fatalln("Could not open", catalog_file_path, "for writing:", err)
+ }
+ defer catalog_fd.Close()
+
+ catbuf = bufio.NewWriter(catalog_fd)
+ defer catbuf.Flush()
+
+ desc_file_path := FormatCatalogFilePath(catalog_root, cws.spec, "descriptions")
+ desc_fd, err := os.Create(desc_file_path)
+ if err != nil {
+ log.Fatalln("Could not open", desc_file_path, "for writing:", err)
+ }
+ defer desc_fd.Close()
+
+ descbuf = bufio.NewWriter(desc_fd)
+ defer descbuf.Flush()
+ } else {
+ log.Println("Dry run: printing catalog to stdout")
+ catbuf = bufio.NewWriter(os.Stdout)
+ defer catbuf.Flush()
+ descbuf = bufio.NewWriter(os.Stdout)
+ defer descbuf.Flush()
+ }
+
+ // http://www.opencsw.org/manual/for-maintainers/catalog-format.html
+ ts_line := fmt.Sprintf("# CREATIONDATE %s\n", time.Now().Format(time.RFC3339))
+ catbuf.WriteString(ts_line)
+
+ for _, pkg := range cws.pkgs {
+ catbuf.WriteString(pkg.FormatCatalogIndexLine())
+ catbuf.WriteString("\n")
+ descbuf.WriteString(pkg.FormatDescriptionLine())
+ descbuf.WriteString("\n")
+ }
+}
+
+func GenerateCatalogRelease(catrel string, catalog_root string) {
+ log.Println("catrel:", catrel)
+ log.Println("catalog_root:", catalog_root)
+
+ all_catspecs, err := GetCatalogSpecs()
+ if err != nil {
+ log.Panicln("Could not get the catalog spec list")
+ }
+ // Because of memory constraints, we're only processing 1 catalog in one run
+ catspecs := filterCatspecs(all_catspecs, catrel_flag)
+
+ // The plan:
+ // 1. build a data structure representing all the hardlinks and symlinks
+ // based on the catalogs
+
+ catalog_ch := make(chan []CatalogWithSpec)
+ go GetCatalogsFromREST(catalog_ch, catspecs)
+ files_from_db_chan := make(chan *FilesOfCatalog)
+ go GetFilesOfCatalogFromDatabase(files_from_db_chan, catrel, catalog_ch)
+
+ // 2. build a data structure based on the contents of the disk
+ // it should be done in parallel
+ files_from_disk_chan := make(chan *FilesOfCatalog)
+ go GetFilesOfCatalogFromDisk(files_from_disk_chan, catalog_root, catrel)
+
+ // 3. Retrieve results
+ files_by_catspec_disk := <-files_from_disk_chan
+ files_by_catspec_db := <-files_from_db_chan
+
+ // 4. compare, generate a list of operations to perform
+
+ log.Println("Calculating the difference")
+ files_to_add := FilesOfCatalogDiff(files_by_catspec_db,
+ files_by_catspec_disk)
+ files_to_remove := FilesOfCatalogDiff(files_by_catspec_disk,
+ files_by_catspec_db)
+
+ // 5. perform these operations
+ // ...or save a disk file with instructions.
+ if dry_run {
+ log.Println("Dry run, only logging operations that would have been made.")
+ } else {
+ log.Println("Applying link/unlink operations to disk")
+ }
+ changes_made := UpdateDisk(files_to_add, files_to_remove, catalog_root)
+ if !changes_made {
+ if dry_run {
+ log.Println("It was a dry run, but there would not have been any " +
+ "link/unlink operations performed anyway")
+ } else {
+ log.Println("There were no link/unlink operations to perform")
+ }
+ }
+
+ // 6. TODO: Generate the catalog index files
+ // First of all, are the current files up to date? Just that we modified
+ // linked/unlinked files on disk doesn't mean the catalog file needs to be
+ // updated.
+
+ // Getting the content of catalog index files
+ catalogs_idx_on_disk := GetCatalogIndexes(catspecs, catalog_root)
+ catalogs_in_db := <-catalog_ch
+
+ diff_flag_by_spec := MassCompareCatalogs(catalogs_in_db, catalogs_idx_on_disk)
+ log.Println(*diff_flag_by_spec)
+
+ var wg sync.WaitGroup
+ for _, cws := range catalogs_in_db {
+ diff_present, ok := (*diff_flag_by_spec)[cws.spec]
+ if !ok { continue }
+ if diff_present {
+ wg.Add(1)
+ go func(catalog_root string, cws CatalogWithSpec) {
+ defer wg.Done()
+ GenerateCatalogIndexFile(catalog_root, cws)
+ }(catalog_root, cws)
+ } else {
+ log.Println("Not regenerating", cws.spec,
+ "because catalog contents on disk and in the database " +
+ "is the same.")
+ }
+ }
+ wg.Wait()
+
+ // This utility needs to be run for each catalog release, but different
+ // catalog releases can be done concurrently.
+
+ // This utility could be rewritten to regenerate all the catalogs in a single
+ // run at the cost of using more RAM.
+}
+
+// Command line flags
+var catrel_flag string
+var catalog_root_flag string
+var pkgdb_url string
+var dry_run bool
+func init() {
+ flag.StringVar(&catrel_flag, "catalog-release", "unstable",
+ "e.g. unstable, bratislava, kiel, dublin")
+ flag.StringVar(&catalog_root_flag, "catalog-root",
+ "/export/mirror/opencsw",
+ "Directory where all the catalogs live, and allpkgs is")
+ flag.StringVar(&pkgdb_url, "pkgdb-url",
+ "http://buildfarm.opencsw.org/pkgdb/rest",
+ "Web address of the pkgdb app.")
+ flag.BoolVar(&dry_run, "dry-run", false,
+ "Dry run mode, no changes on disk are made")
+}
+
+func main() {
+ flag.Parse()
+ GenerateCatalogRelease(catrel_flag, catalog_root_flag)
+
+ // Let's generate the catalog index too. And the description file. We've
+ // already got all the necessary data. We also know whether we actually need
+ // to generate a new catalog: when there were any operations to be made on
+ // disk.
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 16 14:43:17 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 16 Mar 2014 13:43:17 +0000
Subject: SF.net SVN: gar:[23239] csw/mgar/gar/v2/src/catalog-release-to-disk.go
Message-ID: <3fn20j5CRrzHF@mail.opencsw.org>
Revision: 23239
http://sourceforge.net/p/gar/code/23239
Author: wahwah
Date: 2014-03-16 13:43:17 +0000 (Sun, 16 Mar 2014)
Log Message:
-----------
cat-gen: Fixes to the catalog diffing function
The function was incomplete.
Modified Paths:
--------------
csw/mgar/gar/v2/src/catalog-release-to-disk.go
Modified: csw/mgar/gar/v2/src/catalog-release-to-disk.go
===================================================================
--- csw/mgar/gar/v2/src/catalog-release-to-disk.go 2014-03-16 12:36:36 UTC (rev 23238)
+++ csw/mgar/gar/v2/src/catalog-release-to-disk.go 2014-03-16 13:43:17 UTC (rev 23239)
@@ -623,47 +623,60 @@
}
func MassCompareCatalogs(c1, c2 []CatalogWithSpec) (*map[CatalogSpec]bool) {
- result := make(map[CatalogSpec]bool)
+ diff_detected := make(map[CatalogSpec]bool)
pairs_by_spec := GroupCatalogsBySpec(c1, c2)
// The catalog disk/db pairs are ready to be compared.
for spec, pair := range *pairs_by_spec {
- result[spec] = false
+ diff_detected[spec] = false
// DeepEqual could do it, but it is too crude; doesn't provide details
// This code can probably be simplified.
catalognames := make(map[string]bool)
- on_disk_by_catn := make(map[string]PkgInCatalog)
- in_db_by_catn := make(map[string]PkgInCatalog)
+ c1_by_catn := make(map[string]PkgInCatalog)
+ c2_by_catn := make(map[string]PkgInCatalog)
+ if len(pair.c1.pkgs) != len(pair.c2.pkgs) {
+ log.Printf("%v: %v vs %v are different length\n",
+ spec, len(pair.c1.pkgs), len(pair.c2.pkgs))
+ diff_detected[spec] = true
+ continue
+ }
for _, pkg := range pair.c1.pkgs {
catalognames[pkg.Catalogname] = true
- on_disk_by_catn[pkg.Catalogname] = pkg
+ c1_by_catn[pkg.Catalogname] = pkg
}
for _, pkg := range pair.c2.pkgs {
catalognames[pkg.Catalogname] = true
- in_db_by_catn[pkg.Catalogname] = pkg
+ c2_by_catn[pkg.Catalogname] = pkg
}
for catalogname, _ := range catalognames {
- pkg_disk, ok := on_disk_by_catn[catalogname]
+ pkg_disk, ok := c1_by_catn[catalogname]
if ok {
- pkg_db, ok := in_db_by_catn[catalogname]
+ pkg_db, ok := c2_by_catn[catalogname]
if ok {
// This comparison method is a bit silly. But we can't simply compare
// the structs, because they contain slices, and slices are not
// comparable.
if pkg_db.FormatCatalogIndexLine() != pkg_disk.FormatCatalogIndexLine() {
- log.Printf("different in %s: %v %v vs %v, enough to trigger " +
+ log.Printf("different in %v: %v %v vs %v, enough to trigger " +
"catalog index generation\n", spec, pkg_db.Filename,
pkg_db.Md5_sum, pkg_disk.Md5_sum)
- result[spec] = true
+ diff_detected[spec] = true
break
}
+ log.Printf("different in %v: %v not found in c2\n", spec, catalogname)
+ diff_detected[spec] = true
+ break
}
+ } else {
+ log.Printf("different in %v: %v not found in c1\n", spec, catalogname)
+ diff_detected[spec] = true
+ break
}
}
}
- return &result
+ return &diff_detected
}
func GenerateCatalogIndexFile(catalog_root string,
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 16 21:53:57 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 16 Mar 2014 20:53:57 +0000
Subject: SF.net SVN: gar:[23240] csw/mgar/pkg/lang-python/zope-interface/trunk
Message-ID: <3fnCYW6rL3zl6@mail.opencsw.org>
Revision: 23240
http://sourceforge.net/p/gar/code/23240
Author: wahwah
Date: 2014-03-16 20:53:55 +0000 (Sun, 16 Mar 2014)
Log Message:
-----------
lang-python/zope-interface/trunk: version bump to 4.1.0
Modified Paths:
--------------
csw/mgar/pkg/lang-python/zope-interface/trunk/Makefile
csw/mgar/pkg/lang-python/zope-interface/trunk/checksums
Modified: csw/mgar/pkg/lang-python/zope-interface/trunk/Makefile
===================================================================
--- csw/mgar/pkg/lang-python/zope-interface/trunk/Makefile 2014-03-16 13:43:17 UTC (rev 23239)
+++ csw/mgar/pkg/lang-python/zope-interface/trunk/Makefile 2014-03-16 20:53:55 UTC (rev 23240)
@@ -3,7 +3,7 @@
# $Id$
NAME = zope.interface
-VERSION = 4.0.5
+VERSION = 4.1.0
CATEGORIES = python
GARTYPE = v2
@@ -12,7 +12,7 @@
endef
MASTER_SITES += $(PYPI_MIRROR)
-DISTFILES += $(DISTNAME).zip
+DISTFILES += $(DISTNAME).tar.gz
VENDOR_URL = http://pypi.python.org/pypi/zope.interface
LICENSE = LICENSE.txt
Modified: csw/mgar/pkg/lang-python/zope-interface/trunk/checksums
===================================================================
--- csw/mgar/pkg/lang-python/zope-interface/trunk/checksums 2014-03-16 13:43:17 UTC (rev 23239)
+++ csw/mgar/pkg/lang-python/zope-interface/trunk/checksums 2014-03-16 20:53:55 UTC (rev 23240)
@@ -1 +1 @@
-caf26025ae1b02da124a58340e423dfe zope.interface-4.0.5.zip
+ac63de1784ea0327db876c908af07a94 zope.interface-4.1.0.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 Sun Mar 16 22:27:10 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 16 Mar 2014 21:27:10 +0000
Subject: SF.net SVN: gar:[23241] csw/mgar/pkg/cloog/trunk
Message-ID: <3fnDHw3b9jzqQ@mail.opencsw.org>
Revision: 23241
http://sourceforge.net/p/gar/code/23241
Author: wahwah
Date: 2014-03-16 21:27:06 +0000 (Sun, 16 Mar 2014)
Log Message:
-----------
cloog/trunk: Version bump, workaround added from https://groups.google.com/d/msg/cloog-development/2XBdvziVrNM/YRnx1bFSSFQJ
Modified Paths:
--------------
csw/mgar/pkg/cloog/trunk/Makefile
csw/mgar/pkg/cloog/trunk/checksums
Added Paths:
-----------
csw/mgar/pkg/cloog/trunk/files/cloog-isl-config.cmake
csw/mgar/pkg/cloog/trunk/files/isl-config.cmake
Modified: csw/mgar/pkg/cloog/trunk/Makefile
===================================================================
--- csw/mgar/pkg/cloog/trunk/Makefile 2014-03-16 20:53:55 UTC (rev 23240)
+++ csw/mgar/pkg/cloog/trunk/Makefile 2014-03-16 21:27:06 UTC (rev 23241)
@@ -3,7 +3,7 @@
# $Id$
NAME = cloog
-VERSION = 0.18.0
+VERSION = 0.18.2
GARTYPE = v2
DESCRIPTION = Code Generator in the Polyhedral Model
define BLURB
@@ -11,6 +11,8 @@
VENDOR_URL = http://www.cloog.org/
MASTER_SITES = http://www.bastoul.net/cloog/pages/download/
DISTFILES = $(NAME)-$(VERSION).tar.gz
+DISTFILES += isl-config.cmake
+DISTFILES += cloog-isl-config.cmake
CONFIGURE_ARGS = $(DIRPATHS)
BUILD64_LIBS_ONLY = 1
GARCOMPILER = GNU
@@ -30,7 +32,7 @@
SPKG_DESC_CSWlibcloog-isl4 += $(DESCRIPTION), libcloog-isl.so.4
RUNTIME_DEP_PKGS_CSWlibcloog-isl4 += CSWlibgcc-s1
RUNTIME_DEP_PKGS_CSWlibcloog-isl4 += CSWlibgmp10
-RUNTIME_DEP_PKGS_CSWlibcloog-isl4 += CSWlibisl7
+RUNTIME_DEP_PKGS_CSWlibcloog-isl4 += CSWlibisl10
PACKAGES += CSWlibisl10
PKGFILES_CSWlibisl10 += $(call baseisadirs,$(libdir),libisl\.so\.10(\.\d+)*)
@@ -54,3 +56,11 @@
SKIPTEST = 1
include gar/category.mk
+
+post-extract:
+ if [ -d $(WORKSRC) ]; then \
+ mkdir $(WORKSRC)/cmake; \
+ gcp -v $(WORKDIR)/isl-config.cmake $(WORKSRC)/cmake; \
+ gcp -v $(WORKDIR)/cloog-isl-config.cmake $(WORKSRC)/cmake; \
+ fi
+ @$(MAKECOOKIE)
Modified: csw/mgar/pkg/cloog/trunk/checksums
===================================================================
--- csw/mgar/pkg/cloog/trunk/checksums 2014-03-16 20:53:55 UTC (rev 23240)
+++ csw/mgar/pkg/cloog/trunk/checksums 2014-03-16 21:27:06 UTC (rev 23241)
@@ -1 +1 @@
-be78a47bd82523250eb3e91646db5b3d cloog-0.18.0.tar.gz
+69116aa6cd5e73f6b688d871875e1292 cloog-0.18.2.tar.gz
Added: csw/mgar/pkg/cloog/trunk/files/cloog-isl-config.cmake
===================================================================
--- csw/mgar/pkg/cloog/trunk/files/cloog-isl-config.cmake (rev 0)
+++ csw/mgar/pkg/cloog/trunk/files/cloog-isl-config.cmake 2014-03-16 21:27:06 UTC (rev 23241)
@@ -0,0 +1,26 @@
+# Try to find the cloog-isl library
+
+# CLOOG_ISL_FOUND - System has cloog-isl lib
+# CLOOG_ISL_INCLUDE_DIR - The cloog-isl include directory
+# CLOOG_ISL_LIBRARY - Library needed to use cloog-isl
+
+
+if (CLOOG_ISL_INCLUDE_DIR AND CLOOG_ISL_LIBRARY)
+ # Already in cache, be silent
+ set(CLOOG_ISL_FIND_QUIETLY TRUE)
+endif()
+
+find_path(CLOOG_ISL_INCLUDE_DIR NAMES cloog/isl/cloog.h)
+find_library(CLOOG_ISL_LIBRARY NAMES cloog-isl)
+
+if (CLOOG_ISL_LIBRARY AND CLOOG_ISL_INCLUDE_DIR)
+ message(STATUS "Library cloog-isl found =) ${CLOOG_ISL_LIBRARY}")
+else()
+ message(STATUS "Library cloog-isl not found =(")
+endif()
+
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(CLOOG_ISL DEFAULT_MSG CLOOG_ISL_INCLUDE_DIR CLOOG_ISL_LIBRARY)
+
+mark_as_advanced(CLOOG_ISL_INCLUDE_DIR CLOOG_ISL_LIBRARY)
Added: csw/mgar/pkg/cloog/trunk/files/isl-config.cmake
===================================================================
--- csw/mgar/pkg/cloog/trunk/files/isl-config.cmake (rev 0)
+++ csw/mgar/pkg/cloog/trunk/files/isl-config.cmake 2014-03-16 21:27:06 UTC (rev 23241)
@@ -0,0 +1,25 @@
+# Try to find the isl library
+
+# ISL_FOUND - System has isl lib
+# ISL_INCLUDE_DIR - The isl include directory
+# ISL_LIBRARY - Library needed to use isl
+
+
+if (ISL_INCLUDE_DIR AND ISL_LIBRARY)
+ # Already in cache, be silent
+ set(ISL_FIND_QUIETLY TRUE)
+endif()
+
+find_path(ISL_INCLUDE_DIR NAMES isl/version.h)
+find_library(ISL_LIBRARY NAMES isl)
+
+if (ISL_LIBRARY AND ISL_INCLUDE_DIR)
+ message(STATUS "Library isl found =) ${ISL_LIBRARY}")
+else()
+ message(STATUS "Library isl not found =(")
+endif()
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(ISL DEFAULT_MSG ISL_INCLUDE_DIR ISL_LIBRARY)
+
+mark_as_advanced(ISL_INCLUDE_DIR ISL_LIBRARY)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 16 23:01:23 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 16 Mar 2014 22:01:23 +0000
Subject: SF.net SVN: gar:[23242] csw/mgar/pkg/mpc/trunk
Message-ID: <3fnF3L5B9wzvF@mail.opencsw.org>
Revision: 23242
http://sourceforge.net/p/gar/code/23242
Author: wahwah
Date: 2014-03-16 22:01:21 +0000 (Sun, 16 Mar 2014)
Log Message:
-----------
mpc/trunk: version bump
Modified Paths:
--------------
csw/mgar/pkg/mpc/trunk/Makefile
csw/mgar/pkg/mpc/trunk/checksums
Modified: csw/mgar/pkg/mpc/trunk/Makefile
===================================================================
--- csw/mgar/pkg/mpc/trunk/Makefile 2014-03-16 21:27:06 UTC (rev 23241)
+++ csw/mgar/pkg/mpc/trunk/Makefile 2014-03-16 22:01:21 UTC (rev 23242)
@@ -1,34 +1,49 @@
# $Id$
NAME = mpc
-VERSION = 0.9
+VERSION = 1.0.2
GARTYPE = v2
DESCRIPTION = C library for the arithmetic of complex numbers with arbitrarily high precision
define BLURB
endef
-MASTER_SITES = http://www.multiprecision.org/mpc/download/
+VENDOR_URL = http://www.multiprecision.org/
+MASTER_SITES = ftp://ftp.gnu.org/gnu/mpc/
DISTFILES = $(DISTNAME).tar.gz
+PACKAGING_PLATFORMS = solaris9-i386
+PACKAGING_PLATFORMS += solaris9-sparc
+PACKAGING_PLATFORMS += solaris10-i386
+PACKAGING_PLATFORMS += solaris10-sparc
STRIP_LIBTOOL = 1
BUILD64_LIBS_ONLY = 1
CONFIGURE_ARGS = $(DIRPATHS)
-LICENSE = COPYING.LIB
+# GCC4_CC_HOME = /opt/csw/gcc4
+# GCC4_CC = $(GCC4_CC_HOME)/bin/gcc
+# GCC4_CXX = $(GCC4_CC_HOME)/bin/g++
+# prefix = $(HOME)/usr-$(GARCH)-$(GAROSREL)
+# EXTRA_INC = $(prefix)/include
+# EXTRA_INC += $(BUILD_PREFIX)/include
+# For linking against the old gcc
+# EXTRA_LIB = $(prefix)/gcc4/lib
+LICENSE = COPYING.LESSER
+
PACKAGES =
-PACKAGES += CSWlibmpc2
-CATALOGNAME_CSWlibmpc2 = libmpc2
-PKGFILES_CSWlibmpc2 += $(call baseisadirs,$(libdir),libmpc\.so\.2(\.\d+)*)
-SPKG_DESC_CSWlibmpc2 += $(DESCRIPTION), libmpc.so.2
-RUNTIME_DEP_PKGS_CSWlibmpc2 += CSWlibmpfr4
-RUNTIME_DEP_PKGS_CSWlibmpc2 += CSWlibgmp10
+PACKAGES += CSWlibmpc3
+CATALOGNAME_CSWlibmpc3 = libmpc3
+PKGFILES_CSWlibmpc3 += $(call baseisadirs,$(libdir),libmpc\.so\.3(\.\d+)*)
+SPKG_DESC_CSWlibmpc3 += $(DESCRIPTION), libmpc.so.3
+RUNTIME_DEP_PKGS_CSWlibmpc3 += CSWlibmpfr4
+RUNTIME_DEP_PKGS_CSWlibmpc3 += CSWlibgmp10
+
PACKAGES += CSWlibmpc-dev
SPKG_DESC_CSWlibmpc-dev = $(DESCRIPTION), developoment files
-RUNTIME_DEP_PKGS_CSWlibmpc-dev = CSWlibmpc2
+RUNTIME_DEP_PKGS_CSWlibmpc-dev = CSWlibmpc3
# Documentation is OK to have /usr/local references
CHECKPKG_OVERRIDES_CSWlibmpc-dev += file-with-bad-content|/usr/local|root/opt/csw/share/info/mpc.info
Modified: csw/mgar/pkg/mpc/trunk/checksums
===================================================================
--- csw/mgar/pkg/mpc/trunk/checksums 2014-03-16 21:27:06 UTC (rev 23241)
+++ csw/mgar/pkg/mpc/trunk/checksums 2014-03-16 22:01:21 UTC (rev 23242)
@@ -1 +1 @@
-0d6acab8d214bd7d1fbbc593e83dd00d mpc-0.9.tar.gz
+68fadff3358fb3e7976c7a398a0af4c3 mpc-1.0.2.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 Sun Mar 16 23:20:19 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 16 Mar 2014 22:20:19 +0000
Subject: SF.net SVN: gar:[23243] csw/mgar/pkg/eventlog/trunk/Makefile
Message-ID: <3fnFT745gzzyt@mail.opencsw.org>
Revision: 23243
http://sourceforge.net/p/gar/code/23243
Author: wahwah
Date: 2014-03-16 22:20:19 +0000 (Sun, 16 Mar 2014)
Log Message:
-----------
eventlog/trunk: Updated dependencies
Modified Paths:
--------------
csw/mgar/pkg/eventlog/trunk/Makefile
Modified: csw/mgar/pkg/eventlog/trunk/Makefile
===================================================================
--- csw/mgar/pkg/eventlog/trunk/Makefile 2014-03-16 22:01:21 UTC (rev 23242)
+++ csw/mgar/pkg/eventlog/trunk/Makefile 2014-03-16 22:20:19 UTC (rev 23243)
@@ -21,13 +21,15 @@
CONFIGURE_ARGS = $(DIRPATHS)
-RUNTIME_DEP_PKGS += CSWgcc4corert
+PACKAGING_PLATFORMS = solaris9-i386
+PACKAGING_PLATFORMS += solaris9-sparc
+PACKAGING_PLATFORMS += solaris10-i386
+PACKAGING_PLATFORMS += solaris10-sparc
GARCOMPILER = GNU
TEST_SCRIPTS =
-OBSOLETED_BY_CSWeventlog-dev = CSWeventlog
-OBSOLETED_BY_CSWlibeventlog0 = CSWeventlog
+RUNTIME_DEP_PKGS_CSWlibevtlog0 += CSWlibgcc-s1
PACKAGES = CSWlibevtlog0
CATALOGNAME_CSWlibevtlog0 = libevtlog0
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Mon Mar 17 03:39:57 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Mon, 17 Mar 2014 02:39:57 +0000
Subject: SF.net SVN: gar:[23244] csw/mgar/pkg/davical/trunk/Makefile
Message-ID: <3fnMDk2kJsz1DK@mail.opencsw.org>
Revision: 23244
http://sourceforge.net/p/gar/code/23244
Author: wahwah
Date: 2014-03-17 02:39:56 +0000 (Mon, 17 Mar 2014)
Log Message:
-----------
davical/trunk: stop depending on PostgreSQL version which has been removed
Modified Paths:
--------------
csw/mgar/pkg/davical/trunk/Makefile
Modified: csw/mgar/pkg/davical/trunk/Makefile
===================================================================
--- csw/mgar/pkg/davical/trunk/Makefile 2014-03-16 22:20:19 UTC (rev 23243)
+++ csw/mgar/pkg/davical/trunk/Makefile 2014-03-17 02:39:56 UTC (rev 23244)
@@ -33,7 +33,6 @@
EXTRA_MERGE_EXCLUDE_FILES += .*\.in
-RUNTIME_DEP_PKGS += CSWpostgresql84
RUNTIME_DEP_PKGS += CSWap2-modphp5
RUNTIME_DEP_PKGS += CSWpm-dbi
RUNTIME_DEP_PKGS += CSWpm-yaml
@@ -49,10 +48,8 @@
CHECKPKG_OVERRIDES_CSWdavical += surplus-dependency|CSWap2-modphp5
CHECKPKG_OVERRIDES_CSWdavical += surplus-dependency|CSWphp5-curl
CHECKPKG_OVERRIDES_CSWdavical += surplus-dependency|CSWphp5-iconv
-CHECKPKG_OVERRIDES_CSWdavical += surplus-dependency|CSWpostgresql84
CHECKPKG_OVERRIDES_CSWdavical += surplus-dependency|CSWpm-dbd-pg
CHECKPKG_OVERRIDES_CSWdavical += surplus-dependency|CSWpm-yaml
-CHECKPKG_OVERRIDES_CSWdavical += unidentified-dependency|CSWphp5-awl
CHECKPKG_OVERRIDES_CSWdavical += surplus-dependency|CSWphp5-awl
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Mon Mar 17 17:50:53 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Mon, 17 Mar 2014 16:50:53 +0000
Subject: SF.net SVN: gar:[23245] csw/mgar/gar/v2/src/catalog-release-to-disk.go
Message-ID: <3fnk6k3cVTzSX@mail.opencsw.org>
Revision: 23245
http://sourceforge.net/p/gar/code/23245
Author: wahwah
Date: 2014-03-17 16:50:53 +0000 (Mon, 17 Mar 2014)
Log Message:
-----------
cat-gen: rm "catalog" and "descriptions" on empty
When the catalog is empty, all .pkg and .pkg.gz files are unlinked. To
accompany that, let's delete the "catalog" and "description" files.
Therefore, an empty catalog is represented by a missing catalog and
description files.
This is compatible with chkcat behavior which throws an error on a
signed but empty catalog file: no file to check, no error.
Modified Paths:
--------------
csw/mgar/gar/v2/src/catalog-release-to-disk.go
Modified: csw/mgar/gar/v2/src/catalog-release-to-disk.go
===================================================================
--- csw/mgar/gar/v2/src/catalog-release-to-disk.go 2014-03-17 02:39:56 UTC (rev 23244)
+++ csw/mgar/gar/v2/src/catalog-release-to-disk.go 2014-03-17 16:50:53 UTC (rev 23245)
@@ -683,7 +683,35 @@
cws CatalogWithSpec) {
log.Printf("GenerateCatalogIndexFile(%v, %v)\n", catalog_root, cws.spec)
catalog_file_path := FormatCatalogFilePath(catalog_root, cws.spec, "catalog")
+ desc_file_path := FormatCatalogFilePath(catalog_root, cws.spec, "descriptions")
+ defer func() {
+ // If there's a "catalog.gz" here, remove it. It will be recreated later by
+ // the shell script which signs catalogs.
+ gzip_catalog := catalog_file_path + ".gz";
+ if err := os.Remove(gzip_catalog); err != nil {
+ log.Println("Not removed", gzip_catalog, "error was", err)
+ } else {
+ log.Println(gzip_catalog, "was removed")
+ }
+ }()
+
+ // If there are no files in the catalog, simply remove the catalog files.
+ if len(cws.pkgs) <= 0 {
+ for _, filename := range []string{catalog_file_path, desc_file_path} {
+ // If the files are missing, that's okay
+ if err := os.Remove(filename); err != nil {
+ if err != syscall.ENOENT {
+ log.Println("Could not remove", filename, "error:", err)
+ }
+ } else {
+ log.Println("Removed", filename, "because the", cws.spec,
+ "catalog is empty")
+ }
+ }
+ return
+ }
+
var catbuf *bufio.Writer
var descbuf *bufio.Writer
@@ -697,7 +725,6 @@
catbuf = bufio.NewWriter(catalog_fd)
defer catbuf.Flush()
- desc_file_path := FormatCatalogFilePath(catalog_root, cws.spec, "descriptions")
desc_fd, err := os.Create(desc_file_path)
if err != nil {
log.Fatalln("Could not open", desc_file_path, "for writing:", err)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Mon Mar 17 17:51:03 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Mon, 17 Mar 2014 16:51:03 +0000
Subject: SF.net SVN: gar:[23246] csw/mgar/gar/v2/lib/python/rest.py
Message-ID: <3fnk6m14hczSY@mail.opencsw.org>
Revision: 23246
http://sourceforge.net/p/gar/code/23246
Author: wahwah
Date: 2014-03-17 16:51:03 +0000 (Mon, 17 Mar 2014)
Log Message:
-----------
checkpkg: Don't display the password message
It shows up on every checkpkg run. Let's hide this message and only display it
in the debug mode.
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-17 16:50:53 UTC (rev 23245)
+++ csw/mgar/gar/v2/lib/python/rest.py 2014-03-17 16:51:03 UTC (rev 23246)
@@ -542,6 +542,6 @@
else:
logging.debug('Failed running %r', args)
- logging.warning('Could not find password for user %r.', username)
+ logging.debug('Could not find password for user %r.', username)
return username, password
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Mon Mar 17 23:21:12 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Mon, 17 Mar 2014 22:21:12 +0000
Subject: SF.net SVN: gar:[23247] csw/mgar/pkg/libgmp/trunk
Message-ID: <3fnsRq0FRCz17H@mail.opencsw.org>
Revision: 23247
http://sourceforge.net/p/gar/code/23247
Author: wahwah
Date: 2014-03-17 22:21:11 +0000 (Mon, 17 Mar 2014)
Log Message:
-----------
libgmp/trunk: Version bump; builds but tests are failing
Modified Paths:
--------------
csw/mgar/pkg/libgmp/trunk/Makefile
csw/mgar/pkg/libgmp/trunk/checksums
Added Paths:
-----------
csw/mgar/pkg/libgmp/trunk/files/0001-Add-missing-cmath-includes.patch
csw/mgar/pkg/libgmp/trunk/files/0002-Work-around-a-compilation-issue.patch
Modified: csw/mgar/pkg/libgmp/trunk/Makefile
===================================================================
--- csw/mgar/pkg/libgmp/trunk/Makefile 2014-03-17 16:51:03 UTC (rev 23246)
+++ csw/mgar/pkg/libgmp/trunk/Makefile 2014-03-17 22:21:11 UTC (rev 23247)
@@ -1,7 +1,7 @@
# $Id$
NAME = gmp
-VERSION = 5.0.4
+VERSION = 5.1.3
GARTYPE = v2
DESCRIPTION = GNU Multiple Precision Arithmetic Library
@@ -20,19 +20,23 @@
endef
MASTER_SITES = $(GNU_MIRROR)
-DISTFILES = $(NAME)-$(VERSION).tar.bz2
+DISTFILES = $(DISTNAME).tar.bz2
SPKG_SOURCEURL = http://gmplib.org/
+PACKAGING_PLATFORMS = solaris9-i386 solaris9-sparc
BUILD64_LIBS_ONLY = 1
+PATCHFILES += 0001-Add-missing-cmath-includes.patch
+PATCHFILES += 0002-Work-around-a-compilation-issue.patch
+
# Disabling sparcv8plus with GCC
# /var/tmp//ccPKyHnL.s: Assembler messages:
# /var/tmp//ccPKyHnL.s:11: Error: Architecture mismatch on "return".
# /var/tmp//ccPKyHnL.s:11: (Requires v9|v9a|v9b; requested architecture is
# v8.)
# EXTRA_BUILD_ISAS_sparc = sparcv8plus
-# EXTRA_BUILD_ISAS_sparc += sparcv8plus+vis
+# EXTRA_BUILD_ISAS_sparc += sparcv8plus+vis
#
# If you believe that a sparcv8plus build is necessary, feel free to develop
# this recipe so that these ISAs successfully build.
Modified: csw/mgar/pkg/libgmp/trunk/checksums
===================================================================
--- csw/mgar/pkg/libgmp/trunk/checksums 2014-03-17 16:51:03 UTC (rev 23246)
+++ csw/mgar/pkg/libgmp/trunk/checksums 2014-03-17 22:21:11 UTC (rev 23247)
@@ -1 +1 @@
-50c3edcb7c9438e04377ee9a1a061b79 gmp-5.0.4.tar.bz2
+a082867cbca5e898371a97bb27b31fea gmp-5.1.3.tar.bz2
Added: csw/mgar/pkg/libgmp/trunk/files/0001-Add-missing-cmath-includes.patch
===================================================================
--- csw/mgar/pkg/libgmp/trunk/files/0001-Add-missing-cmath-includes.patch (rev 0)
+++ csw/mgar/pkg/libgmp/trunk/files/0001-Add-missing-cmath-includes.patch 2014-03-17 22:21:11 UTC (rev 23247)
@@ -0,0 +1,51 @@
+From 33d94be2354a45bf9981c9540f6fe2d23860e8bd Mon Sep 17 00:00:00 2001
+From: Maciej Blizinski
+Date: Sun, 16 Mar 2014 23:02:52 +0100
+Subject: [PATCH] Add missing includes
+
+---
+ tests/cxx/t-constr.cc | 1 +
+ tests/cxx/t-ops2.cc | 2 +-
+ tests/cxx/t-ostream.cc | 1 +
+ 3 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/tests/cxx/t-constr.cc b/tests/cxx/t-constr.cc
+index 261005d..936d742 100644
+--- a/tests/cxx/t-constr.cc
++++ b/tests/cxx/t-constr.cc
+@@ -19,6 +19,7 @@ the GNU MP Library test suite. If not, see http://www.gnu.org/licenses/. */
+
+ #include "config.h"
+
++#include
+ #include
+ #include
+
+diff --git a/tests/cxx/t-ops2.cc b/tests/cxx/t-ops2.cc
+index 3fc472b..c539881 100644
+--- a/tests/cxx/t-ops2.cc
++++ b/tests/cxx/t-ops2.cc
+@@ -19,7 +19,7 @@ the GNU MP Library test suite. If not, see http://www.gnu.org/licenses/. */
+
+ #include "config.h"
+
+-#include
++#include
+
+ #include "gmp.h"
+ #include "gmpxx.h"
+diff --git a/tests/cxx/t-ostream.cc b/tests/cxx/t-ostream.cc
+index 9899f5f..decce1b 100644
+--- a/tests/cxx/t-ostream.cc
++++ b/tests/cxx/t-ostream.cc
+@@ -17,6 +17,7 @@ Public License for more details.
+ You should have received a copy of the GNU General Public License along with
+ the GNU MP Library test suite. If not, see http://www.gnu.org/licenses/. */
+
++#include
+ #include
+ #include
+
+--
+1.7.10.3
+
Added: csw/mgar/pkg/libgmp/trunk/files/0002-Work-around-a-compilation-issue.patch
===================================================================
--- csw/mgar/pkg/libgmp/trunk/files/0002-Work-around-a-compilation-issue.patch (rev 0)
+++ csw/mgar/pkg/libgmp/trunk/files/0002-Work-around-a-compilation-issue.patch 2014-03-17 22:21:11 UTC (rev 23247)
@@ -0,0 +1,88 @@
+From d3f7cf3a349ef8623303c1b5aab79774856f29c4 Mon Sep 17 00:00:00 2001
+From: Maciej Blizinski
+Date: Mon, 17 Mar 2014 23:19:30 +0100
+Subject: [PATCH] Work around a compilation issue
+
+---
+ tests/cxx/t-ops2.cc | 41 ++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 34 insertions(+), 7 deletions(-)
+
+diff --git a/tests/cxx/t-ops2.cc b/tests/cxx/t-ops2.cc
+index 3fc472b..da76a32 100644
+--- a/tests/cxx/t-ops2.cc
++++ b/tests/cxx/t-ops2.cc
+@@ -19,7 +19,7 @@ the GNU MP Library test suite. If not, see http://www.gnu.org/licenses/. */
+
+ #include "config.h"
+
+-#include
++#include
+
+ #include "gmp.h"
+ #include "gmpxx.h"
+@@ -27,6 +27,7 @@ the GNU MP Library test suite. If not, see http://www.gnu.org/licenses/. */
+ #include "tests.h"
+
+
++
+ #define CHECK1(Type,a,fun) \
+ ASSERT_ALWAYS(fun((Type)(a))==fun(a))
+ #define CHECK(Type1,Type2,a,b,op) \
+@@ -183,22 +184,48 @@ void checkf (){
+ ASSERT_ALWAYS(sqrt(mpf_class(0))==0);
+ // TODO: add some consistency checks, as described in
+ // http://gmplib.org/list-archives/gmp-bugs/2013-February/002940.html
+- CHECK1(mpf_class,1.9,trunc);
++
++ // I need to comment out the trunc() tests, because:
++
++ // maciej at unstable9x [unstable9x]:~/src/opencsw/pkg/libgmp/trunk $ (cd /home/maciej/src/opencsw/pkg/libgmp/trunk/work/solaris9-i386/build-isa-pentium_pro/gmp-5.1.3/tests/cxx ; /opt/csw/bin/g++-4.6 -DHAVE_CONF
++ // IG_H -I. -I../.. -I../.. -I../../tests -fexceptions -I/opt/csw/include -O2 -pipe -m32 -march=pentiumpro -fexceptions -c -o t-ops2.o t-ops2.cc)
++ // t-ops2.cc: In function 'void checkf()':
++ // t-ops2.cc:187:3: error: no matching function for call to 'trunc(double)'
++ // t-ops2.cc:187:3: note: candidate is:
++ // ../../gmpxx.h:3091:1: note: template __gmp_expr, __gmp_trunc_function> > trunc(const __gmp_expr&)
++ // t-ops2.cc:190:3: error: no matching function for call to 'trunc(double)'
++ // t-ops2.cc:190:3: note: candidate is:
++ // ../../gmpxx.h:3091:1: note: template __gmp_expr, __gmp_trunc_function> > trunc(const __gmp_expr&)
++ // t-ops2.cc:193:3: error: no matching function for call to 'trunc(double)'
++ // t-ops2.cc:193:3: note: candidate is:
++ // ../../gmpxx.h:3091:1: note: template __gmp_expr, __gmp_trunc_function> > trunc(const __gmp_expr&)
++ // t-ops2.cc:196:3: error: no matching function for call to 'trunc(double)'
++ // t-ops2.cc:196:3: note: candidate is:
++ // ../../gmpxx.h:3091:1: note: template __gmp_expr, __gmp_trunc_function> > trunc(const __gmp_expr&)
++ // t-ops2.cc:199:3: error: no matching function for call to 'trunc(double)'
++ // t-ops2.cc:199:3: note: candidate is:
++ // ../../gmpxx.h:3091:1: note: template __gmp_expr, __gmp_trunc_function> > trunc(const __gmp_expr&)
++ // t-ops2.cc:202:3: error: no matching function for call to 'trunc(double)'
++ // t-ops2.cc:202:3: note: candidate is:
++ // ../../gmpxx.h:3091:1: note: template __gmp_expr, __gmp_trunc_function> > trunc(const __gmp_expr&)
++
++
++ // CHECK1(mpf_class,1.9,trunc);
+ CHECK1(mpf_class,1.9,floor);
+ CHECK1(mpf_class,1.9,ceil);
+- CHECK1(mpf_class,4.3,trunc);
++ // CHECK1(mpf_class,4.3,trunc);
+ CHECK1(mpf_class,4.3,floor);
+ CHECK1(mpf_class,4.3,ceil);
+- CHECK1(mpf_class,-7.1,trunc);
++ // CHECK1(mpf_class,-7.1,trunc);
+ CHECK1(mpf_class,-7.1,floor);
+ CHECK1(mpf_class,-7.1,ceil);
+- CHECK1(mpf_class,-2.8,trunc);
++ // CHECK1(mpf_class,-2.8,trunc);
+ CHECK1(mpf_class,-2.8,floor);
+ CHECK1(mpf_class,-2.8,ceil);
+- CHECK1(mpf_class,-1.5,trunc);
++ // CHECK1(mpf_class,-1.5,trunc);
+ CHECK1(mpf_class,-1.5,floor);
+ CHECK1(mpf_class,-1.5,ceil);
+- CHECK1(mpf_class,2.5,trunc);
++ // CHECK1(mpf_class,2.5,trunc);
+ CHECK1(mpf_class,2.5,floor);
+ CHECK1(mpf_class,2.5,ceil);
+ ASSERT_ALWAYS(hypot(mpf_class(-3),mpf_class(4))>4.9);
+--
+1.7.10.3
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Mon Mar 17 23:52:15 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Mon, 17 Mar 2014 22:52:15 +0000
Subject: SF.net SVN: gar:[23248] csw/mgar/pkg/libmpfr/trunk
Message-ID: <3fnt7Y0M6lz1Cq@mail.opencsw.org>
Revision: 23248
http://sourceforge.net/p/gar/code/23248
Author: wahwah
Date: 2014-03-17 22:52:14 +0000 (Mon, 17 Mar 2014)
Log Message:
-----------
libmpfr/trunk: Version bump
Modified Paths:
--------------
csw/mgar/pkg/libmpfr/trunk/Makefile
csw/mgar/pkg/libmpfr/trunk/checksums
Modified: csw/mgar/pkg/libmpfr/trunk/Makefile
===================================================================
--- csw/mgar/pkg/libmpfr/trunk/Makefile 2014-03-17 22:21:11 UTC (rev 23247)
+++ csw/mgar/pkg/libmpfr/trunk/Makefile 2014-03-17 22:52:14 UTC (rev 23248)
@@ -1,7 +1,7 @@
# $Id$
NAME = mpfr
-VERSION = 3.1.0
+VERSION = 3.1.2
GARTYPE = v2
DESCRIPTION = GNU Multiple Precision floating-point arithmetic library
@@ -11,10 +11,16 @@
endef
DL_VER = $(shell echo $(VERSION) | gsed -e 's/\([^-]\+\)\(-.*\)/\1/')
+PACKAGING_PLATFORMS = solaris9-i386
+PACKAGING_PLATFORMS += solaris9-sparc
+PACKAGING_PLATFORMS += solaris10-i386
+PACKAGING_PLATFORMS += solaris10-sparc
MASTER_SITES = http://www.mpfr.org/mpfr-$(DL_VER)/
DISTFILES = $(NAME)-$(VERSION).tar.bz2
+UPSTREAM_MASTER_SITES = http://www.mpfr.org/mpfr-current/
+
BUILD_DEP_PKGS = CSWlibgmp-dev
BUILD64_LIBS_ONLY = 1
@@ -25,12 +31,22 @@
# With the default -xO3, there are failing unit tests.
OPT_FLAGS_SOS = -xO2
+# GCC4_CC_HOME = /opt/csw/gcc4
+# GCC4_CC = $(GCC4_CC_HOME)/bin/gcc
+# GCC4_CXX = $(GCC4_CC_HOME)/bin/g++
+# prefix = $(HOME)/usr-$(GARCH)-$(GAROSREL)
+# EXTRA_INC = $(prefix)/include
+# EXTRA_INC += $(BUILD_PREFIX)/include
+# # For linking against the old gcc
+# EXTRA_LIB = $(prefix)/gcc4/lib
+
PACKAGES =
PACKAGES += CSWlibmpfr4
CATALOGNAME_CSWlibmpfr4 = libmpfr4
PKGFILES_CSWlibmpfr4 += $(call baseisadirs,$(libdir),libmpfr\.so\.4(\.\d+)*)
SPKG_DESC_CSWlibmpfr4 += $(DESCRIPTION), libmpfr.so.4
RUNTIME_DEP_PKGS_CSWlibmpfr4 += CSWlibgmp10
+CHECKPKG_OVERRIDES_CSWlibmpfr4 += no-direct-binding
PACKAGES += CSWlibmpfr-dev
SPKG_DESC_CSWlibmpfr-dev = MPFR development files
Modified: csw/mgar/pkg/libmpfr/trunk/checksums
===================================================================
--- csw/mgar/pkg/libmpfr/trunk/checksums 2014-03-17 22:21:11 UTC (rev 23247)
+++ csw/mgar/pkg/libmpfr/trunk/checksums 2014-03-17 22:52:14 UTC (rev 23248)
@@ -1 +1 @@
-238ae4a15cc3a5049b723daef5d17938 mpfr-3.1.0.tar.bz2
+ee2c3ac63bf0c2359bf08fc3ee094c19 mpfr-3.1.2.tar.bz2
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From guengel at users.sourceforge.net Tue Mar 18 12:21:35 2014
From: guengel at users.sourceforge.net (guengel at users.sourceforge.net)
Date: Tue, 18 Mar 2014 11:21:35 +0000
Subject: SF.net SVN: gar:[23249]
csw/mgar/pkg/postgresql/branches/postgresql-8.4/ files/changelog.CSW
Message-ID: <3fpBm774NYzMX@mail.opencsw.org>
Revision: 23249
http://sourceforge.net/p/gar/code/23249
Author: guengel
Date: 2014-03-18 11:21:34 +0000 (Tue, 18 Mar 2014)
Log Message:
-----------
Updated chagelog file of postgresql 8.4 due to respin.
Modified Paths:
--------------
csw/mgar/pkg/postgresql/branches/postgresql-8.4/files/changelog.CSW
Modified: csw/mgar/pkg/postgresql/branches/postgresql-8.4/files/changelog.CSW
===================================================================
--- csw/mgar/pkg/postgresql/branches/postgresql-8.4/files/changelog.CSW 2014-03-17 22:52:14 UTC (rev 23248)
+++ csw/mgar/pkg/postgresql/branches/postgresql-8.4/files/changelog.CSW 2014-03-18 11:21:34 UTC (rev 23249)
@@ -1,3 +1,10 @@
+postgresql84 (8.4.20,REV=2014.03.18)
+
+ * Respin due to broken import into OpenCSW catalog.
+
+ -- Rafael Ostertag Tue, 18 Mar 2014 12:19:45 +0100
+
+
postgresql84 (8.4.20,REV=2014.03.16)
* New upstream release 8.4.20.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Wed Mar 19 14:18:25 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Wed, 19 Mar 2014 13:18:25 +0000
Subject: SF.net SVN: gar:[23250] csw/mgar/pkg/cpan/Curses/
Message-ID: <3fpsJb4tJNz16b@mail.opencsw.org>
Revision: 23250
http://sourceforge.net/p/gar/code/23250
Author: dmichelsen
Date: 2014-03-19 13:18:22 +0000 (Wed, 19 Mar 2014)
Log Message:
-----------
cpan/Curses: Drop recipe as package was never released
Removed Paths:
-------------
csw/mgar/pkg/cpan/Curses/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Wed Mar 19 14:54:43 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Wed, 19 Mar 2014 13:54:43 +0000
Subject: SF.net SVN: gar:[23251] csw/mgar/pkg/lang-python/sqlalchemy/branches
Message-ID: <3fpt6P1rnDz1Dh@mail.opencsw.org>
Revision: 23251
http://sourceforge.net/p/gar/code/23251
Author: dmichelsen
Date: 2014-03-19 13:54:42 +0000 (Wed, 19 Mar 2014)
Log Message:
-----------
lang-python/sqlalchemy/branches/sqlalchemy-buildbot: Add private branch for buildbot
Modified Paths:
--------------
csw/mgar/pkg/lang-python/sqlalchemy/branches/sqlalchemy-buildbot/Makefile
Added Paths:
-----------
csw/mgar/pkg/lang-python/sqlalchemy/branches/sqlalchemy-buildbot/
Modified: csw/mgar/pkg/lang-python/sqlalchemy/branches/sqlalchemy-buildbot/Makefile
===================================================================
--- csw/mgar/pkg/lang-python/sqlalchemy/branches/sqlalchemy-0.7.10/Makefile 2014-03-18 11:21:34 UTC (rev 23249)
+++ csw/mgar/pkg/lang-python/sqlalchemy/branches/sqlalchemy-buildbot/Makefile 2014-03-19 13:54:42 UTC (rev 23251)
@@ -15,11 +15,16 @@
VENDOR_URL = http://www.sqlalchemy.org/
LICENSE = LICENSE
-PACKAGES += CSWpy-sqlalchemy
-SPKG_DESC_CSWpy-sqlalchemy = Python SQL toolkit and Object Relational Mapper
+PACKAGES += CSWbuildbot-sqlalchemy
+SPKG_DESC_CSWbuildbot-sqlalchemy = Python SQL toolkit and Object Relational Mapper, private Buildbot version
# PKGFILES is catchall
-RUNTIME_DEP_PKGS_CSWpy-sqlalchemy += CSWlibgcc-s1
-RUNTIME_DEP_PKGS_CSWpy-sqlalchemy += CSWlibpython2-6-1-0
-RUNTIME_DEP_PKGS_CSWpy-sqlalchemy += CSWlibpython2-7-1-0
+RUNTIME_DEP_PKGS_CSWbuildbot-sqlalchemy += CSWlibgcc-s1
+RUNTIME_DEP_PKGS_CSWbuildbot-sqlalchemy += CSWlibpython2-6-1-0
+RUNTIME_DEP_PKGS_CSWbuildbot-sqlalchemy += CSWlibpython2-7-1-0
+# Yes, this is intended
+CHECKPKG_OVERRIDES_CSWbuildbot-sqlalchemy += discouraged-path-in-pkgmap
+
+prefix = $(BUILD_PREFIX)/share/buildbot
+
include gar/category.mk
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Wed Mar 19 15:47:00 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Wed, 19 Mar 2014 14:47:00 +0000
Subject: SF.net SVN: gar:[23252] csw/mgar/pkg/lang-python/sqlalchemy/branches/
sqlalchemy-buildbot/Makefile
Message-ID: <3fpvGp3NyJz1Mr@mail.opencsw.org>
Revision: 23252
http://sourceforge.net/p/gar/code/23252
Author: dmichelsen
Date: 2014-03-19 14:46:59 +0000 (Wed, 19 Mar 2014)
Log Message:
-----------
lang-python/sqlalchemy/branches/sqlalchemy-buildbot: Take out obsolete dependency to old Python
Modified Paths:
--------------
csw/mgar/pkg/lang-python/sqlalchemy/branches/sqlalchemy-buildbot/Makefile
Modified: csw/mgar/pkg/lang-python/sqlalchemy/branches/sqlalchemy-buildbot/Makefile
===================================================================
--- csw/mgar/pkg/lang-python/sqlalchemy/branches/sqlalchemy-buildbot/Makefile 2014-03-19 13:54:42 UTC (rev 23251)
+++ csw/mgar/pkg/lang-python/sqlalchemy/branches/sqlalchemy-buildbot/Makefile 2014-03-19 14:46:59 UTC (rev 23252)
@@ -15,11 +15,13 @@
VENDOR_URL = http://www.sqlalchemy.org/
LICENSE = LICENSE
+# Buildbot is 2.7 only
+MODULATIONS_PYTHON_VERSION = 2_7
+
PACKAGES += CSWbuildbot-sqlalchemy
SPKG_DESC_CSWbuildbot-sqlalchemy = Python SQL toolkit and Object Relational Mapper, private Buildbot version
# PKGFILES is catchall
RUNTIME_DEP_PKGS_CSWbuildbot-sqlalchemy += CSWlibgcc-s1
-RUNTIME_DEP_PKGS_CSWbuildbot-sqlalchemy += CSWlibpython2-6-1-0
RUNTIME_DEP_PKGS_CSWbuildbot-sqlalchemy += CSWlibpython2-7-1-0
# Yes, this is intended
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Wed Mar 19 16:09:55 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Wed, 19 Mar 2014 15:09:55 +0000
Subject: SF.net SVN: gar:[23253] csw/mgar/pkg/buildbot/trunk
Message-ID: <3fpvpw6VBHz1TH@mail.opencsw.org>
Revision: 23253
http://sourceforge.net/p/gar/code/23253
Author: dmichelsen
Date: 2014-03-19 15:09:52 +0000 (Wed, 19 Mar 2014)
Log Message:
-----------
buildbot/trunk: Add private version of sqlalchemy
Modified Paths:
--------------
csw/mgar/pkg/buildbot/trunk/Makefile
Added Paths:
-----------
csw/mgar/pkg/buildbot/trunk/files/0001-Use-private-version-of-sqlalchemy.patch
Modified: csw/mgar/pkg/buildbot/trunk/Makefile
===================================================================
--- csw/mgar/pkg/buildbot/trunk/Makefile 2014-03-19 14:46:59 UTC (rev 23252)
+++ csw/mgar/pkg/buildbot/trunk/Makefile 2014-03-19 15:09:52 UTC (rev 23253)
@@ -25,24 +25,29 @@
MASTER_SITES = $(PYPI_MIRROR)
DISTFILES += $(DISTNAME).tar.gz
+PATCHFILES += 0001-Use-private-version-of-sqlalchemy.patch
+
PACKAGES += CSWbuildbot
SPKG_DESC_CSWbuildbot = A system to automate the compile/test cycle
# PKGFILES is catchall
RUNTIME_DEP_PKGS_CSWbuildbot += CSWpy-twisted
RUNTIME_DEP_PKGS_CSWbuildbot += CSWpy-zope-interface
-RUNTIME_DEP_PKGS_CSWbuildbot += CSWpy-sqlalchemy
RUNTIME_DEP_PKGS_CSWbuildbot += CSWpy-jinja2
RUNTIME_DEP_PKGS_CSWbuildbot += CSWpy-tempita
RUNTIME_DEP_PKGS_CSWbuildbot += CSWpy-decorator
RUNTIME_DEP_PKGS_CSWbuildbot += CSWpy-openssl
+# This is in fact an old 0.7.10 version private to buildbot. The documentation says
+# "The requirement to install SQLAlchemy-0.7.10 is due to a conflict between newer
+# versions of SQLAlchemy and SQLAlchemy-Migrate."
+RUNTIME_DEP_PKGS_CSWbuildbot += CSWbuildbot-sqlalchemy
CHECKPKG_OVERRIDES_CSWbuildbot += surplus-dependency|CSWpy-twisted
-CHECKPKG_OVERRIDES_CSWbuildbot += surplus-dependency|CSWpy-sqlalchemy
CHECKPKG_OVERRIDES_CSWbuildbot += surplus-dependency|CSWpy-zope-interface
CHECKPKG_OVERRIDES_CSWbuildbot += surplus-dependency|CSWpy-jinja2
CHECKPKG_OVERRIDES_CSWbuildbot += surplus-dependency|CSWpy-tempita
CHECKPKG_OVERRIDES_CSWbuildbot += surplus-dependency|CSWpy-decorator
CHECKPKG_OVERRIDES_CSWbuildbot += surplus-dependency|CSWpy-openssl
+CHECKPKG_OVERRIDES_CSWbuildbot += surplus-dependency|CSWbuildbot-sqlalchemy
# This is more like an application than a python module
CHECKPKG_OVERRIDES_CSWbuildbot += pkgname-does-not-start-with-CSWpy-
Added: csw/mgar/pkg/buildbot/trunk/files/0001-Use-private-version-of-sqlalchemy.patch
===================================================================
--- csw/mgar/pkg/buildbot/trunk/files/0001-Use-private-version-of-sqlalchemy.patch (rev 0)
+++ csw/mgar/pkg/buildbot/trunk/files/0001-Use-private-version-of-sqlalchemy.patch 2014-03-19 15:09:52 UTC (rev 23253)
@@ -0,0 +1,23 @@
+From 05c10c10c31f60c4c7cce17c846616d69589b349 Mon Sep 17 00:00:00 2001
+From: Dagobert Michelsen
+Date: Wed, 19 Mar 2014 16:05:53 +0100
+Subject: [PATCH] Use private version of sqlalchemy
+
+---
+ bin/buildbot | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/bin/buildbot b/bin/buildbot
+index 7295b00..8d5d21f 100755
+--- a/bin/buildbot
++++ b/bin/buildbot
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
+
+ from buildbot.scripts import runner
++import sys
++sys.path.insert(0,'/opt/csw/share/buildbot/lib/python2.7/site-packages/')
+ runner.run()
+--
+1.8.4.1
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Wed Mar 19 18:49:47 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Wed, 19 Mar 2014 17:49:47 +0000
Subject: SF.net SVN: gar:[23254] csw/mgar/gar/v2/src/catalog-release-to-disk.go
Message-ID: <3fpzKc3yqwzBT@mail.opencsw.org>
Revision: 23254
http://sourceforge.net/p/gar/code/23254
Author: wahwah
Date: 2014-03-19 17:49:47 +0000 (Wed, 19 Mar 2014)
Log Message:
-----------
cat-gen: Catalog comparison logic fix
It's one small line for the text editor, but has large logic implications for
the generator.
This would have not happened if I could run unit tests.
I could run unit tests if I had the unit test runner: the "go" command.
I could have the "go" command if it built on Solaris.
But it doesn't.
Modified Paths:
--------------
csw/mgar/gar/v2/src/catalog-release-to-disk.go
Modified: csw/mgar/gar/v2/src/catalog-release-to-disk.go
===================================================================
--- csw/mgar/gar/v2/src/catalog-release-to-disk.go 2014-03-19 15:09:52 UTC (rev 23253)
+++ csw/mgar/gar/v2/src/catalog-release-to-disk.go 2014-03-19 17:49:47 UTC (rev 23254)
@@ -664,6 +664,7 @@
diff_detected[spec] = true
break
}
+ } else {
log.Printf("different in %v: %v not found in c2\n", spec, catalogname)
diff_detected[spec] = true
break
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From pfelecan at opencsw.org Wed Mar 19 19:45:36 2014
From: pfelecan at opencsw.org (Peter FELECAN)
Date: Wed, 19 Mar 2014 19:45:36 +0100
Subject: SF.net SVN: gar:[23254]
csw/mgar/gar/v2/src/catalog-release-to-disk.go
In-Reply-To: <3fpzKc3yqwzBT@mail.opencsw.org> (wahwah@users.sourceforge.net's
message of "Wed, 19 Mar 2014 17:49:47 +0000")
References: <3fpzKc3yqwzBT@mail.opencsw.org>
Message-ID:
wahwah at users.sourceforge.net writes:
> csw/mgar/gar/v2/src/catalog-release-to-disk.go
Oh my! We have now tools in ksh, perl, python and go! A rich environment
you say? Ad nauseum. The consequence of this is that less somebody can
master the system.
--
Peter
From dmichelsen at users.sourceforge.net Thu Mar 20 11:37:17 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Thu, 20 Mar 2014 10:37:17 +0000
Subject: SF.net SVN: gar:[23255] csw/mgar/pkg/buildbot/trunk
Message-ID: <3fqPh92XfJzp@mail.opencsw.org>
Revision: 23255
http://sourceforge.net/p/gar/code/23255
Author: dmichelsen
Date: 2014-03-20 10:37:16 +0000 (Thu, 20 Mar 2014)
Log Message:
-----------
buildbot/trunk: Add wrapper for PYTHONPATH
Modified Paths:
--------------
csw/mgar/pkg/buildbot/trunk/Makefile
Added Paths:
-----------
csw/mgar/pkg/buildbot/trunk/files/buildbot
Removed Paths:
-------------
csw/mgar/pkg/buildbot/trunk/files/0001-Use-private-version-of-sqlalchemy.patch
Modified: csw/mgar/pkg/buildbot/trunk/Makefile
===================================================================
--- csw/mgar/pkg/buildbot/trunk/Makefile 2014-03-19 17:49:47 UTC (rev 23254)
+++ csw/mgar/pkg/buildbot/trunk/Makefile 2014-03-20 10:37:16 UTC (rev 23255)
@@ -24,9 +24,9 @@
MASTER_SITES = $(PYPI_MIRROR)
DISTFILES += $(DISTNAME).tar.gz
+# Wrapper
+DISTFILES += buildbot
-PATCHFILES += 0001-Use-private-version-of-sqlalchemy.patch
-
PACKAGES += CSWbuildbot
SPKG_DESC_CSWbuildbot = A system to automate the compile/test cycle
# PKGFILES is catchall
@@ -65,3 +65,10 @@
SKIPTEST ?= 1
include gar/category.mk
+
+post-install:
+ ginstall -d $(DESTDIR)$(libexecdir)
+ mv $(DESTDIR)$(bindir)/buildbot $(DESTDIR)$(libexecdir)/buildbot
+ ginstall -m 0755 $(WORKDIR)/buildbot $(DESTDIR)$(bindir)/buildbot
+ @$(MAKECOOKIE)
+
Deleted: csw/mgar/pkg/buildbot/trunk/files/0001-Use-private-version-of-sqlalchemy.patch
===================================================================
--- csw/mgar/pkg/buildbot/trunk/files/0001-Use-private-version-of-sqlalchemy.patch 2014-03-19 17:49:47 UTC (rev 23254)
+++ csw/mgar/pkg/buildbot/trunk/files/0001-Use-private-version-of-sqlalchemy.patch 2014-03-20 10:37:16 UTC (rev 23255)
@@ -1,23 +0,0 @@
-From 05c10c10c31f60c4c7cce17c846616d69589b349 Mon Sep 17 00:00:00 2001
-From: Dagobert Michelsen
-Date: Wed, 19 Mar 2014 16:05:53 +0100
-Subject: [PATCH] Use private version of sqlalchemy
-
----
- bin/buildbot | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/bin/buildbot b/bin/buildbot
-index 7295b00..8d5d21f 100755
---- a/bin/buildbot
-+++ b/bin/buildbot
-@@ -1,4 +1,6 @@
- #!/usr/bin/env python
-
- from buildbot.scripts import runner
-+import sys
-+sys.path.insert(0,'/opt/csw/share/buildbot/lib/python2.7/site-packages/')
- runner.run()
---
-1.8.4.1
-
Added: csw/mgar/pkg/buildbot/trunk/files/buildbot
===================================================================
--- csw/mgar/pkg/buildbot/trunk/files/buildbot (rev 0)
+++ csw/mgar/pkg/buildbot/trunk/files/buildbot 2014-03-20 10:37:16 UTC (rev 23255)
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+PYTHONPATH=/opt/csw/share/buildbot/lib/python2.7/site-packages
+export PYTHONPATH
+exec /opt/csw/libexec/buildbot "$@"
Property changes on: csw/mgar/pkg/buildbot/trunk/files/buildbot
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Thu Mar 20 13:40:27 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Thu, 20 Mar 2014 12:40:27 +0000
Subject: SF.net SVN: gar:[23256] csw/mgar/pkg/lang-python/sqlalchemy/branches/
sqlalchemy-buildbot/Makefile
Message-ID: <3fqSQD15NjzHq@mail.opencsw.org>
Revision: 23256
http://sourceforge.net/p/gar/code/23256
Author: dmichelsen
Date: 2014-03-20 12:40:26 +0000 (Thu, 20 Mar 2014)
Log Message:
-----------
lang-python/sqlalchemy/branches/sqlalchemy-buildbot: Add packaging platforms
Modified Paths:
--------------
csw/mgar/pkg/lang-python/sqlalchemy/branches/sqlalchemy-buildbot/Makefile
Modified: csw/mgar/pkg/lang-python/sqlalchemy/branches/sqlalchemy-buildbot/Makefile
===================================================================
--- csw/mgar/pkg/lang-python/sqlalchemy/branches/sqlalchemy-buildbot/Makefile 2014-03-20 10:37:16 UTC (rev 23255)
+++ csw/mgar/pkg/lang-python/sqlalchemy/branches/sqlalchemy-buildbot/Makefile 2014-03-20 12:40:26 UTC (rev 23256)
@@ -15,8 +15,9 @@
VENDOR_URL = http://www.sqlalchemy.org/
LICENSE = LICENSE
-# Buildbot is 2.7 only
+# Buildbot is 2.7 only and the server is Solaris 10 only
MODULATIONS_PYTHON_VERSION = 2_7
+PACKAGING_PLATFORMS = solaris10-sparc solaris10-i386
PACKAGES += CSWbuildbot-sqlalchemy
SPKG_DESC_CSWbuildbot-sqlalchemy = Python SQL toolkit and Object Relational Mapper, private Buildbot version
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Thu Mar 20 13:42:09 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Thu, 20 Mar 2014 12:42:09 +0000
Subject: SF.net SVN: gar:[23257] csw/mgar/pkg/buildbot/trunk/Makefile
Message-ID: <3fqSS95G2szMJ@mail.opencsw.org>
Revision: 23257
http://sourceforge.net/p/gar/code/23257
Author: dmichelsen
Date: 2014-03-20 12:42:09 +0000 (Thu, 20 Mar 2014)
Log Message:
-----------
buildbot/trunk: Restrict to Solaris 10 and Python 2.7
Modified Paths:
--------------
csw/mgar/pkg/buildbot/trunk/Makefile
Modified: csw/mgar/pkg/buildbot/trunk/Makefile
===================================================================
--- csw/mgar/pkg/buildbot/trunk/Makefile 2014-03-20 12:40:26 UTC (rev 23256)
+++ csw/mgar/pkg/buildbot/trunk/Makefile 2014-03-20 12:42:09 UTC (rev 23257)
@@ -27,6 +27,10 @@
# Wrapper
DISTFILES += buildbot
+# Buildbot is 2.7 only and the server is Solaris 10 only
+MODULATIONS_PYTHON_VERSION = 2_7
+PACKAGING_PLATFORMS = solaris10-sparc solaris10-i386
+
PACKAGES += CSWbuildbot
SPKG_DESC_CSWbuildbot = A system to automate the compile/test cycle
# PKGFILES is catchall
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Thu Mar 20 13:46:45 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Thu, 20 Mar 2014 12:46:45 +0000
Subject: SF.net SVN: gar:[23258] csw/mgar/pkg/buildbot-slave/trunk/Makefile
Message-ID: <3fqSYT6zbKzRB@mail.opencsw.org>
Revision: 23258
http://sourceforge.net/p/gar/code/23258
Author: dmichelsen
Date: 2014-03-20 12:46:43 +0000 (Thu, 20 Mar 2014)
Log Message:
-----------
buildbot-slave/trunk: Restrict to Python 2.7
Modified Paths:
--------------
csw/mgar/pkg/buildbot-slave/trunk/Makefile
Modified: csw/mgar/pkg/buildbot-slave/trunk/Makefile
===================================================================
--- csw/mgar/pkg/buildbot-slave/trunk/Makefile 2014-03-20 12:42:09 UTC (rev 23257)
+++ csw/mgar/pkg/buildbot-slave/trunk/Makefile 2014-03-20 12:46:43 UTC (rev 23258)
@@ -12,6 +12,9 @@
MASTER_SITES = $(PYPI_MIRROR)
DISTFILES += $(DISTNAME).tar.gz
+# Buildbot is 2.7 only and the server is Solaris 10 only
+MODULATIONS_PYTHON_VERSION = 2_7
+
PACKAGES += CSWbuildbot-slave
SPKG_DESC_CSWbuildbot-slave = BuildBot Slave Daemon
# PKGFILES is catchall
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From claudio_sf at users.sourceforge.net Thu Mar 20 14:55:43 2014
From: claudio_sf at users.sourceforge.net (claudio_sf at users.sourceforge.net)
Date: Thu, 20 Mar 2014 13:55:43 +0000
Subject: SF.net SVN: gar:[23259] csw/mgar/pkg/perl/trunk
Message-ID: <3fqV5F10BNzdB@mail.opencsw.org>
Revision: 23259
http://sourceforge.net/p/gar/code/23259
Author: claudio_sf
Date: 2014-03-20 13:55:40 +0000 (Thu, 20 Mar 2014)
Log Message:
-----------
perl/trunk: initial stripped-down Makefile 5.18.2
Modified Paths:
--------------
csw/mgar/pkg/perl/trunk/Makefile
csw/mgar/pkg/perl/trunk/checksums
Modified: csw/mgar/pkg/perl/trunk/Makefile
===================================================================
--- csw/mgar/pkg/perl/trunk/Makefile 2014-03-20 12:46:43 UTC (rev 23258)
+++ csw/mgar/pkg/perl/trunk/Makefile 2014-03-20 13:55:40 UTC (rev 23259)
@@ -1,5 +1,5 @@
NAME = perl
-VERSION = 5.16.2
+VERSION = 5.18.2
VERSION_MAJOR = $(shell echo $(VERSION) | cut -f1-2 -d.)
#CATEGORIES = lang
GARTYPE = v2
@@ -26,32 +26,32 @@
#BUILD64_ONLY = 1
PACKAGES += CSWperl
PKG_DESC_CSWperl = $(DESCRIPTION)
-RUNTIME_DEP_PKGS_CSWperl += CSWlibssp0
-RUNTIME_DEP_PKGS_CSWperl += CSWlibgcc-s1
+#RUNTIME_DEP_PKGS_CSWperl += CSWlibssp0
+#RUNTIME_DEP_PKGS_CSWperl += CSWlibgcc-s1
#RUNTIME_DEP_PKGS_CSWperl = CSWbdb48 CSWlibgdbm4
-INCOMPATIBLE_PKGS_CSWperl = CSWperlmods CSWpmdigest CSWpmi18nlangtags
+#INCOMPATIBLE_PKGS_CSWperl = CSWperlmods CSWpmdigest CSWpmi18nlangtags
-PACKAGES += CSWperldoc
-SPKG_DESC_CSWperldoc = Perl documentation
-SPKG_DESC_CSWperl = Core Perl distribution
-RUNTIME_DEP_PKGS_CSWperldoc = CSWperl
-ARCHALL_CSWperldoc = 1
+#PACKAGES += CSWperldoc
+#SPKG_DESC_CSWperldoc = Perl documentation
+#SPKG_DESC_CSWperl = Core Perl distribution
+#RUNTIME_DEP_PKGS_CSWperldoc = CSWperl
+#ARCHALL_CSWperldoc = 1
LICENSE = Copying
-CHECKPKG_OVERRIDES_CSWperl += file-with-bad-content
-CHECKPKG_OVERRIDES_CSWperldoc += file-with-bad-content
+#CHECKPKG_OVERRIDES_CSWperl += file-with-bad-content
+#CHECKPKG_OVERRIDES_CSWperldoc += file-with-bad-content
#CHECKPKG_OVERRIDES_CSWperldoc += surplus-dependency|CSWperl
-OBSOLETED_BY_CSWperl += CSWpm-module-build
-OBSOLETED_BY_CSWperl += CSWpm-json-pp
-OBSOLETED_BY_CSWperldoc += CSWpm-cpan-meta
-OBSOLETED_BY_CSWperldoc += CSWpm-parse-cpan-meta
-OBSOLETED_BY_CSWperldoc += CSWpm-cpan-meta-yaml
-OBSOLETED_BY_CSWperldoc += CSWpm-module-metadata
-CATALOGNAME_CSWpm-cpan-meta-requirements = pm_cpan_meta_reqs_stub
-OBSOLETED_BY_CSWperldoc += CSWpm-cpan-meta-requirements
-OBSOLETED_BY_CSWperldoc += CSWpm-perl-ostype
-CHECKPKG_OVERRIDES_CSWperldoc += surplus-dependency|CSWperl
+#OBSOLETED_BY_CSWperl += CSWpm-module-build
+#OBSOLETED_BY_CSWperl += CSWpm-json-pp
+#OBSOLETED_BY_CSWperldoc += CSWpm-cpan-meta
+#OBSOLETED_BY_CSWperldoc += CSWpm-parse-cpan-meta
+#OBSOLETED_BY_CSWperldoc += CSWpm-cpan-meta-yaml
+#OBSOLETED_BY_CSWperldoc += CSWpm-module-metadata
+#CATALOGNAME_CSWpm-cpan-meta-requirements = pm_cpan_meta_reqs_stub
+#OBSOLETED_BY_CSWperldoc += CSWpm-cpan-meta-requirements
+#OBSOLETED_BY_CSWperldoc += CSWpm-perl-ostype
+#CHECKPKG_OVERRIDES_CSWperldoc += surplus-dependency|CSWperl
@@ -93,6 +93,7 @@
# Configuration flags
# Commented options were not needed, or broke the build. Alternatives were supplied.
CONFIGURE_ARGS += -Darchlib=$(libdir)/perl/$(VERSION_MAJOR)
+#CONFIGURE_ARGS += -Dcc="$(CC) -B/usr/ccs/bin/"
CONFIGURE_ARGS += -Dcc=$(CC)
#CONFIGURE_ARGS += -Dccflags="$(CFLAGS)"
#CONFIGURE_ARGS += -Dccversion="$(CC_VERSION)"
@@ -143,7 +144,7 @@
#EXTRA_LIB += $(prefix)/bdb48/lib
#EXTRA_INC += $(prefix)/bdb48/include
-EXTRA_INC += /usr/include
+#EXTRA_INC += /usr/include
#LD_LIBRARY_PATH for testing
#LD_LIBRARY_PATH += $(prefix)/bdb48/lib/$(MEMORYMODEL)
@@ -162,18 +163,18 @@
#EXTRA_LDFLAGS += $(EXTRA_LDFLAGS-$(MEMORYMODEL)) -R /usr/lib -R/opt/csw/bdb48/lib -R/opt/csw/lib
#EXTRA_LDFLAGS += $(EXTRA_LDFLAGS-$(MEMORYMODEL)) -R /usr/lib/64 -R/opt/csw/bdb48/lib/64 -R/opt/csw/lib/64
#EXTRA_LDFLAGS += $(EXTRA_LDFLAGS-$(MEMORYMODEL))
-EXTRA_LDFLAGS = -lperl
+#EXTRA_LDFLAGS = -lperl
# We want 64 bit binaries
-#MERGE_DIRS_isa-extra = $(bindir) $(sbindir) $(libdir) $(libexecdir)
+MERGE_DIRS_isa-extra = $(bindir) $(sbindir) $(libdir) $(libexecdir)
-EXTRA_MERGE_EXCLUDE_FILES = .*\/perllocal.pod
-PKGFILES_CSWperldoc = .*\/pod\/.*\.pod .*\/man\/man.\/.*
+#EXTRA_MERGE_EXCLUDE_FILES = .*\/perllocal.pod
+#PKGFILES_CSWperldoc = .*\/pod\/.*\.pod .*\/man\/man.\/.*
# The diagnostics.pm module needs the podfile to output its messages.
# That means it must be included in the main package, not the docs.
-EXTRA_PKGFILES_EXCLUDED_CSWperldoc = .*\/perldiag.pod
-EXTRA_PKGFILES_INCLUDED_CSWperl = .*\/perldiag.pod
+#EXTRA_PKGFILES_EXCLUDED_CSWperldoc = .*\/perldiag.pod
+#EXTRA_PKGFILES_INCLUDED_CSWperl = .*\/perldiag.pod
# Tests take a long time, run once for every release
BUILD_SCRIPTS = perl
@@ -212,7 +213,9 @@
#endif
# How to configure Perl
-#configure-perl: CONFIGURE_EXPORTS = PATH LD_OPTIONS
+
+
+configure-perl: CONFIGURE_EXPORTS = PATH LD_OPTIONS
configure-perl:
(cd $(WORKSRC) ; $(CONFIGURE_ENV) ./Configure $(CONFIGURE_ARGS) -ders)
@$(MAKECOOKIE)
@@ -220,7 +223,7 @@
build-perl: BUILD_EXPORTS = LD_OPTIONS
build-perl:
@echo " ==> Running make in $*"
- cd $(WORKSRC) && $(BUILD_ENV) gmake $(MAKE_OPT)
+ cd $(WORKSRC) && $(BUILD_ENV) gmake perldtrace.h && $(BUILD_ENV) gmake $(MAKE_OPT)
@$(MAKECOOKIE)
test-perl:
@@ -229,13 +232,13 @@
@$(MAKECOOKIE)
# Make links to libperl and minor-major lib dirs
-POST_TARGETS += syslinks
-syslinks:
- @echo "Creating links to libperl and minor-major lib dirs"
- cd $(DESTDIR)$(libdir)/perl && ln -s $(VERSION_MAJOR) $(VERSION) &&\
- cd $(VERSION_MAJOR) && ln -s libperl.so libperl.so.$(VERSION) && ln -s libperl.so libperl.so.$(VERSION_MAJOR) &&\
- cd $(DESTDIR)$(datadir)/perl && ln -s $(VERSION_MAJOR) $(VERSION)
- @$(MAKECOOKIE)
+#POST_TARGETS += syslinks
+#syslinks:
+# @echo "Creating links to libperl and minor-major lib dirs"
+# cd $(DESTDIR)$(libdir)/perl && ln -s $(VERSION_MAJOR) $(VERSION) &&\
+# cd $(VERSION_MAJOR) && ln -s libperl.so libperl.so.$(VERSION) && ln -s libperl.so libperl.so.$(VERSION_MAJOR) &&\
+# cd $(DESTDIR)$(datadir)/perl && ln -s $(VERSION_MAJOR) $(VERSION)
+# @$(MAKECOOKIE)
# Remove build paths from Config
#POST_TARGETS += perlconf
Modified: csw/mgar/pkg/perl/trunk/checksums
===================================================================
--- csw/mgar/pkg/perl/trunk/checksums 2014-03-20 12:46:43 UTC (rev 23258)
+++ csw/mgar/pkg/perl/trunk/checksums 2014-03-20 13:55:40 UTC (rev 23259)
@@ -1 +1 @@
-b7c7e0b40cb6ac3a73111aa0949b9a51 perl-5.16.2-patched.tar.gz
+d91b7bb3b0e0e7fe67b273e5bcb26916 perl-5.18.2-patched.tar.gz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From chninkel at users.sourceforge.net Thu Mar 20 21:09:57 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Thu, 20 Mar 2014 20:09:57 +0000
Subject: SF.net SVN: gar:[23260] csw/mgar/pkg/openssh/trunk
Message-ID: <3fqfQ95L9Bz1Jy@mail.opencsw.org>
Revision: 23260
http://sourceforge.net/p/gar/code/23260
Author: chninkel
Date: 2014-03-20 20:09:56 +0000 (Thu, 20 Mar 2014)
Log Message:
-----------
openssh/trunk: updated to 6.6
Modified Paths:
--------------
csw/mgar/pkg/openssh/trunk/Makefile
csw/mgar/pkg/openssh/trunk/checksums
csw/mgar/pkg/openssh/trunk/files/CSWopenssh.cswreleasenotes
csw/mgar/pkg/openssh/trunk/files/CSWopenssh_client.cswreleasenotes
Added Paths:
-----------
csw/mgar/pkg/openssh/trunk/files/openssh-6.6p1-gsskex-all-20140320.patch
Removed Paths:
-------------
csw/mgar/pkg/openssh/trunk/files/openssh-6.5p1-gsskex-all-20140201.patch
Modified: csw/mgar/pkg/openssh/trunk/Makefile
===================================================================
--- csw/mgar/pkg/openssh/trunk/Makefile 2014-03-20 13:55:40 UTC (rev 23259)
+++ csw/mgar/pkg/openssh/trunk/Makefile 2014-03-20 20:09:56 UTC (rev 23260)
@@ -12,9 +12,9 @@
###### Package information #######
NAME = openssh
-VERSION = 6.5p1
-GSSKEX_PATCH_VERSION = 6.5p1
-GSSKEX_PATCH_DATE = 20140201
+VERSION = 6.6p1
+GSSKEX_PATCH_VERSION = 6.6p1
+GSSKEX_PATCH_DATE = 20140320
GARTYPE = v2
DESCRIPTION = OpenSSH Secure Shell
Modified: csw/mgar/pkg/openssh/trunk/checksums
===================================================================
--- csw/mgar/pkg/openssh/trunk/checksums 2014-03-20 13:55:40 UTC (rev 23259)
+++ csw/mgar/pkg/openssh/trunk/checksums 2014-03-20 20:09:56 UTC (rev 23260)
@@ -1 +1 @@
-a084e7272b8cbd25afe0f5dce4802fef openssh-6.5p1.tar.gz
+3e9800e6bca1fbac0eea4d41baa7f239 openssh-6.6p1.tar.gz
Modified: csw/mgar/pkg/openssh/trunk/files/CSWopenssh.cswreleasenotes
===================================================================
--- csw/mgar/pkg/openssh/trunk/files/CSWopenssh.cswreleasenotes 2014-03-20 13:55:40 UTC (rev 23259)
+++ csw/mgar/pkg/openssh/trunk/files/CSWopenssh.cswreleasenotes 2014-03-20 20:09:56 UTC (rev 23260)
@@ -1,3 +1,10 @@
+openssh (6.6p1,REV=2014.03.20) unstable
+
+ * New upstream release.
+ * Updated the GSSAPI key exchange patch
+
+ -- Yann Rouillard Thu, 20 Mar 2014 20:56:26 +0100
+
openssh (6.5p1,REV=2014.02.17) unstable
* Fixed the host key generation script so that keys for all
Modified: csw/mgar/pkg/openssh/trunk/files/CSWopenssh_client.cswreleasenotes
===================================================================
--- csw/mgar/pkg/openssh/trunk/files/CSWopenssh_client.cswreleasenotes 2014-03-20 13:55:40 UTC (rev 23259)
+++ csw/mgar/pkg/openssh/trunk/files/CSWopenssh_client.cswreleasenotes 2014-03-20 20:09:56 UTC (rev 23260)
@@ -1,3 +1,10 @@
+openssh (6.6p1,REV=2014.03.20) unstable
+
+ * New upstream release.
+ * Updated the GSSAPI key exchange patch
+
+ -- Yann Rouillard Thu, 20 Mar 2014 20:56:26 +0100
+
openssh (6.5p1,REV=2014.02.17) unstable
* Fixed the host key generation script so that keys for all
Deleted: csw/mgar/pkg/openssh/trunk/files/openssh-6.5p1-gsskex-all-20140201.patch
===================================================================
--- csw/mgar/pkg/openssh/trunk/files/openssh-6.5p1-gsskex-all-20140201.patch 2014-03-20 13:55:40 UTC (rev 23259)
+++ csw/mgar/pkg/openssh/trunk/files/openssh-6.5p1-gsskex-all-20140201.patch 2014-03-20 20:09:56 UTC (rev 23260)
@@ -1,2938 +0,0 @@
-diff --speed-large-files --minimal -Nru openssh-5.8p1/ChangeLog.gssapi openssh-5.8p1.new/ChangeLog.gssapi
---- openssh-5.8p1/ChangeLog.gssapi 1970-01-01 01:00:00.000000000 +0100
-+++ openssh-5.8p1.new/ChangeLog.gssapi 2011-02-12 18:07:10.948345760 +0100
-@@ -0,0 +1,113 @@
-+20110101
-+ - Finally update for OpenSSH 5.6p1
-+ - Add GSSAPIServerIdentity option from Jim Basney
-+
-+20100308
-+ - [ Makefile.in, key.c, key.h ]
-+ Updates for OpenSSH 5.4p1
-+ - [ servconf.c ]
-+ Include GSSAPI options in the sshd -T configuration dump, and flag
-+ some older configuration options as being unsupported. Thanks to Colin
-+ Watson.
-+ -
-+
-+20100124
-+ - [ sshconnect2.c ]
-+ Adapt to deal with additional element in Authmethod structure. Thanks to
-+ Colin Watson
-+
-+20090615
-+ - [ gss-genr.c gss-serv.c kexgssc.c kexgsss.c monitor.c sshconnect2.c
-+ sshd.c ]
-+ Fix issues identified by Greg Hudson following a code review
-+ Check return value of gss_indicate_mechs
-+ Protect GSSAPI calls in monitor, so they can only be used if enabled
-+ Check return values of bignum functions in key exchange
-+ Use BN_clear_free to clear other side's DH value
-+ Make ssh_gssapi_id_kex more robust
-+ Only configure kex table pointers if GSSAPI is enabled
-+ Don't leak mechanism list, or gss mechanism list
-+ Cast data.length before printing
-+ If serverkey isn't provided, use an empty string, rather than NULL
-+
-+20090201
-+ - [ gss-genr.c gss-serv.c kex.h kexgssc.c readconf.c readconf.h ssh-gss.h
-+ ssh_config.5 sshconnet2.c ]
-+ Add support for the GSSAPIClientIdentity option, which allows the user
-+ to specify which GSSAPI identity to use to contact a given server
-+
-+20080404
-+ - [ gss-serv.c ]
-+ Add code to actually implement GSSAPIStrictAcceptCheck, which had somehow
-+ been omitted from a previous version of this patch. Reported by Borislav
-+ Stoichkov
-+
-+20070317
-+ - [ gss-serv-krb5.c ]
-+ Remove C99ism, where new_ccname was being declared in the middle of a
-+ function
-+
-+20061220
-+ - [ servconf.c ]
-+ Make default for GSSAPIStrictAcceptorCheck be Yes, to match previous, and
-+ documented, behaviour. Reported by Dan Watson.
-+
-+20060910
-+ - [ gss-genr.c kexgssc.c kexgsss.c kex.h monitor.c sshconnect2.c sshd.c
-+ ssh-gss.h ]
-+ add support for gss-group14-sha1 key exchange mechanisms
-+ - [ gss-serv.c servconf.c servconf.h sshd_config sshd_config.5 ]
-+ Add GSSAPIStrictAcceptorCheck option to allow the disabling of
-+ acceptor principal checking on multi-homed machines.
-+
-+ - [ sshd_config ssh_config ]
-+ Add settings for GSSAPIKeyExchange and GSSAPITrustDNS to the sample
-+ configuration files
-+ - [ kexgss.c kegsss.c sshconnect2.c sshd.c ]
-+ Code cleanup. Replace strlen/xmalloc/snprintf sequences with xasprintf()
-+ Limit length of error messages displayed by client
-+
-+20060909
-+ - [ gss-genr.c gss-serv.c ]
-+ move ssh_gssapi_acquire_cred() and ssh_gssapi_server_ctx to be server
-+ only, where they belong
-+
-+
-+20060829
-+ - [ gss-serv-krb5.c ]
-+ Fix CCAPI credentials cache name when creating KRB5CCNAME environment
-+ variable
-+
-+20060828
-+ - [ gss-genr.c ]
-+ Avoid Heimdal context freeing problem
-+
-+
-+20060818
-+ - [ gss-genr.c ssh-gss.h sshconnect2.c ]
-+ Make sure that SPENGO is disabled
-+
-+
-+20060421
-+ - [ gssgenr.c, sshconnect2.c ]
-+ a few type changes (signed versus unsigned, int versus size_t) to
-+ fix compiler errors/warnings
-+ (from jbasney AT ncsa.uiuc.edu)
-+ - [ kexgssc.c, sshconnect2.c ]
-+ fix uninitialized variable warnings
-+ (from jbasney AT ncsa.uiuc.edu)
-+ - [ gssgenr.c ]
-+ pass oid to gss_display_status (helpful when using GSSAPI mechglue)
-+ (from jbasney AT ncsa.uiuc.edu)
-+
-+ - [ gss-serv-krb5.c ]
-+ #ifdef HAVE_GSSAPI_KRB5 should be #ifdef HAVE_GSSAPI_KRB5_H
-+ (from jbasney AT ncsa.uiuc.edu)
-+
-+ - [ readconf.c, readconf.h, ssh_config.5, sshconnect2.c
-+ add client-side GssapiKeyExchange option
-+ (from jbasney AT ncsa.uiuc.edu)
-+ - [ sshconnect2.c ]
-+ add support for GssapiTrustDns option for gssapi-with-mic
-+ (from jbasney AT ncsa.uiuc.edu)
-+
-diff --speed-large-files --minimal -Nru openssh-5.8p1/Makefile.in openssh-5.8p1.new/Makefile.in
---- openssh-5.8p1/Makefile.in 2011-02-04 01:42:13.000000000 +0100
-+++ openssh-5.8p1.new/Makefile.in 2011-02-12 18:07:10.990611445 +0100
-@@ -75,6 +75,7 @@
- atomicio.o key.o dispatch.o kex.o mac.o uidswap.o uuencode.o misc.o \
- monitor_fdpass.o rijndael.o ssh-dss.o ssh-ecdsa.o ssh-rsa.o dh.o \
- kexdh.o kexgex.o kexdhc.o kexgexc.o bufec.o kexecdh.o kexecdhc.o \
-+ kexgssc.o \
- msg.o progressmeter.o dns.o entropy.o gss-genr.o umac.o umac128.o \
- jpake.o schnorr.o ssh-pkcs11.o kr1.o
-
-@@ -91,7 +92,7 @@
- auth2-none.o auth2-passwd.o auth2-pubkey.o auth2-jpake.o \
- monitor_mm.o monitor.o monitor_wrap.o kexdhs.o kexgexs.o kexecdhs.o \
- kexc25519s.o auth-krb5.o \
-- auth2-gss.o gss-serv.o gss-serv-krb5.o \
-+ auth2-gss.o gss-serv.o gss-serv-krb5.o kexgsss.o\
- loginrec.o auth-pam.o auth-shadow.o auth-sia.o md5crypt.o \
- sftp-server.o sftp-common.o \
- roaming_common.o roaming_serv.o
-diff --speed-large-files --minimal -Nru openssh-5.8p1/auth-krb5.c openssh-5.8p1.new/auth-krb5.c
---- openssh-5.8p1/auth-krb5.c 2009-12-21 00:49:22.000000000 +0100
-+++ openssh-5.8p1.new/auth-krb5.c 2011-02-12 18:07:11.002529804 +0100
-@@ -170,8 +170,13 @@
-
- len = strlen(authctxt->krb5_ticket_file) + 6;
- authctxt->krb5_ccname = xmalloc(len);
-+#ifdef USE_CCAPI
-+ snprintf(authctxt->krb5_ccname, len, "API:%s",
-+ authctxt->krb5_ticket_file);
-+#else
- snprintf(authctxt->krb5_ccname, len, "FILE:%s",
- authctxt->krb5_ticket_file);
-+#endif
-
- #ifdef USE_PAM
- if (options.use_pam)
-@@ -226,15 +231,22 @@
- #ifndef HEIMDAL
- krb5_error_code
- ssh_krb5_cc_gen(krb5_context ctx, krb5_ccache *ccache) {
-- int tmpfd, ret, oerrno;
-+ int ret;
- char ccname[40];
- mode_t old_umask;
-+#ifdef USE_CCAPI
-+ char cctemplate[] = "API:krb5cc_%d";
-+#else
-+ char cctemplate[] = "FILE:/tmp/krb5cc_%d_XXXXXXXXXX";
-+ int tmpfd, oerrno;
-+#endif
-
- ret = snprintf(ccname, sizeof(ccname),
-- "FILE:/tmp/krb5cc_%d_XXXXXXXXXX", geteuid());
-+ cctemplate, geteuid());
- if (ret < 0 || (size_t)ret >= sizeof(ccname))
- return ENOMEM;
-
-+#ifndef USE_CCAPI
- old_umask = umask(0177);
- tmpfd = mkstemp(ccname + strlen("FILE:"));
- oerrno = errno;
-@@ -249,6 +261,7 @@
- return oerrno;
- }
- close(tmpfd);
-+#endif
-
- return (krb5_cc_resolve(ctx, ccname, ccache));
- }
-diff --speed-large-files --minimal -Nru openssh-5.8p1/auth2-gss.c openssh-5.8p1.new/auth2-gss.c
---- openssh-5.8p1/auth2-gss.c 2007-12-02 12:59:45.000000000 +0100
-+++ openssh-5.8p1.new/auth2-gss.c 2011-02-12 18:07:11.030761708 +0100
-@@ -1,7 +1,7 @@
- /* $OpenBSD: auth2-gss.c,v 1.16 2007/10/29 00:52:45 dtucker Exp $ */
-
- /*
-- * Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved.
-+ * Copyright (c) 2001-2007 Simon Wilkinson. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
-@@ -52,6 +52,40 @@
- static void input_gssapi_exchange_complete(int type, u_int32_t plen, void *ctxt);
- static void input_gssapi_errtok(int, u_int32_t, void *);
-
-+/*
-+ * The 'gssapi_keyex' userauth mechanism.
-+ */
-+static int
-+userauth_gsskeyex(Authctxt *authctxt)
-+{
-+ int authenticated = 0;
-+ Buffer b;
-+ gss_buffer_desc mic, gssbuf;
-+ u_int len;
-+
-+ mic.value = packet_get_string(&len);
-+ mic.length = len;
-+
-+ packet_check_eom();
-+
-+ ssh_gssapi_buildmic(&b, authctxt->user, authctxt->service,
-+ "gssapi-keyex");
-+
-+ gssbuf.value = buffer_ptr(&b);
-+ gssbuf.length = buffer_len(&b);
-+
-+ /* gss_kex_context is NULL with privsep, so we can't check it here */
-+ if (!GSS_ERROR(PRIVSEP(ssh_gssapi_checkmic(gss_kex_context,
-+ &gssbuf, &mic))))
-+ authenticated = PRIVSEP(ssh_gssapi_userok(authctxt->user,
-+ authctxt->pw));
-+
-+ buffer_free(&b);
-+ free(mic.value);
-+
-+ return (authenticated);
-+}
-+
- /*
- * We only support those mechanisms that we know about (ie ones that we know
- * how to check local user kuserok and the like)
-@@ -242,7 +278,8 @@
-
- packet_check_eom();
-
-- authenticated = PRIVSEP(ssh_gssapi_userok(authctxt->user));
-+ authenticated = PRIVSEP(ssh_gssapi_userok(authctxt->user,
-+ authctxt->pw));
-
- authctxt->postponed = 0;
- dispatch_set(SSH2_MSG_USERAUTH_GSSAPI_TOKEN, NULL);
-@@ -277,7 +314,8 @@
- gssbuf.length = buffer_len(&b);
-
- if (!GSS_ERROR(PRIVSEP(ssh_gssapi_checkmic(gssctxt, &gssbuf, &mic))))
-- authenticated = PRIVSEP(ssh_gssapi_userok(authctxt->user));
-+ authenticated =
-+ PRIVSEP(ssh_gssapi_userok(authctxt->user, authctxt->pw));
- else
- logit("GSSAPI MIC check failed");
-
-@@ -292,6 +330,12 @@
- userauth_finish(authctxt, authenticated, "gssapi-with-mic");
- }
-
-+Authmethod method_gsskeyex = {
-+ "gssapi-keyex",
-+ userauth_gsskeyex,
-+ &options.gss_authentication
-+};
-+
- Authmethod method_gssapi = {
- "gssapi-with-mic",
- userauth_gssapi,
-diff --speed-large-files --minimal -Nru openssh-5.8p1/auth2.c openssh-5.8p1.new/auth2.c
---- openssh-5.8p1/auth2.c 2010-08-31 14:36:39.000000000 +0200
-+++ openssh-5.8p1.new/auth2.c 2011-02-12 18:07:11.043418162 +0100
-@@ -69,6 +69,7 @@
- extern Authmethod method_kbdint;
- extern Authmethod method_hostbased;
- #ifdef GSSAPI
-+extern Authmethod method_gsskeyex;
- extern Authmethod method_gssapi;
- #endif
- #ifdef JPAKE
-@@ -79,6 +80,7 @@
- &method_none,
- &method_pubkey,
- #ifdef GSSAPI
-+ &method_gsskeyex,
- &method_gssapi,
- #endif
- #ifdef JPAKE
-diff --speed-large-files --minimal -Nru openssh-5.8p1/clientloop.c openssh-5.8p1.new/clientloop.c
---- openssh-5.8p1/clientloop.c 2011-01-16 13:18:35.000000000 +0100
-+++ openssh-5.8p1.new/clientloop.c 2011-02-12 18:07:11.063578136 +0100
-@@ -111,6 +111,10 @@
- #include "msg.h"
- #include "roaming.h"
-
-+#ifdef GSSAPI
-+#include "ssh-gss.h"
-+#endif
-+
- /* import options */
- extern Options options;
-
-@@ -1483,6 +1487,15 @@
- /* Do channel operations unless rekeying in progress. */
- if (!rekeying) {
- channel_after_select(readset, writeset);
-+
-+#ifdef GSSAPI
-+ if (options.gss_renewal_rekey &&
-+ ssh_gssapi_credentials_updated(GSS_C_NO_CONTEXT)) {
-+ debug("credentials updated - forcing rekey");
-+ need_rekeying = 1;
-+ }
-+#endif
-+
- if (need_rekeying || packet_need_rekeying()) {
- debug("need rekeying");
- xxx_kex->done = 0;
-diff --speed-large-files --minimal -Nru openssh-5.8p1/configure.ac openssh-5.8p1.new/configure.ac
---- openssh-5.8p1/configure.ac 2011-02-04 01:42:14.000000000 +0100
-+++ openssh-5.8p1.new/configure.ac 2011-02-12 18:07:11.092748915 +0100
-@@ -514,6 +514,30 @@
- [Use tunnel device compatibility to OpenBSD])
- AC_DEFINE([SSH_TUN_PREPEND_AF], [1],
- [Prepend the address family to IP tunnel traffic])
-+ AC_MSG_CHECKING(if we have the Security Authorization Session API)
-+ AC_TRY_COMPILE([#include ],
-+ [SessionCreate(0, 0);],
-+ [ac_cv_use_security_session_api="yes"
-+ AC_DEFINE(USE_SECURITY_SESSION_API, 1,
-+ [platform has the Security Authorization Session API])
-+ LIBS="$LIBS -framework Security"
-+ AC_MSG_RESULT(yes)],
-+ [ac_cv_use_security_session_api="no"
-+ AC_MSG_RESULT(no)])
-+ AC_MSG_CHECKING(if we have an in-memory credentials cache)
-+ AC_TRY_COMPILE(
-+ [#include ],
-+ [cc_context_t c;
-+ (void) cc_initialize (&c, 0, NULL, NULL);],
-+ [AC_DEFINE(USE_CCAPI, 1,
-+ [platform uses an in-memory credentials cache])
-+ LIBS="$LIBS -framework Security"
-+ AC_MSG_RESULT(yes)
-+ if test "x$ac_cv_use_security_session_api" = "xno"; then
-+ AC_MSG_ERROR(*** Need a security framework to use the credentials cache API ***)
-+ fi],
-+ [AC_MSG_RESULT(no)]
-+ )
- m4_pattern_allow([AU_IPv])
- AC_CHECK_DECL([AU_IPv4], [],
- AC_DEFINE([AU_IPv4], 0, [System only supports IPv4 audit records])
-diff --speed-large-files --minimal -Nru openssh-5.8p1/gss-genr.c openssh-5.8p1.new/gss-genr.c
---- openssh-5.8p1/gss-genr.c 2009-06-22 08:11:07.000000000 +0200
-+++ openssh-5.8p1.new/gss-genr.c 2011-02-12 18:07:11.108432434 +0100
-@@ -1,7 +1,7 @@
- /* $OpenBSD: gss-genr.c,v 1.20 2009/06/22 05:39:28 dtucker Exp $ */
-
- /*
-- * Copyright (c) 2001-2007 Simon Wilkinson. All rights reserved.
-+ * Copyright (c) 2001-2009 Simon Wilkinson. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
-@@ -39,12 +39,167 @@
- #include "buffer.h"
- #include "log.h"
- #include "ssh2.h"
-+#include "cipher.h"
-+#include "key.h"
-+#include "kex.h"
-+#include
-
- #include "ssh-gss.h"
-
- extern u_char *session_id2;
- extern u_int session_id2_len;
-
-+typedef struct {
-+ char *encoded;
-+ gss_OID oid;
-+} ssh_gss_kex_mapping;
-+
-+/*
-+ * XXX - It would be nice to find a more elegant way of handling the
-+ * XXX passing of the key exchange context to the userauth routines
-+ */
-+
-+Gssctxt *gss_kex_context = NULL;
-+
-+static ssh_gss_kex_mapping *gss_enc2oid = NULL;
-+
-+int
-+ssh_gssapi_oid_table_ok() {
-+ return (gss_enc2oid != NULL);
-+}
-+
-+/*
-+ * Return a list of the gss-group1-sha1 mechanisms supported by this program
-+ *
-+ * We test mechanisms to ensure that we can use them, to avoid starting
-+ * a key exchange with a bad mechanism
-+ */
-+
-+char *
-+ssh_gssapi_client_mechanisms(const char *host, const char *client) {
-+ gss_OID_set gss_supported;
-+ OM_uint32 min_status;
-+
-+ if (GSS_ERROR(gss_indicate_mechs(&min_status, &gss_supported)))
-+ return NULL;
-+
-+ return(ssh_gssapi_kex_mechs(gss_supported, ssh_gssapi_check_mechanism,
-+ host, client));
-+}
-+
-+char *
-+ssh_gssapi_kex_mechs(gss_OID_set gss_supported, ssh_gssapi_check_fn *check,
-+ const char *host, const char *client) {
-+ Buffer buf;
-+ size_t i;
-+ int oidpos, enclen;
-+ char *mechs, *encoded;
-+ u_char digest[EVP_MAX_MD_SIZE];
-+ char deroid[2];
-+ const EVP_MD *evp_md = EVP_md5();
-+ EVP_MD_CTX md;
-+
-+ if (gss_enc2oid != NULL) {
-+ for (i = 0; gss_enc2oid[i].encoded != NULL; i++)
-+ free(gss_enc2oid[i].encoded);
-+ free(gss_enc2oid);
-+ }
-+
-+ gss_enc2oid = xmalloc(sizeof(ssh_gss_kex_mapping) *
-+ (gss_supported->count + 1));
-+
-+ buffer_init(&buf);
-+
-+ oidpos = 0;
-+ for (i = 0; i < gss_supported->count; i++) {
-+ if (gss_supported->elements[i].length < 128 &&
-+ (*check)(NULL, &(gss_supported->elements[i]), host, client)) {
-+
-+ deroid[0] = SSH_GSS_OIDTYPE;
-+ deroid[1] = gss_supported->elements[i].length;
-+
-+ EVP_DigestInit(&md, evp_md);
-+ EVP_DigestUpdate(&md, deroid, 2);
-+ EVP_DigestUpdate(&md,
-+ gss_supported->elements[i].elements,
-+ gss_supported->elements[i].length);
-+ EVP_DigestFinal(&md, digest, NULL);
-+
-+ encoded = xmalloc(EVP_MD_size(evp_md) * 2);
-+ enclen = __b64_ntop(digest, EVP_MD_size(evp_md),
-+ encoded, EVP_MD_size(evp_md) * 2);
-+
-+ if (oidpos != 0)
-+ buffer_put_char(&buf, ',');
-+
-+ buffer_append(&buf, KEX_GSS_GEX_SHA1_ID,
-+ sizeof(KEX_GSS_GEX_SHA1_ID) - 1);
-+ buffer_append(&buf, encoded, enclen);
-+ buffer_put_char(&buf, ',');
-+ buffer_append(&buf, KEX_GSS_GRP1_SHA1_ID,
-+ sizeof(KEX_GSS_GRP1_SHA1_ID) - 1);
-+ buffer_append(&buf, encoded, enclen);
-+ buffer_put_char(&buf, ',');
-+ buffer_append(&buf, KEX_GSS_GRP14_SHA1_ID,
-+ sizeof(KEX_GSS_GRP14_SHA1_ID) - 1);
-+ buffer_append(&buf, encoded, enclen);
-+
-+ gss_enc2oid[oidpos].oid = &(gss_supported->elements[i]);
-+ gss_enc2oid[oidpos].encoded = encoded;
-+ oidpos++;
-+ }
-+ }
-+ gss_enc2oid[oidpos].oid = NULL;
-+ gss_enc2oid[oidpos].encoded = NULL;
-+
-+ buffer_put_char(&buf, '\0');
-+
-+ mechs = xmalloc(buffer_len(&buf));
-+ buffer_get(&buf, mechs, buffer_len(&buf));
-+ buffer_free(&buf);
-+
-+ if (strlen(mechs) == 0) {
-+ free(mechs);
-+ mechs = NULL;
-+ }
-+
-+ return (mechs);
-+}
-+
-+gss_OID
-+ssh_gssapi_id_kex(Gssctxt *ctx, char *name, int kex_type) {
-+ int i = 0;
-+
-+ switch (kex_type) {
-+ case KEX_GSS_GRP1_SHA1:
-+ if (strlen(name) < sizeof(KEX_GSS_GRP1_SHA1_ID))
-+ return GSS_C_NO_OID;
-+ name += sizeof(KEX_GSS_GRP1_SHA1_ID) - 1;
-+ break;
-+ case KEX_GSS_GRP14_SHA1:
-+ if (strlen(name) < sizeof(KEX_GSS_GRP14_SHA1_ID))
-+ return GSS_C_NO_OID;
-+ name += sizeof(KEX_GSS_GRP14_SHA1_ID) - 1;
-+ break;
-+ case KEX_GSS_GEX_SHA1:
-+ if (strlen(name) < sizeof(KEX_GSS_GEX_SHA1_ID))
-+ return GSS_C_NO_OID;
-+ name += sizeof(KEX_GSS_GEX_SHA1_ID) - 1;
-+ break;
-+ default:
-+ return GSS_C_NO_OID;
-+ }
-+
-+ while (gss_enc2oid[i].encoded != NULL &&
-+ strcmp(name, gss_enc2oid[i].encoded) != 0)
-+ i++;
-+
-+ if (gss_enc2oid[i].oid != NULL && ctx != NULL)
-+ ssh_gssapi_set_oid(ctx, gss_enc2oid[i].oid);
-+
-+ return gss_enc2oid[i].oid;
-+}
-+
- /* Check that the OID in a data stream matches that in the context */
- int
- ssh_gssapi_check_oid(Gssctxt *ctx, void *data, size_t len)
-@@ -197,7 +352,7 @@
- }
-
- ctx->major = gss_init_sec_context(&ctx->minor,
-- GSS_C_NO_CREDENTIAL, &ctx->context, ctx->name, ctx->oid,
-+ ctx->client_creds, &ctx->context, ctx->name, ctx->oid,
- GSS_C_MUTUAL_FLAG | GSS_C_INTEG_FLAG | deleg_flag,
- 0, NULL, recv_tok, NULL, send_tok, flags, NULL);
-
-@@ -227,8 +382,42 @@
- }
-
- OM_uint32
-+ssh_gssapi_client_identity(Gssctxt *ctx, const char *name)
-+{
-+ gss_buffer_desc gssbuf;
-+ gss_name_t gssname;
-+ OM_uint32 status;
-+ gss_OID_set oidset;
-+
-+ gssbuf.value = (void *) name;
-+ gssbuf.length = strlen(gssbuf.value);
-+
-+ gss_create_empty_oid_set(&status, &oidset);
-+ gss_add_oid_set_member(&status, ctx->oid, &oidset);
-+
-+ ctx->major = gss_import_name(&ctx->minor, &gssbuf,
-+ GSS_C_NT_USER_NAME, &gssname);
-+
-+ if (!ctx->major)
-+ ctx->major = gss_acquire_cred(&ctx->minor,
-+ gssname, 0, oidset, GSS_C_INITIATE,
-+ &ctx->client_creds, NULL, NULL);
-+
-+ gss_release_name(&status, &gssname);
-+ gss_release_oid_set(&status, &oidset);
-+
-+ if (ctx->major)
-+ ssh_gssapi_error(ctx);
-+
-+ return(ctx->major);
-+}
-+
-+OM_uint32
- ssh_gssapi_sign(Gssctxt *ctx, gss_buffer_t buffer, gss_buffer_t hash)
- {
-+ if (ctx == NULL)
-+ return -1;
-+
- if ((ctx->major = gss_get_mic(&ctx->minor, ctx->context,
- GSS_C_QOP_DEFAULT, buffer, hash)))
- ssh_gssapi_error(ctx);
-@@ -236,6 +425,19 @@
- return (ctx->major);
- }
-
-+/* Priviledged when used by server */
-+OM_uint32
-+ssh_gssapi_checkmic(Gssctxt *ctx, gss_buffer_t gssbuf, gss_buffer_t gssmic)
-+{
-+ if (ctx == NULL)
-+ return -1;
-+
-+ ctx->major = gss_verify_mic(&ctx->minor, ctx->context,
-+ gssbuf, gssmic, NULL);
-+
-+ return (ctx->major);
-+}
-+
- void
- ssh_gssapi_buildmic(Buffer *b, const char *user, const char *service,
- const char *context)
-@@ -249,11 +451,16 @@
- }
-
- int
--ssh_gssapi_check_mechanism(Gssctxt **ctx, gss_OID oid, const char *host)
-+ssh_gssapi_check_mechanism(Gssctxt **ctx, gss_OID oid, const char *host,
-+ const char *client)
- {
- gss_buffer_desc token = GSS_C_EMPTY_BUFFER;
- OM_uint32 major, minor;
- gss_OID_desc spnego_oid = {6, (void *)"\x2B\x06\x01\x05\x05\x02"};
-+ Gssctxt *intctx = NULL;
-+
-+ if (ctx == NULL)
-+ ctx = &intctx;
-
- /* RFC 4462 says we MUST NOT do SPNEGO */
- if (oid->length == spnego_oid.length &&
-@@ -263,6 +470,10 @@
- ssh_gssapi_build_ctx(ctx);
- ssh_gssapi_set_oid(*ctx, oid);
- major = ssh_gssapi_import_name(*ctx, host);
-+
-+ if (!GSS_ERROR(major) && client)
-+ major = ssh_gssapi_client_identity(*ctx, client);
-+
- if (!GSS_ERROR(major)) {
- major = ssh_gssapi_init_ctx(*ctx, 0, GSS_C_NO_BUFFER, &token,
- NULL);
-@@ -272,10 +483,67 @@
- GSS_C_NO_BUFFER);
- }
-
-- if (GSS_ERROR(major))
-+ if (GSS_ERROR(major) || intctx != NULL)
- ssh_gssapi_delete_ctx(ctx);
-
- return (!GSS_ERROR(major));
- }
-
-+int
-+ssh_gssapi_credentials_updated(Gssctxt *ctxt) {
-+ static gss_name_t saved_name = GSS_C_NO_NAME;
-+ static OM_uint32 saved_lifetime = 0;
-+ static gss_OID saved_mech = GSS_C_NO_OID;
-+ static gss_name_t name;
-+ static OM_uint32 last_call = 0;
-+ OM_uint32 lifetime, now, major, minor;
-+ int equal;
-+ gss_cred_usage_t usage = GSS_C_INITIATE;
-+
-+ now = time(NULL);
-+
-+ if (ctxt) {
-+ debug("Rekey has happened - updating saved versions");
-+
-+ if (saved_name != GSS_C_NO_NAME)
-+ gss_release_name(&minor, &saved_name);
-+
-+ major = gss_inquire_cred(&minor, GSS_C_NO_CREDENTIAL,
-+ &saved_name, &saved_lifetime, NULL, NULL);
-+
-+ if (!GSS_ERROR(major)) {
-+ saved_mech = ctxt->oid;
-+ saved_lifetime+= now;
-+ } else {
-+ /* Handle the error */
-+ }
-+ return 0;
-+ }
-+
-+ if (now - last_call < 10)
-+ return 0;
-+
-+ last_call = now;
-+
-+ if (saved_mech == GSS_C_NO_OID)
-+ return 0;
-+
-+ major = gss_inquire_cred(&minor, GSS_C_NO_CREDENTIAL,
-+ &name, &lifetime, NULL, NULL);
-+ if (major == GSS_S_CREDENTIALS_EXPIRED)
-+ return 0;
-+ else if (GSS_ERROR(major))
-+ return 0;
-+
-+ major = gss_compare_name(&minor, saved_name, name, &equal);
-+ gss_release_name(&minor, &name);
-+ if (GSS_ERROR(major))
-+ return 0;
-+
-+ if (equal && (saved_lifetime < lifetime + now - 10))
-+ return 1;
-+
-+ return 0;
-+}
-+
- #endif /* GSSAPI */
-diff --speed-large-files --minimal -Nru openssh-5.8p1/gss-serv-krb5.c openssh-5.8p1.new/gss-serv-krb5.c
---- openssh-5.8p1/gss-serv-krb5.c 2006-09-01 07:38:36.000000000 +0200
-+++ openssh-5.8p1.new/gss-serv-krb5.c 2011-02-12 18:07:11.123072516 +0100
-@@ -1,7 +1,7 @@
- /* $OpenBSD: gss-serv-krb5.c,v 1.7 2006/08/03 03:34:42 deraadt Exp $ */
-
- /*
-- * Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved.
-+ * Copyright (c) 2001-2007 Simon Wilkinson. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
-@@ -120,6 +120,7 @@
- OM_uint32 maj_status, min_status;
- int len;
- const char *errmsg;
-+ const char *new_ccname;
-
- if (client->creds == NULL) {
- debug("No credentials stored");
-@@ -168,11 +169,16 @@
- return;
- }
-
-- client->store.filename = xstrdup(krb5_cc_get_name(krb_context, ccache));
-+ new_ccname = krb5_cc_get_name(krb_context, ccache);
-+
- client->store.envvar = "KRB5CCNAME";
-- len = strlen(client->store.filename) + 6;
-- client->store.envval = xmalloc(len);
-- snprintf(client->store.envval, len, "FILE:%s", client->store.filename);
-+#ifdef USE_CCAPI
-+ xasprintf(&client->store.envval, "API:%s", new_ccname);
-+ client->store.filename = NULL;
-+#else
-+ xasprintf(&client->store.envval, "FILE:%s", new_ccname);
-+ client->store.filename = xstrdup(new_ccname);
-+#endif
-
- #ifdef USE_PAM
- if (options.use_pam)
-@@ -184,6 +190,71 @@
- return;
- }
-
-+int
-+ssh_gssapi_krb5_updatecreds(ssh_gssapi_ccache *store,
-+ ssh_gssapi_client *client)
-+{
-+ krb5_ccache ccache = NULL;
-+ krb5_principal principal = NULL;
-+ char *name = NULL;
-+ krb5_error_code problem;
-+ OM_uint32 maj_status, min_status;
-+
-+ if ((problem = krb5_cc_resolve(krb_context, store->envval, &ccache))) {
-+ logit("krb5_cc_resolve(): %.100s",
-+ krb5_get_err_text(krb_context, problem));
-+ return 0;
-+ }
-+
-+ /* Find out who the principal in this cache is */
-+ if ((problem = krb5_cc_get_principal(krb_context, ccache,
-+ &principal))) {
-+ logit("krb5_cc_get_principal(): %.100s",
-+ krb5_get_err_text(krb_context, problem));
-+ krb5_cc_close(krb_context, ccache);
-+ return 0;
-+ }
-+
-+ if ((problem = krb5_unparse_name(krb_context, principal, &name))) {
-+ logit("krb5_unparse_name(): %.100s",
-+ krb5_get_err_text(krb_context, problem));
-+ krb5_free_principal(krb_context, principal);
-+ krb5_cc_close(krb_context, ccache);
-+ return 0;
-+ }
-+
-+
-+ if (strcmp(name,client->exportedname.value)!=0) {
-+ debug("Name in local credentials cache differs. Not storing");
-+ krb5_free_principal(krb_context, principal);
-+ krb5_cc_close(krb_context, ccache);
-+ krb5_free_unparsed_name(krb_context, name);
-+ return 0;
-+ }
-+ krb5_free_unparsed_name(krb_context, name);
-+
-+ /* Name matches, so lets get on with it! */
-+
-+ if ((problem = krb5_cc_initialize(krb_context, ccache, principal))) {
-+ logit("krb5_cc_initialize(): %.100s",
-+ krb5_get_err_text(krb_context, problem));
-+ krb5_free_principal(krb_context, principal);
-+ krb5_cc_close(krb_context, ccache);
-+ return 0;
-+ }
-+
-+ krb5_free_principal(krb_context, principal);
-+
-+ if ((maj_status = gss_krb5_copy_ccache(&min_status, client->creds,
-+ ccache))) {
-+ logit("gss_krb5_copy_ccache() failed. Sorry!");
-+ krb5_cc_close(krb_context, ccache);
-+ return 0;
-+ }
-+
-+ return 1;
-+}
-+
- ssh_gssapi_mech gssapi_kerberos_mech = {
- "toWM5Slw5Ew8Mqkay+al2g==",
- "Kerberos",
-@@ -191,7 +262,8 @@
- NULL,
- &ssh_gssapi_krb5_userok,
- NULL,
-- &ssh_gssapi_krb5_storecreds
-+ &ssh_gssapi_krb5_storecreds,
-+ &ssh_gssapi_krb5_updatecreds
- };
-
- #endif /* KRB5 */
-diff --speed-large-files --minimal -Nru openssh-5.8p1/gss-serv.c openssh-5.8p1.new/gss-serv.c
---- openssh-5.8p1/gss-serv.c 2008-05-19 07:05:07.000000000 +0200
-+++ openssh-5.8p1.new/gss-serv.c 2011-02-12 18:07:11.135178913 +0100
-@@ -1,7 +1,7 @@
- /* $OpenBSD: gss-serv.c,v 1.22 2008/05/08 12:02:23 djm Exp $ */
-
- /*
-- * Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved.
-+ * Copyright (c) 2001-2009 Simon Wilkinson. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
-@@ -45,15 +45,20 @@
- #include "channels.h"
- #include "session.h"
- #include "misc.h"
-+#include "servconf.h"
-+#include "uidswap.h"
-
- #include "ssh-gss.h"
-+#include "monitor_wrap.h"
-+
-+extern ServerOptions options;
-
- static ssh_gssapi_client gssapi_client =
- { GSS_C_EMPTY_BUFFER, GSS_C_EMPTY_BUFFER,
-- GSS_C_NO_CREDENTIAL, NULL, {NULL, NULL, NULL, NULL}};
-+ GSS_C_NO_CREDENTIAL, GSS_C_NO_NAME, NULL, {NULL, NULL, NULL, NULL}, 0, 0};
-
- ssh_gssapi_mech gssapi_null_mech =
-- { NULL, NULL, {0, NULL}, NULL, NULL, NULL, NULL};
-+ { NULL, NULL, {0, NULL}, NULL, NULL, NULL, NULL, NULL};
-
- #ifdef KRB5
- extern ssh_gssapi_mech gssapi_kerberos_mech;
-@@ -81,25 +86,32 @@
- char lname[MAXHOSTNAMELEN];
- gss_OID_set oidset;
-
-- gss_create_empty_oid_set(&status, &oidset);
-- gss_add_oid_set_member(&status, ctx->oid, &oidset);
-+ if (options.gss_strict_acceptor) {
-+ gss_create_empty_oid_set(&status, &oidset);
-+ gss_add_oid_set_member(&status, ctx->oid, &oidset);
-
-- if (gethostname(lname, MAXHOSTNAMELEN)) {
-- gss_release_oid_set(&status, &oidset);
-- return (-1);
-- }
-+ if (gethostname(lname, MAXHOSTNAMELEN)) {
-+ gss_release_oid_set(&status, &oidset);
-+ return (-1);
-+ }
-+
-+ if (GSS_ERROR(ssh_gssapi_import_name(ctx, lname))) {
-+ gss_release_oid_set(&status, &oidset);
-+ return (ctx->major);
-+ }
-+
-+ if ((ctx->major = gss_acquire_cred(&ctx->minor,
-+ ctx->name, 0, oidset, GSS_C_ACCEPT, &ctx->creds,
-+ NULL, NULL)))
-+ ssh_gssapi_error(ctx);
-
-- if (GSS_ERROR(ssh_gssapi_import_name(ctx, lname))) {
- gss_release_oid_set(&status, &oidset);
- return (ctx->major);
-+ } else {
-+ ctx->name = GSS_C_NO_NAME;
-+ ctx->creds = GSS_C_NO_CREDENTIAL;
- }
--
-- if ((ctx->major = gss_acquire_cred(&ctx->minor,
-- ctx->name, 0, oidset, GSS_C_ACCEPT, &ctx->creds, NULL, NULL)))
-- ssh_gssapi_error(ctx);
--
-- gss_release_oid_set(&status, &oidset);
-- return (ctx->major);
-+ return GSS_S_COMPLETE;
- }
-
- /* Privileged */
-@@ -114,6 +126,29 @@
- }
-
- /* Unprivileged */
-+char *
-+ssh_gssapi_server_mechanisms() {
-+ gss_OID_set supported;
-+
-+ ssh_gssapi_supported_oids(&supported);
-+ return (ssh_gssapi_kex_mechs(supported, &ssh_gssapi_server_check_mech,
-+ NULL, NULL));
-+}
-+
-+/* Unprivileged */
-+int
-+ssh_gssapi_server_check_mech(Gssctxt **dum, gss_OID oid, const char *data,
-+ const char *dummy) {
-+ Gssctxt *ctx = NULL;
-+ int res;
-+
-+ res = !GSS_ERROR(PRIVSEP(ssh_gssapi_server_ctx(&ctx, oid)));
-+ ssh_gssapi_delete_ctx(&ctx);
-+
-+ return (res);
-+}
-+
-+/* Unprivileged */
- void
- ssh_gssapi_supported_oids(gss_OID_set *oidset)
- {
-@@ -123,7 +158,9 @@
- gss_OID_set supported;
-
- gss_create_empty_oid_set(&min_status, oidset);
-- gss_indicate_mechs(&min_status, &supported);
-+
-+ if (GSS_ERROR(gss_indicate_mechs(&min_status, &supported)))
-+ return;
-
- while (supported_mechs[i]->name != NULL) {
- if (GSS_ERROR(gss_test_oid_set_member(&min_status,
-@@ -247,8 +284,48 @@
- ssh_gssapi_getclient(Gssctxt *ctx, ssh_gssapi_client *client)
- {
- int i = 0;
-+ int equal = 0;
-+ gss_name_t new_name = GSS_C_NO_NAME;
-+ gss_buffer_desc ename = GSS_C_EMPTY_BUFFER;
-
-- gss_buffer_desc ename;
-+ if (options.gss_store_rekey && client->used && ctx->client_creds) {
-+ if (client->mech->oid.length != ctx->oid->length ||
-+ (memcmp(client->mech->oid.elements,
-+ ctx->oid->elements, ctx->oid->length) !=0)) {
-+ debug("Rekeyed credentials have different mechanism");
-+ return GSS_S_COMPLETE;
-+ }
-+
-+ if ((ctx->major = gss_inquire_cred_by_mech(&ctx->minor,
-+ ctx->client_creds, ctx->oid, &new_name,
-+ NULL, NULL, NULL))) {
-+ ssh_gssapi_error(ctx);
-+ return (ctx->major);
-+ }
-+
-+ ctx->major = gss_compare_name(&ctx->minor, client->name,
-+ new_name, &equal);
-+
-+ if (GSS_ERROR(ctx->major)) {
-+ ssh_gssapi_error(ctx);
-+ return (ctx->major);
-+ }
-+
-+ if (!equal) {
-+ debug("Rekeyed credentials have different name");
-+ return GSS_S_COMPLETE;
-+ }
-+
-+ debug("Marking rekeyed credentials for export");
-+
-+ gss_release_name(&ctx->minor, &client->name);
-+ gss_release_cred(&ctx->minor, &client->creds);
-+ client->name = new_name;
-+ client->creds = ctx->client_creds;
-+ ctx->client_creds = GSS_C_NO_CREDENTIAL;
-+ client->updated = 1;
-+ return GSS_S_COMPLETE;
-+ }
-
- client->mech = NULL;
-
-@@ -263,6 +340,13 @@
- if (client->mech == NULL)
- return GSS_S_FAILURE;
-
-+ if (ctx->client_creds &&
-+ (ctx->major = gss_inquire_cred_by_mech(&ctx->minor,
-+ ctx->client_creds, ctx->oid, &client->name, NULL, NULL, NULL))) {
-+ ssh_gssapi_error(ctx);
-+ return (ctx->major);
-+ }
-+
- if ((ctx->major = gss_display_name(&ctx->minor, ctx->client,
- &client->displayname, NULL))) {
- ssh_gssapi_error(ctx);
-@@ -280,6 +364,8 @@
- return (ctx->major);
- }
-
-+ gss_release_buffer(&ctx->minor, &ename);
-+
- /* We can't copy this structure, so we just move the pointer to it */
- client->creds = ctx->client_creds;
- ctx->client_creds = GSS_C_NO_CREDENTIAL;
-@@ -327,7 +413,7 @@
-
- /* Privileged */
- int
--ssh_gssapi_userok(char *user)
-+ssh_gssapi_userok(char *user, struct passwd *pw)
- {
- OM_uint32 lmin;
-
-@@ -337,9 +423,11 @@
- return 0;
- }
- if (gssapi_client.mech && gssapi_client.mech->userok)
-- if ((*gssapi_client.mech->userok)(&gssapi_client, user))
-+ if ((*gssapi_client.mech->userok)(&gssapi_client, user)) {
-+ gssapi_client.used = 1;
-+ gssapi_client.store.owner = pw;
- return 1;
-- else {
-+ } else {
- /* Destroy delegated credentials if userok fails */
- gss_release_buffer(&lmin, &gssapi_client.displayname);
- gss_release_buffer(&lmin, &gssapi_client.exportedname);
-@@ -352,14 +440,90 @@
- return (0);
- }
-
--/* Privileged */
--OM_uint32
--ssh_gssapi_checkmic(Gssctxt *ctx, gss_buffer_t gssbuf, gss_buffer_t gssmic)
-+/* These bits are only used for rekeying. The unpriviledged child is running
-+ * as the user, the monitor is root.
-+ *
-+ * In the child, we want to :
-+ * *) Ask the monitor to store our credentials into the store we specify
-+ * *) If it succeeds, maybe do a PAM update
-+ */
-+
-+/* Stuff for PAM */
-+
-+#ifdef USE_PAM
-+static int ssh_gssapi_simple_conv(int n, const struct pam_message **msg,
-+ struct pam_response **resp, void *data)
- {
-- ctx->major = gss_verify_mic(&ctx->minor, ctx->context,
-- gssbuf, gssmic, NULL);
-+ return (PAM_CONV_ERR);
-+}
-+#endif
-
-- return (ctx->major);
-+void
-+ssh_gssapi_rekey_creds() {
-+ int ok;
-+ int ret;
-+#ifdef USE_PAM
-+ pam_handle_t *pamh = NULL;
-+ struct pam_conv pamconv = {ssh_gssapi_simple_conv, NULL};
-+ char *envstr;
-+#endif
-+
-+ if (gssapi_client.store.filename == NULL &&
-+ gssapi_client.store.envval == NULL &&
-+ gssapi_client.store.envvar == NULL)
-+ return;
-+
-+ ok = PRIVSEP(ssh_gssapi_update_creds(&gssapi_client.store));
-+
-+ if (!ok)
-+ return;
-+
-+ debug("Rekeyed credentials stored successfully");
-+
-+ /* Actually managing to play with the ssh pam stack from here will
-+ * be next to impossible. In any case, we may want different options
-+ * for rekeying. So, use our own :)
-+ */
-+#ifdef USE_PAM
-+ if (!use_privsep) {
-+ debug("Not even going to try and do PAM with privsep disabled");
-+ return;
-+ }
-+
-+ ret = pam_start("sshd-rekey", gssapi_client.store.owner->pw_name,
-+ &pamconv, &pamh);
-+ if (ret)
-+ return;
-+
-+ xasprintf(&envstr, "%s=%s", gssapi_client.store.envvar,
-+ gssapi_client.store.envval);
-+
-+ ret = pam_putenv(pamh, envstr);
-+ if (!ret)
-+ pam_setcred(pamh, PAM_REINITIALIZE_CRED);
-+ pam_end(pamh, PAM_SUCCESS);
-+#endif
-+}
-+
-+int
-+ssh_gssapi_update_creds(ssh_gssapi_ccache *store) {
-+ int ok = 0;
-+
-+ /* Check we've got credentials to store */
-+ if (!gssapi_client.updated)
-+ return 0;
-+
-+ gssapi_client.updated = 0;
-+
-+ temporarily_use_uid(gssapi_client.store.owner);
-+ if (gssapi_client.mech && gssapi_client.mech->updatecreds)
-+ ok = (*gssapi_client.mech->updatecreds)(store, &gssapi_client);
-+ else
-+ debug("No update function for this mechanism");
-+
-+ restore_uid();
-+
-+ return ok;
- }
-
- #endif
-diff --speed-large-files --minimal -Nru openssh-5.8p1/kex.c openssh-5.8p1.new/kex.c
---- openssh-5.8p1/kex.c 2010-09-24 14:11:14.000000000 +0200
-+++ openssh-5.8p1.new/kex.c 2011-02-12 18:07:11.149564726 +0100
-@@ -50,6 +50,10 @@
- #include "monitor.h"
- #include "roaming.h"
-
-+#ifdef GSSAPI
-+#include "ssh-gss.h"
-+#endif
-+
- #if OPENSSL_VERSION_NUMBER >= 0x00907000L
- # if defined(HAVE_EVP_SHA256)
- # define evp_ssh_sha256 EVP_sha256
-@@ -94,6 +98,11 @@
- #ifdef HAVE_EVP_SHA256
- { KEX_CURVE25519_SHA256, KEX_C25519_SHA256, 0, SSH_DIGEST_SHA256 },
- #endif
-+#ifdef GSSAPI
-+ { KEX_GSS_GEX_SHA1_ID, KEX_GSS_GEX_SHA1, 0, EVP_sha1 },
-+ { KEX_GSS_GRP1_SHA1_ID, KEX_GSS_GRP1_SHA1, 0, EVP_sha1 },
-+ { KEX_GSS_GRP14_SHA1_ID, KEX_GSS_GRP14_SHA1, 0, EVP_sha1 },
-+#endif
- { NULL, -1, -1, -1},
- };
-
-diff --speed-large-files --minimal -Nru openssh-5.8p1/kex.h openssh-5.8p1.new/kex.h
---- openssh-5.8p1/kex.h 2010-09-24 14:11:14.000000000 +0200
-+++ openssh-5.8p1.new/kex.h 2011-02-12 18:07:11.161650596 +0100
-@@ -73,7 +73,10 @@
- KEX_DH_GEX_SHA1,
- KEX_DH_GEX_SHA256,
- KEX_ECDH_SHA2,
- KEX_C25519_SHA256,
-+ KEX_GSS_GRP1_SHA1,
-+ KEX_GSS_GRP14_SHA1,
-+ KEX_GSS_GEX_SHA1,
- KEX_MAX
- };
-
-@@ -129,6 +132,12 @@
- int flags;
- const EVP_MD *evp_md;
- int ec_nid;
-+#ifdef GSSAPI
-+ int gss_deleg_creds;
-+ int gss_trust_dns;
-+ char *gss_host;
-+ char *gss_client;
-+#endif
- char *client_version_string;
- char *server_version_string;
- int (*verify_host_key)(Key *);
-@@ -156,6 +165,11 @@
- void kexecdh_client(Kex *);
- void kexecdh_server(Kex *);
-
-+#ifdef GSSAPI
-+void kexgss_client(Kex *);
-+void kexgss_server(Kex *);
-+#endif
-+
- void
- kex_dh_hash(char *, char *, char *, int, char *, int, u_char *, int,
- BIGNUM *, BIGNUM *, BIGNUM *, u_char **, u_int *);
-diff --speed-large-files --minimal -Nru openssh-5.8p1/kexgssc.c openssh-5.8p1.new/kexgssc.c
---- openssh-5.8p1/kexgssc.c 1970-01-01 01:00:00.000000000 +0100
-+++ openssh-5.8p1.new/kexgssc.c 2011-02-12 18:07:11.176741991 +0100
-@@ -0,0 +1,334 @@
-+/*
-+ * Copyright (c) 2001-2009 Simon Wilkinson. All rights reserved.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ * 1. Redistributions of source code must retain the above copyright
-+ * notice, this list of conditions and the following disclaimer.
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ * notice, this list of conditions and the following disclaimer in the
-+ * documentation and/or other materials provided with the distribution.
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR `AS IS'' AND ANY EXPRESS OR
-+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ */
-+
-+#include "includes.h"
-+
-+#ifdef GSSAPI
-+
-+#include "includes.h"
-+
-+#include
-+#include
-+
-+#include
-+
-+#include "xmalloc.h"
-+#include "buffer.h"
-+#include "ssh2.h"
-+#include "key.h"
-+#include "cipher.h"
-+#include "kex.h"
-+#include "log.h"
-+#include "packet.h"
-+#include "dh.h"
-+
-+#include "ssh-gss.h"
-+
-+void
-+kexgss_client(Kex *kex) {
-+ gss_buffer_desc send_tok = GSS_C_EMPTY_BUFFER;
-+ gss_buffer_desc recv_tok, gssbuf, msg_tok, *token_ptr;
-+ Gssctxt *ctxt;
-+ OM_uint32 maj_status, min_status, ret_flags;
-+ u_int klen, kout, slen = 0, hashlen, strlen;
-+ DH *dh;
-+ BIGNUM *dh_server_pub = NULL;
-+ BIGNUM *shared_secret = NULL;
-+ BIGNUM *p = NULL;
-+ BIGNUM *g = NULL;
-+ u_char *kbuf, *hash;
-+ u_char *serverhostkey = NULL;
-+ u_char *empty = "";
-+ char *msg;
-+ char *lang;
-+ int type = 0;
-+ int first = 1;
-+ int nbits = 0, min = DH_GRP_MIN, max = DH_GRP_MAX;
-+
-+ /* Initialise our GSSAPI world */
-+ ssh_gssapi_build_ctx(&ctxt);
-+ if (ssh_gssapi_id_kex(ctxt, kex->name, kex->kex_type)
-+ == GSS_C_NO_OID)
-+ fatal("Couldn't identify host exchange");
-+
-+ if (ssh_gssapi_import_name(ctxt, kex->gss_host))
-+ fatal("Couldn't import hostname");
-+
-+ if (kex->gss_client &&
-+ ssh_gssapi_client_identity(ctxt, kex->gss_client))
-+ fatal("Couldn't acquire client credentials");
-+
-+ switch (kex->kex_type) {
-+ case KEX_GSS_GRP1_SHA1:
-+ dh = dh_new_group1();
-+ break;
-+ case KEX_GSS_GRP14_SHA1:
-+ dh = dh_new_group14();
-+ break;
-+ case KEX_GSS_GEX_SHA1:
-+ debug("Doing group exchange\n");
-+ nbits = dh_estimate(kex->we_need * 8);
-+ packet_start(SSH2_MSG_KEXGSS_GROUPREQ);
-+ packet_put_int(min);
-+ packet_put_int(nbits);
-+ packet_put_int(max);
-+
-+ packet_send();
-+
-+ packet_read_expect(SSH2_MSG_KEXGSS_GROUP);
-+
-+ if ((p = BN_new()) == NULL)
-+ fatal("BN_new() failed");
-+ packet_get_bignum2(p);
-+ if ((g = BN_new()) == NULL)
-+ fatal("BN_new() failed");
-+ packet_get_bignum2(g);
-+ packet_check_eom();
-+
-+ if (BN_num_bits(p) < min || BN_num_bits(p) > max)
-+ fatal("GSSGRP_GEX group out of range: %d !< %d !< %d",
-+ min, BN_num_bits(p), max);
-+
-+ dh = dh_new_group(g, p);
-+ break;
-+ default:
-+ fatal("%s: Unexpected KEX type %d", __func__, kex->kex_type);
-+ }
-+
-+ /* Step 1 - e is dh->pub_key */
-+ dh_gen_key(dh, kex->we_need * 8);
-+
-+ /* This is f, we initialise it now to make life easier */
-+ dh_server_pub = BN_new();
-+ if (dh_server_pub == NULL)
-+ fatal("dh_server_pub == NULL");
-+
-+ token_ptr = GSS_C_NO_BUFFER;
-+
-+ do {
-+ debug("Calling gss_init_sec_context");
-+
-+ maj_status = ssh_gssapi_init_ctx(ctxt,
-+ kex->gss_deleg_creds, token_ptr, &send_tok,
-+ &ret_flags);
-+
-+ if (GSS_ERROR(maj_status)) {
-+ if (send_tok.length != 0) {
-+ packet_start(SSH2_MSG_KEXGSS_CONTINUE);
-+ packet_put_string(send_tok.value,
-+ send_tok.length);
-+ }
-+ fatal("gss_init_context failed");
-+ }
-+
-+ /* If we've got an old receive buffer get rid of it */
-+ if (token_ptr != GSS_C_NO_BUFFER)
-+ free(recv_tok.value);
-+
-+ if (maj_status == GSS_S_COMPLETE) {
-+ /* If mutual state flag is not true, kex fails */
-+ if (!(ret_flags & GSS_C_MUTUAL_FLAG))
-+ fatal("Mutual authentication failed");
-+
-+ /* If integ avail flag is not true kex fails */
-+ if (!(ret_flags & GSS_C_INTEG_FLAG))
-+ fatal("Integrity check failed");
-+ }
-+
-+ /*
-+ * If we have data to send, then the last message that we
-+ * received cannot have been a 'complete'.
-+ */
-+ if (send_tok.length != 0) {
-+ if (first) {
-+ packet_start(SSH2_MSG_KEXGSS_INIT);
-+ packet_put_string(send_tok.value,
-+ send_tok.length);
-+ packet_put_bignum2(dh->pub_key);
-+ first = 0;
-+ } else {
-+ packet_start(SSH2_MSG_KEXGSS_CONTINUE);
-+ packet_put_string(send_tok.value,
-+ send_tok.length);
-+ }
-+ packet_send();
-+ gss_release_buffer(&min_status, &send_tok);
-+
-+ /* If we've sent them data, they should reply */
-+ do {
-+ type = packet_read();
-+ if (type == SSH2_MSG_KEXGSS_HOSTKEY) {
-+ debug("Received KEXGSS_HOSTKEY");
-+ if (serverhostkey)
-+ fatal("Server host key received more than once");
-+ serverhostkey =
-+ packet_get_string(&slen);
-+ }
-+ } while (type == SSH2_MSG_KEXGSS_HOSTKEY);
-+
-+ switch (type) {
-+ case SSH2_MSG_KEXGSS_CONTINUE:
-+ debug("Received GSSAPI_CONTINUE");
-+ if (maj_status == GSS_S_COMPLETE)
-+ fatal("GSSAPI Continue received from server when complete");
-+ recv_tok.value = packet_get_string(&strlen);
-+ recv_tok.length = strlen;
-+ break;
-+ case SSH2_MSG_KEXGSS_COMPLETE:
-+ debug("Received GSSAPI_COMPLETE");
-+ packet_get_bignum2(dh_server_pub);
-+ msg_tok.value = packet_get_string(&strlen);
-+ msg_tok.length = strlen;
-+
-+ /* Is there a token included? */
-+ if (packet_get_char()) {
-+ recv_tok.value=
-+ packet_get_string(&strlen);
-+ recv_tok.length = strlen;
-+ /* If we're already complete - protocol error */
-+ if (maj_status == GSS_S_COMPLETE)
-+ packet_disconnect("Protocol error: received token when complete");
-+ } else {
-+ /* No token included */
-+ if (maj_status != GSS_S_COMPLETE)
-+ packet_disconnect("Protocol error: did not receive final token");
-+ }
-+ break;
-+ case SSH2_MSG_KEXGSS_ERROR:
-+ debug("Received Error");
-+ maj_status = packet_get_int();
-+ min_status = packet_get_int();
-+ msg = packet_get_string(NULL);
-+ lang = packet_get_string(NULL);
-+ fatal("GSSAPI Error: \n%.400s",msg);
-+ default:
-+ packet_disconnect("Protocol error: didn't expect packet type %d",
-+ type);
-+ }
-+ token_ptr = &recv_tok;
-+ } else {
-+ /* No data, and not complete */
-+ if (maj_status != GSS_S_COMPLETE)
-+ fatal("Not complete, and no token output");
-+ }
-+ } while (maj_status & GSS_S_CONTINUE_NEEDED);
-+
-+ /*
-+ * We _must_ have received a COMPLETE message in reply from the
-+ * server, which will have set dh_server_pub and msg_tok
-+ */
-+
-+ if (type != SSH2_MSG_KEXGSS_COMPLETE)
-+ fatal("Didn't receive a SSH2_MSG_KEXGSS_COMPLETE when I expected it");
-+
-+ /* Check f in range [1, p-1] */
-+ if (!dh_pub_is_valid(dh, dh_server_pub))
-+ packet_disconnect("bad server public DH value");
-+
-+ /* compute K=f^x mod p */
-+ klen = DH_size(dh);
-+ kbuf = xmalloc(klen);
-+ kout = DH_compute_key(kbuf, dh_server_pub, dh);
-+ if (kout < 0)
-+ fatal("DH_compute_key: failed");
-+
-+ shared_secret = BN_new();
-+ if (shared_secret == NULL)
-+ fatal("kexgss_client: BN_new failed");
-+
-+ if (BN_bin2bn(kbuf, kout, shared_secret) == NULL)
-+ fatal("kexdh_client: BN_bin2bn failed");
-+
-+ memset(kbuf, 0, klen);
-+ free(kbuf);
-+
-+ switch (kex->kex_type) {
-+ case KEX_GSS_GRP1_SHA1:
-+ case KEX_GSS_GRP14_SHA1:
-+ kex_dh_hash( kex->client_version_string,
-+ kex->server_version_string,
-+ buffer_ptr(&kex->my), buffer_len(&kex->my),
-+ buffer_ptr(&kex->peer), buffer_len(&kex->peer),
-+ (serverhostkey ? serverhostkey : empty), slen,
-+ dh->pub_key, /* e */
-+ dh_server_pub, /* f */
-+ shared_secret, /* K */
-+ &hash, &hashlen
-+ );
-+ break;
-+ case KEX_GSS_GEX_SHA1:
-+ kexgex_hash(
-+ kex->hash_alg,
-+ kex->client_version_string,
-+ kex->server_version_string,
-+ buffer_ptr(&kex->my), buffer_len(&kex->my),
-+ buffer_ptr(&kex->peer), buffer_len(&kex->peer),
-+ (serverhostkey ? serverhostkey : empty), slen,
-+ min, nbits, max,
-+ dh->p, dh->g,
-+ dh->pub_key,
-+ dh_server_pub,
-+ shared_secret,
-+ &hash, &hashlen
-+ );
-+ break;
-+ default:
-+ fatal("%s: Unexpected KEX type %d", __func__, kex->kex_type);
-+ }
-+
-+ gssbuf.value = hash;
-+ gssbuf.length = hashlen;
-+
-+ /* Verify that the hash matches the MIC we just got. */
-+ if (GSS_ERROR(ssh_gssapi_checkmic(ctxt, &gssbuf, &msg_tok)))
-+ packet_disconnect("Hash's MIC didn't verify");
-+
-+ free(msg_tok.value);
-+
-+ DH_free(dh);
-+ if (serverhostkey)
-+ free(serverhostkey);
-+ BN_clear_free(dh_server_pub);
-+
-+ /* save session id */
-+ if (kex->session_id == NULL) {
-+ kex->session_id_len = hashlen;
-+ kex->session_id = xmalloc(kex->session_id_len);
-+ memcpy(kex->session_id, hash, kex->session_id_len);
-+ }
-+
-+ if (kex->gss_deleg_creds)
-+ ssh_gssapi_credentials_updated(ctxt);
-+
-+ if (gss_kex_context == NULL)
-+ gss_kex_context = ctxt;
-+ else
-+ ssh_gssapi_delete_ctx(&ctxt);
-+
-+ kex_derive_keys_bn(kex, hash, hashlen, shared_secret);
-+ BN_clear_free(shared_secret);
-+ kex_finish(kex);
-+}
-+
-+#endif /* GSSAPI */
-diff --speed-large-files --minimal -Nru openssh-5.8p1/kexgsss.c openssh-5.8p1.new/kexgsss.c
---- openssh-5.8p1/kexgsss.c 1970-01-01 01:00:00.000000000 +0100
-+++ openssh-5.8p1.new/kexgsss.c 2011-02-12 18:07:11.186584789 +0100
-@@ -0,0 +1,288 @@
-+/*
-+ * Copyright (c) 2001-2009 Simon Wilkinson. All rights reserved.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ * 1. Redistributions of source code must retain the above copyright
-+ * notice, this list of conditions and the following disclaimer.
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ * notice, this list of conditions and the following disclaimer in the
-+ * documentation and/or other materials provided with the distribution.
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR `AS IS'' AND ANY EXPRESS OR
-+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ */
-+
-+#include "includes.h"
-+
-+#ifdef GSSAPI
-+
-+#include
-+
-+#include
-+#include
-+
-+#include "xmalloc.h"
-+#include "buffer.h"
-+#include "ssh2.h"
-+#include "key.h"
-+#include "cipher.h"
-+#include "kex.h"
-+#include "log.h"
-+#include "packet.h"
-+#include "dh.h"
-+#include "ssh-gss.h"
-+#include "monitor_wrap.h"
-+#include "servconf.h"
-+
-+extern ServerOptions options;
-+
-+void
-+kexgss_server(Kex *kex)
-+{
-+ OM_uint32 maj_status, min_status;
-+
-+ /*
-+ * Some GSSAPI implementations use the input value of ret_flags (an
-+ * output variable) as a means of triggering mechanism specific
-+ * features. Initializing it to zero avoids inadvertently
-+ * activating this non-standard behaviour.
-+ */
-+
-+ OM_uint32 ret_flags = 0;
-+ gss_buffer_desc gssbuf, recv_tok, msg_tok;
-+ gss_buffer_desc send_tok = GSS_C_EMPTY_BUFFER;
-+ Gssctxt *ctxt = NULL;
-+ u_int slen, klen, kout, hashlen;
-+ u_char *kbuf, *hash;
-+ DH *dh;
-+ int min = -1, max = -1, nbits = -1;
-+ BIGNUM *shared_secret = NULL;
-+ BIGNUM *dh_client_pub = NULL;
-+ int type = 0;
-+ gss_OID oid;
-+ char *mechs;
-+
-+ /* Initialise GSSAPI */
-+
-+ /* If we're rekeying, privsep means that some of the private structures
-+ * in the GSSAPI code are no longer available. This kludges them back
-+ * into life
-+ */
-+ if (!ssh_gssapi_oid_table_ok())
-+ if ((mechs = ssh_gssapi_server_mechanisms()))
-+ free(mechs);
-+
-+ debug2("%s: Identifying %s", __func__, kex->name);
-+ oid = ssh_gssapi_id_kex(NULL, kex->name, kex->kex_type);
-+ if (oid == GSS_C_NO_OID)
-+ fatal("Unknown gssapi mechanism");
-+
-+ debug2("%s: Acquiring credentials", __func__);
-+
-+ if (GSS_ERROR(PRIVSEP(ssh_gssapi_server_ctx(&ctxt, oid))))
-+ fatal("Unable to acquire credentials for the server");
-+
-+ switch (kex->kex_type) {
-+ case KEX_GSS_GRP1_SHA1:
-+ dh = dh_new_group1();
-+ break;
-+ case KEX_GSS_GRP14_SHA1:
-+ dh = dh_new_group14();
-+ break;
-+ case KEX_GSS_GEX_SHA1:
-+ debug("Doing group exchange");
-+ packet_read_expect(SSH2_MSG_KEXGSS_GROUPREQ);
-+ min = packet_get_int();
-+ nbits = packet_get_int();
-+ max = packet_get_int();
-+ min = MAX(DH_GRP_MIN, min);
-+ max = MIN(DH_GRP_MAX, max);
-+ packet_check_eom();
-+ if (max < min || nbits < min || max < nbits)
-+ fatal("GSS_GEX, bad parameters: %d !< %d !< %d",
-+ min, nbits, max);
-+ dh = PRIVSEP(choose_dh(min, nbits, max));
-+ if (dh == NULL)
-+ packet_disconnect("Protocol error: no matching group found");
-+
-+ packet_start(SSH2_MSG_KEXGSS_GROUP);
-+ packet_put_bignum2(dh->p);
-+ packet_put_bignum2(dh->g);
-+ packet_send();
-+
-+ packet_write_wait();
-+ break;
-+ default:
-+ fatal("%s: Unexpected KEX type %d", __func__, kex->kex_type);
-+ }
-+
-+ dh_gen_key(dh, kex->we_need * 8);
-+
-+ do {
-+ debug("Wait SSH2_MSG_GSSAPI_INIT");
-+ type = packet_read();
-+ switch(type) {
-+ case SSH2_MSG_KEXGSS_INIT:
-+ if (dh_client_pub != NULL)
-+ fatal("Received KEXGSS_INIT after initialising");
-+ recv_tok.value = packet_get_string(&slen);
-+ recv_tok.length = slen;
-+
-+ if ((dh_client_pub = BN_new()) == NULL)
-+ fatal("dh_client_pub == NULL");
-+
-+ packet_get_bignum2(dh_client_pub);
-+
-+ /* Send SSH_MSG_KEXGSS_HOSTKEY here, if we want */
-+ break;
-+ case SSH2_MSG_KEXGSS_CONTINUE:
-+ recv_tok.value = packet_get_string(&slen);
-+ recv_tok.length = slen;
-+ break;
-+ default:
-+ packet_disconnect(
-+ "Protocol error: didn't expect packet type %d",
-+ type);
-+ }
-+
-+ maj_status = PRIVSEP(ssh_gssapi_accept_ctx(ctxt, &recv_tok,
-+ &send_tok, &ret_flags));
-+
-+ free(recv_tok.value);
-+
-+ if (maj_status != GSS_S_COMPLETE && send_tok.length == 0)
-+ fatal("Zero length token output when incomplete");
-+
-+ if (dh_client_pub == NULL)
-+ fatal("No client public key");
-+
-+ if (maj_status & GSS_S_CONTINUE_NEEDED) {
-+ debug("Sending GSSAPI_CONTINUE");
-+ packet_start(SSH2_MSG_KEXGSS_CONTINUE);
-+ packet_put_string(send_tok.value, send_tok.length);
-+ packet_send();
-+ gss_release_buffer(&min_status, &send_tok);
-+ }
-+ } while (maj_status & GSS_S_CONTINUE_NEEDED);
-+
-+ if (GSS_ERROR(maj_status)) {
-+ if (send_tok.length > 0) {
-+ packet_start(SSH2_MSG_KEXGSS_CONTINUE);
-+ packet_put_string(send_tok.value, send_tok.length);
-+ packet_send();
-+ }
-+ fatal("accept_ctx died");
-+ }
-+
-+ if (!(ret_flags & GSS_C_MUTUAL_FLAG))
-+ fatal("Mutual Authentication flag wasn't set");
-+
-+ if (!(ret_flags & GSS_C_INTEG_FLAG))
-+ fatal("Integrity flag wasn't set");
-+
-+ if (!dh_pub_is_valid(dh, dh_client_pub))
-+ packet_disconnect("bad client public DH value");
-+
-+ klen = DH_size(dh);
-+ kbuf = xmalloc(klen);
-+ kout = DH_compute_key(kbuf, dh_client_pub, dh);
-+ if (kout < 0)
-+ fatal("DH_compute_key: failed");
-+
-+ shared_secret = BN_new();
-+ if (shared_secret == NULL)
-+ fatal("kexgss_server: BN_new failed");
-+
-+ if (BN_bin2bn(kbuf, kout, shared_secret) == NULL)
-+ fatal("kexgss_server: BN_bin2bn failed");
-+
-+ memset(kbuf, 0, klen);
-+ free(kbuf);
-+
-+ switch (kex->kex_type) {
-+ case KEX_GSS_GRP1_SHA1:
-+ case KEX_GSS_GRP14_SHA1:
-+ kex_dh_hash(
-+ kex->client_version_string, kex->server_version_string,
-+ buffer_ptr(&kex->peer), buffer_len(&kex->peer),
-+ buffer_ptr(&kex->my), buffer_len(&kex->my),
-+ NULL, 0, /* Change this if we start sending host keys */
-+ dh_client_pub, dh->pub_key, shared_secret,
-+ &hash, &hashlen
-+ );
-+ break;
-+ case KEX_GSS_GEX_SHA1:
-+ kexgex_hash(
-+ kex->hash_alg,
-+ kex->client_version_string, kex->server_version_string,
-+ buffer_ptr(&kex->peer), buffer_len(&kex->peer),
-+ buffer_ptr(&kex->my), buffer_len(&kex->my),
-+ NULL, 0,
-+ min, nbits, max,
-+ dh->p, dh->g,
-+ dh_client_pub,
-+ dh->pub_key,
-+ shared_secret,
-+ &hash, &hashlen
-+ );
-+ break;
-+ default:
-+ fatal("%s: Unexpected KEX type %d", __func__, kex->kex_type);
-+ }
-+
-+ BN_clear_free(dh_client_pub);
-+
-+ if (kex->session_id == NULL) {
-+ kex->session_id_len = hashlen;
-+ kex->session_id = xmalloc(kex->session_id_len);
-+ memcpy(kex->session_id, hash, kex->session_id_len);
-+ }
-+
-+ gssbuf.value = hash;
-+ gssbuf.length = hashlen;
-+
-+ if (GSS_ERROR(PRIVSEP(ssh_gssapi_sign(ctxt,&gssbuf,&msg_tok))))
-+ fatal("Couldn't get MIC");
-+
-+ packet_start(SSH2_MSG_KEXGSS_COMPLETE);
-+ packet_put_bignum2(dh->pub_key);
-+ packet_put_string(msg_tok.value,msg_tok.length);
-+
-+ if (send_tok.length != 0) {
-+ packet_put_char(1); /* true */
-+ packet_put_string(send_tok.value, send_tok.length);
-+ } else {
-+ packet_put_char(0); /* false */
-+ }
-+ packet_send();
-+
-+ gss_release_buffer(&min_status, &send_tok);
-+ gss_release_buffer(&min_status, &msg_tok);
-+
-+ if (gss_kex_context == NULL)
-+ gss_kex_context = ctxt;
-+ else
-+ ssh_gssapi_delete_ctx(&ctxt);
-+
-+ DH_free(dh);
-+
-+ kex_derive_keys_bn(kex, hash, hashlen, shared_secret);
-+ BN_clear_free(shared_secret);
-+ kex_finish(kex);
-+
-+ /* If this was a rekey, then save out any delegated credentials we
-+ * just exchanged. */
-+ if (options.gss_store_rekey)
-+ ssh_gssapi_rekey_creds();
-+}
-+#endif /* GSSAPI */
-diff --speed-large-files --minimal -Nru openssh-5.8p1/key.c openssh-5.8p1.new/key.c
---- openssh-5.8p1/key.c 2011-02-04 01:48:34.000000000 +0100
-+++ openssh-5.8p1.new/key.c 2011-02-12 18:07:11.202089386 +0100
-@@ -929,6 +929,7 @@
- { "ecdsa-sha2-nistp521-cert-v01 at openssh.com", "ECDSA-CERT",
- KEY_ECDSA_CERT, NID_secp521r1, 1 },
- #endif /* OPENSSL_HAS_ECC */
-+ { "null", "null", KEY_NULL, 0, 0 },
- { "ssh-rsa-cert-v00 at openssh.com", "RSA-CERT-V00",
- KEY_RSA_CERT_V00, 0, 1 },
- { "ssh-dss-cert-v00 at openssh.com", "DSA-CERT-V00",
-diff --speed-large-files --minimal -Nru openssh-5.8p1/key.h openssh-5.8p1.new/key.h
---- openssh-5.8p1/key.h 2010-11-05 00:19:49.000000000 +0100
-+++ openssh-5.8p1.new/key.h 2011-02-12 18:07:11.216270794 +0100
-@@ -44,6 +44,7 @@
- KEY_ECDSA_CERT,
- KEY_RSA_CERT_V00,
- KEY_DSA_CERT_V00,
-+ KEY_NULL,
- KEY_UNSPEC
- };
- enum fp_type {
-diff --speed-large-files --minimal -Nru openssh-5.8p1/monitor.c openssh-5.8p1.new/monitor.c
---- openssh-5.8p1/monitor.c 2010-09-10 03:23:34.000000000 +0200
-+++ openssh-5.8p1.new/monitor.c 2011-02-12 18:07:11.241713537 +0100
-@@ -172,6 +172,8 @@
- int mm_answer_gss_accept_ctx(int, Buffer *);
- int mm_answer_gss_userok(int, Buffer *);
- int mm_answer_gss_checkmic(int, Buffer *);
-+int mm_answer_gss_sign(int, Buffer *);
-+int mm_answer_gss_updatecreds(int, Buffer *);
- #endif
-
- #ifdef SSH_AUDIT_EVENTS
-@@ -241,6 +243,7 @@
- {MONITOR_REQ_GSSSTEP, MON_ISAUTH, mm_answer_gss_accept_ctx},
- {MONITOR_REQ_GSSUSEROK, MON_AUTH, mm_answer_gss_userok},
- {MONITOR_REQ_GSSCHECKMIC, MON_ISAUTH, mm_answer_gss_checkmic},
-+ {MONITOR_REQ_GSSSIGN, MON_ONCE, mm_answer_gss_sign},
- #endif
- #ifdef JPAKE
- {MONITOR_REQ_JPAKE_GET_PWDATA, MON_ONCE, mm_answer_jpake_get_pwdata},
-@@ -253,6 +256,12 @@
- };
-
- struct mon_table mon_dispatch_postauth20[] = {
-+#ifdef GSSAPI
-+ {MONITOR_REQ_GSSSETUP, 0, mm_answer_gss_setup_ctx},
-+ {MONITOR_REQ_GSSSTEP, 0, mm_answer_gss_accept_ctx},
-+ {MONITOR_REQ_GSSSIGN, 0, mm_answer_gss_sign},
-+ {MONITOR_REQ_GSSUPCREDS, 0, mm_answer_gss_updatecreds},
-+#endif
- {MONITOR_REQ_MODULI, 0, mm_answer_moduli},
- {MONITOR_REQ_SIGN, 0, mm_answer_sign},
- {MONITOR_REQ_PTY, 0, mm_answer_pty},
-@@ -357,6 +366,10 @@
- /* Permit requests for moduli and signatures */
- monitor_permit(mon_dispatch, MONITOR_REQ_MODULI, 1);
- monitor_permit(mon_dispatch, MONITOR_REQ_SIGN, 1);
-+#ifdef GSSAPI
-+ /* and for the GSSAPI key exchange */
-+ monitor_permit(mon_dispatch, MONITOR_REQ_GSSSETUP, 1);
-+#endif
- } else {
- mon_dispatch = mon_dispatch_proto15;
-
-@@ -443,6 +456,10 @@
- monitor_permit(mon_dispatch, MONITOR_REQ_MODULI, 1);
- monitor_permit(mon_dispatch, MONITOR_REQ_SIGN, 1);
- monitor_permit(mon_dispatch, MONITOR_REQ_TERM, 1);
-+#ifdef GSSAPI
-+ /* and for the GSSAPI key exchange */
-+ monitor_permit(mon_dispatch, MONITOR_REQ_GSSSETUP, 1);
-+#endif
- } else {
- mon_dispatch = mon_dispatch_postauth15;
- monitor_permit(mon_dispatch, MONITOR_REQ_TERM, 1);
-@@ -1692,7 +1709,14 @@
- kex->kex[KEX_DH_GEX_SHA1] = kexgex_server;
- kex->kex[KEX_DH_GEX_SHA256] = kexgex_server;
- kex->kex[KEX_ECDH_SHA2] = kexecdh_server;
- kex->kex[KEX_C25519_SHA256] = kexc25519_server;
-+#ifdef GSSAPI
-+ if (options.gss_keyex) {
-+ kex->kex[KEX_GSS_GRP1_SHA1] = kexgss_server;
-+ kex->kex[KEX_GSS_GRP14_SHA1] = kexgss_server;
-+ kex->kex[KEX_GSS_GEX_SHA1] = kexgss_server;
-+ }
-+#endif
- kex->server = 1;
- kex->hostkey_type = buffer_get_int(m);
- kex->kex_type = buffer_get_int(m);
-@@ -1898,6 +1922,9 @@
- OM_uint32 major;
- u_int len;
-
-+ if (!options.gss_authentication && !options.gss_keyex)
-+ fatal("In GSSAPI monitor when GSSAPI is disabled");
-+
- goid.elements = buffer_get_string(m, &len);
- goid.length = len;
-
-@@ -1925,6 +1952,9 @@
- OM_uint32 flags = 0; /* GSI needs this */
- u_int len;
-
-+ if (!options.gss_authentication && !options.gss_keyex)
-+ fatal("In GSSAPI monitor when GSSAPI is disabled");
-+
- in.value = buffer_get_string(m, &len);
- in.length = len;
- major = ssh_gssapi_accept_ctx(gsscontext, &in, &out, &flags);
-@@ -1942,6 +1972,7 @@
- monitor_permit(mon_dispatch, MONITOR_REQ_GSSSTEP, 0);
- monitor_permit(mon_dispatch, MONITOR_REQ_GSSUSEROK, 1);
- monitor_permit(mon_dispatch, MONITOR_REQ_GSSCHECKMIC, 1);
-+ monitor_permit(mon_dispatch, MONITOR_REQ_GSSSIGN, 1);
- }
- return (0);
- }
-@@ -1953,6 +1984,9 @@
- OM_uint32 ret;
- u_int len;
-
-+ if (!options.gss_authentication && !options.gss_keyex)
-+ fatal("In GSSAPI monitor when GSSAPI is disabled");
-+
- gssbuf.value = buffer_get_string(m, &len);
- gssbuf.length = len;
- mic.value = buffer_get_string(m, &len);
-@@ -1979,7 +2013,11 @@
- {
- int authenticated;
-
-- authenticated = authctxt->valid && ssh_gssapi_userok(authctxt->user);
-+ if (!options.gss_authentication && !options.gss_keyex)
-+ fatal("In GSSAPI monitor when GSSAPI is disabled");
-+
-+ authenticated = authctxt->valid &&
-+ ssh_gssapi_userok(authctxt->user, authctxt->pw);
-
- buffer_clear(m);
- buffer_put_int(m, authenticated);
-@@ -1992,6 +2030,74 @@
- /* Monitor loop will terminate if authenticated */
- return (authenticated);
- }
-+
-+int
-+mm_answer_gss_sign(int socket, Buffer *m)
-+{
-+ gss_buffer_desc data;
-+ gss_buffer_desc hash = GSS_C_EMPTY_BUFFER;
-+ OM_uint32 major, minor;
-+ u_int len;
-+
-+ if (!options.gss_authentication && !options.gss_keyex)
-+ fatal("In GSSAPI monitor when GSSAPI is disabled");
-+
-+ data.value = buffer_get_string(m, &len);
-+ data.length = len;
-+ if (data.length != 20)
-+ fatal("%s: data length incorrect: %d", __func__,
-+ (int) data.length);
-+
-+ /* Save the session ID on the first time around */
-+ if (session_id2_len == 0) {
-+ session_id2_len = data.length;
-+ session_id2 = xmalloc(session_id2_len);
-+ memcpy(session_id2, data.value, session_id2_len);
-+ }
-+ major = ssh_gssapi_sign(gsscontext, &data, &hash);
-+
-+ free(data.value);
-+
-+ buffer_clear(m);
-+ buffer_put_int(m, major);
-+ buffer_put_string(m, hash.value, hash.length);
-+
-+ mm_request_send(socket, MONITOR_ANS_GSSSIGN, m);
-+
-+ gss_release_buffer(&minor, &hash);
-+
-+ /* Turn on getpwnam permissions */
-+ monitor_permit(mon_dispatch, MONITOR_REQ_PWNAM, 1);
-+
-+ /* And credential updating, for when rekeying */
-+ monitor_permit(mon_dispatch, MONITOR_REQ_GSSUPCREDS, 1);
-+
-+ return (0);
-+}
-+
-+int
-+mm_answer_gss_updatecreds(int socket, Buffer *m) {
-+ ssh_gssapi_ccache store;
-+ int ok;
-+
-+ store.filename = buffer_get_string(m, NULL);
-+ store.envvar = buffer_get_string(m, NULL);
-+ store.envval = buffer_get_string(m, NULL);
-+
-+ ok = ssh_gssapi_update_creds(&store);
-+
-+ free(store.filename);
-+ free(store.envvar);
-+ free(store.envval);
-+
-+ buffer_clear(m);
-+ buffer_put_int(m, ok);
-+
-+ mm_request_send(socket, MONITOR_ANS_GSSUPCREDS, m);
-+
-+ return(0);
-+}
-+
- #endif /* GSSAPI */
-
- #ifdef JPAKE
-diff --speed-large-files --minimal -Nru openssh-5.8p1/monitor.h openssh-5.8p1.new/monitor.h
---- openssh-5.8p1/monitor.h 2008-11-05 06:20:46.000000000 +0100
-+++ openssh-5.8p1.new/monitor.h 2011-02-12 18:07:11.311728071 +0100
-@@ -53,6 +53,9 @@
- MONITOR_REQ_JPAKE_STEP2 = 56, MONITOR_ANS_JPAKE_STEP2 = 57,
- MONITOR_REQ_JPAKE_KEY_CONFIRM = 58, MONITOR_ANS_JPAKE_KEY_CONFIRM = 59,
- MONITOR_REQ_JPAKE_CHECK_CONFIRM = 60, MONITOR_ANS_JPAKE_CHECK_CONFIRM = 61,
-+
-+ MONITOR_REQ_GSSSIGN = 62, MONITOR_ANS_GSSSIGN = 63,
-+ MONITOR_REQ_GSSUPCREDS = 64, MONITOR_ANS_GSSUPCREDS = 65,
-
- MONITOR_REQ_PAM_START = 100,
- MONITOR_REQ_PAM_ACCOUNT = 102, MONITOR_ANS_PAM_ACCOUNT = 103,
- MONITOR_REQ_PAM_INIT_CTX = 104, MONITOR_ANS_PAM_INIT_CTX = 105,
-diff --speed-large-files --minimal -Nru openssh-5.8p1/monitor_wrap.c openssh-5.8p1.new/monitor_wrap.c
---- openssh-5.8p1/monitor_wrap.c 2010-08-31 14:41:14.000000000 +0200
-+++ openssh-5.8p1.new/monitor_wrap.c 2011-02-12 18:07:11.359631731 +0100
-@@ -1232,7 +1232,7 @@
- }
-
- int
--mm_ssh_gssapi_userok(char *user)
-+mm_ssh_gssapi_userok(char *user, struct passwd *pw)
- {
- Buffer m;
- int authenticated = 0;
-@@ -1249,6 +1249,51 @@
- debug3("%s: user %sauthenticated",__func__, authenticated ? "" : "not ");
- return (authenticated);
- }
-+
-+OM_uint32
-+mm_ssh_gssapi_sign(Gssctxt *ctx, gss_buffer_desc *data, gss_buffer_desc *hash)
-+{
-+ Buffer m;
-+ OM_uint32 major;
-+ u_int len;
-+
-+ buffer_init(&m);
-+ buffer_put_string(&m, data->value, data->length);
-+
-+ mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_GSSSIGN, &m);
-+ mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_GSSSIGN, &m);
-+
-+ major = buffer_get_int(&m);
-+ hash->value = buffer_get_string(&m, &len);
-+ hash->length = len;
-+
-+ buffer_free(&m);
-+
-+ return(major);
-+}
-+
-+int
-+mm_ssh_gssapi_update_creds(ssh_gssapi_ccache *store)
-+{
-+ Buffer m;
-+ int ok;
-+
-+ buffer_init(&m);
-+
-+ buffer_put_cstring(&m, store->filename ? store->filename : "");
-+ buffer_put_cstring(&m, store->envvar ? store->envvar : "");
-+ buffer_put_cstring(&m, store->envval ? store->envval : "");
-+
-+ mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_GSSUPCREDS, &m);
-+ mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_GSSUPCREDS, &m);
-+
-+ ok = buffer_get_int(&m);
-+
-+ buffer_free(&m);
-+
-+ return (ok);
-+}
-+
- #endif /* GSSAPI */
-
- #ifdef JPAKE
-diff --speed-large-files --minimal -Nru openssh-5.8p1/monitor_wrap.h openssh-5.8p1.new/monitor_wrap.h
---- openssh-5.8p1/monitor_wrap.h 2009-03-05 14:58:22.000000000 +0100
-+++ openssh-5.8p1.new/monitor_wrap.h 2011-02-12 18:07:11.407619296 +0100
-@@ -57,8 +57,10 @@
- OM_uint32 mm_ssh_gssapi_server_ctx(Gssctxt **, gss_OID);
- OM_uint32 mm_ssh_gssapi_accept_ctx(Gssctxt *,
- gss_buffer_desc *, gss_buffer_desc *, OM_uint32 *);
--int mm_ssh_gssapi_userok(char *user);
-+int mm_ssh_gssapi_userok(char *user, struct passwd *);
- OM_uint32 mm_ssh_gssapi_checkmic(Gssctxt *, gss_buffer_t, gss_buffer_t);
-+OM_uint32 mm_ssh_gssapi_sign(Gssctxt *, gss_buffer_t, gss_buffer_t);
-+int mm_ssh_gssapi_update_creds(ssh_gssapi_ccache *);
- #endif
-
- #ifdef USE_PAM
-diff --speed-large-files --minimal -Nru openssh-5.8p1/readconf.c openssh-5.8p1.new/readconf.c
---- openssh-5.8p1/readconf.c 2010-11-20 05:19:38.000000000 +0100
-+++ openssh-5.8p1.new/readconf.c 2011-02-12 18:07:11.460306621 +0100
-@@ -129,6 +129,8 @@
- oClearAllForwardings, oNoHostAuthenticationForLocalhost,
- oEnableSSHKeysign, oRekeyLimit, oVerifyHostKeyDNS, oConnectTimeout,
- oAddressFamily, oGssAuthentication, oGssDelegateCreds,
-+ oGssTrustDns, oGssKeyEx, oGssClientIdentity, oGssRenewalRekey,
-+ oGssServerIdentity,
- oServerAliveInterval, oServerAliveCountMax, oIdentitiesOnly,
- oSendEnv, oControlPath, oControlMaster, oControlPersist,
- oHashKnownHosts,
-@@ -169,10 +171,19 @@
- { "afstokenpassing", oUnsupported },
- #if defined(GSSAPI)
- { "gssapiauthentication", oGssAuthentication },
-+ { "gssapikeyexchange", oGssKeyEx },
- { "gssapidelegatecredentials", oGssDelegateCreds },
-+ { "gssapitrustdns", oGssTrustDns },
-+ { "gssapiclientidentity", oGssClientIdentity },
-+ { "gssapiserveridentity", oGssServerIdentity },
-+ { "gssapirenewalforcesrekey", oGssRenewalRekey },
- #else
- { "gssapiauthentication", oUnsupported },
-+ { "gssapikeyexchange", oUnsupported },
- { "gssapidelegatecredentials", oUnsupported },
-+ { "gssapitrustdns", oUnsupported },
-+ { "gssapiclientidentity", oUnsupported },
-+ { "gssapirenewalforcesrekey", oUnsupported },
- #endif
- { "fallbacktorsh", oDeprecated },
- { "usersh", oDeprecated },
-@@ -479,10 +490,30 @@
- intptr = &options->gss_authentication;
- goto parse_flag;
-
-+ case oGssKeyEx:
-+ intptr = &options->gss_keyex;
-+ goto parse_flag;
-+
- case oGssDelegateCreds:
- intptr = &options->gss_deleg_creds;
- goto parse_flag;
-
-+ case oGssTrustDns:
-+ intptr = &options->gss_trust_dns;
-+ goto parse_flag;
-+
-+ case oGssClientIdentity:
-+ charptr = &options->gss_client_identity;
-+ goto parse_string;
-+
-+ case oGssServerIdentity:
-+ charptr = &options->gss_server_identity;
-+ goto parse_string;
-+
-+ case oGssRenewalRekey:
-+ intptr = &options->gss_renewal_rekey;
-+ goto parse_flag;
-+
- case oBatchMode:
- intptr = &options->batch_mode;
- goto parse_flag;
-@@ -1092,7 +1123,12 @@
- options->pubkey_authentication = -1;
- options->challenge_response_authentication = -1;
- options->gss_authentication = -1;
-+ options->gss_keyex = -1;
- options->gss_deleg_creds = -1;
-+ options->gss_trust_dns = -1;
-+ options->gss_renewal_rekey = -1;
-+ options->gss_client_identity = NULL;
-+ options->gss_server_identity = NULL;
- options->password_authentication = -1;
- options->kbd_interactive_authentication = -1;
- options->kbd_interactive_devices = NULL;
-@@ -1193,8 +1229,14 @@
- options->challenge_response_authentication = 1;
- if (options->gss_authentication == -1)
- options->gss_authentication = 0;
-+ if (options->gss_keyex == -1)
-+ options->gss_keyex = 0;
- if (options->gss_deleg_creds == -1)
- options->gss_deleg_creds = 0;
-+ if (options->gss_trust_dns == -1)
-+ options->gss_trust_dns = 0;
-+ if (options->gss_renewal_rekey == -1)
-+ options->gss_renewal_rekey = 0;
- if (options->password_authentication == -1)
- options->password_authentication = 1;
- if (options->kbd_interactive_authentication == -1)
-diff --speed-large-files --minimal -Nru openssh-5.8p1/readconf.h openssh-5.8p1.new/readconf.h
---- openssh-5.8p1/readconf.h 2010-11-20 05:19:38.000000000 +0100
-+++ openssh-5.8p1.new/readconf.h 2011-02-12 18:07:11.507187275 +0100
-@@ -46,7 +46,12 @@
- int challenge_response_authentication;
- /* Try S/Key or TIS, authentication. */
- int gss_authentication; /* Try GSS authentication */
-+ int gss_keyex; /* Try GSS key exchange */
- int gss_deleg_creds; /* Delegate GSS credentials */
-+ int gss_trust_dns; /* Trust DNS for GSS canonicalization */
-+ int gss_renewal_rekey; /* Credential renewal forces rekey */
-+ char *gss_client_identity; /* Principal to initiate GSSAPI with */
-+ char *gss_server_identity; /* GSSAPI target principal */
- int password_authentication; /* Try password
- * authentication. */
- int kbd_interactive_authentication; /* Try keyboard-interactive auth. */
-diff --speed-large-files --minimal -Nru openssh-5.8p1/servconf.c openssh-5.8p1.new/servconf.c
---- openssh-5.8p1/servconf.c 2010-11-20 05:19:38.000000000 +0100
-+++ openssh-5.8p1.new/servconf.c 2011-02-12 18:07:11.533252334 +0100
-@@ -97,7 +97,10 @@
- options->kerberos_ticket_cleanup = -1;
- options->kerberos_get_afs_token = -1;
- options->gss_authentication=-1;
-+ options->gss_keyex = -1;
- options->gss_cleanup_creds = -1;
-+ options->gss_strict_acceptor = -1;
-+ options->gss_store_rekey = -1;
- options->password_authentication = -1;
- options->kbd_interactive_authentication = -1;
- options->challenge_response_authentication = -1;
-@@ -226,8 +229,14 @@
- options->kerberos_get_afs_token = 0;
- if (options->gss_authentication == -1)
- options->gss_authentication = 0;
-+ if (options->gss_keyex == -1)
-+ options->gss_keyex = 0;
- if (options->gss_cleanup_creds == -1)
- options->gss_cleanup_creds = 1;
-+ if (options->gss_strict_acceptor == -1)
-+ options->gss_strict_acceptor = 1;
-+ if (options->gss_store_rekey == -1)
-+ options->gss_store_rekey = 0;
- if (options->password_authentication == -1)
- options->password_authentication = 1;
- if (options->kbd_interactive_authentication == -1)
-@@ -322,7 +331,9 @@
- sBanner, sUseDNS, sHostbasedAuthentication,
- sHostbasedUsesNameFromPacketOnly, sClientAliveInterval,
- sClientAliveCountMax, sAuthorizedKeysFile,
-- sGssAuthentication, sGssCleanupCreds, sAcceptEnv, sPermitTunnel,
-+ sGssAuthentication, sGssCleanupCreds, sGssStrictAcceptor,
-+ sGssKeyEx, sGssStoreRekey,
-+ sAcceptEnv, sPermitTunnel,
- sMatch, sPermitOpen, sForceCommand, sChrootDirectory,
- sUsePrivilegeSeparation, sAllowAgentForwarding,
- sZeroKnowledgePasswordAuthentication, sHostCertificate,
-@@ -386,10 +397,20 @@
- #ifdef GSSAPI
- { "gssapiauthentication", sGssAuthentication, SSHCFG_ALL },
- { "gssapicleanupcredentials", sGssCleanupCreds, SSHCFG_GLOBAL },
-+ { "gssapicleanupcreds", sGssCleanupCreds, SSHCFG_GLOBAL },
-+ { "gssapistrictacceptorcheck", sGssStrictAcceptor, SSHCFG_GLOBAL },
-+ { "gssapikeyexchange", sGssKeyEx, SSHCFG_GLOBAL },
-+ { "gssapistorecredentialsonrekey", sGssStoreRekey, SSHCFG_GLOBAL },
- #else
- { "gssapiauthentication", sUnsupported, SSHCFG_ALL },
- { "gssapicleanupcredentials", sUnsupported, SSHCFG_GLOBAL },
-+ { "gssapicleanupcreds", sUnsupported, SSHCFG_GLOBAL },
-+ { "gssapistrictacceptorcheck", sUnsupported, SSHCFG_GLOBAL },
-+ { "gssapikeyexchange", sUnsupported, SSHCFG_GLOBAL },
-+ { "gssapistorecredentialsonrekey", sUnsupported, SSHCFG_GLOBAL },
- #endif
-+ { "gssusesessionccache", sUnsupported, SSHCFG_GLOBAL },
-+ { "gssapiusesessioncredcache", sUnsupported, SSHCFG_GLOBAL },
- { "passwordauthentication", sPasswordAuthentication, SSHCFG_ALL },
- { "kbdinteractiveauthentication", sKbdInteractiveAuthentication, SSHCFG_ALL },
- { "challengeresponseauthentication", sChallengeResponseAuthentication, SSHCFG_GLOBAL },
-@@ -944,10 +965,22 @@
- intptr = &options->gss_authentication;
- goto parse_flag;
-
-+ case sGssKeyEx:
-+ intptr = &options->gss_keyex;
-+ goto parse_flag;
-+
- case sGssCleanupCreds:
- intptr = &options->gss_cleanup_creds;
- goto parse_flag;
-
-+ case sGssStrictAcceptor:
-+ intptr = &options->gss_strict_acceptor;
-+ goto parse_flag;
-+
-+ case sGssStoreRekey:
-+ intptr = &options->gss_store_rekey;
-+ goto parse_flag;
-+
- case sPasswordAuthentication:
- intptr = &options->password_authentication;
- goto parse_flag;
-@@ -1704,7 +1737,10 @@
- #endif
- #ifdef GSSAPI
- dump_cfg_fmtint(sGssAuthentication, o->gss_authentication);
-+ dump_cfg_fmtint(sGssKeyEx, o->gss_keyex);
- dump_cfg_fmtint(sGssCleanupCreds, o->gss_cleanup_creds);
-+ dump_cfg_fmtint(sGssStrictAcceptor, o->gss_strict_acceptor);
-+ dump_cfg_fmtint(sGssStoreRekey, o->gss_store_rekey);
- #endif
- #ifdef JPAKE
- dump_cfg_fmtint(sZeroKnowledgePasswordAuthentication,
-diff --speed-large-files --minimal -Nru openssh-5.8p1/servconf.h openssh-5.8p1.new/servconf.h
---- openssh-5.8p1/servconf.h 2010-11-20 05:19:38.000000000 +0100
-+++ openssh-5.8p1.new/servconf.h 2011-02-12 18:07:11.548572408 +0100
-@@ -97,7 +97,10 @@
- int kerberos_get_afs_token; /* If true, try to get AFS token if
- * authenticated with Kerberos. */
- int gss_authentication; /* If true, permit GSSAPI authentication */
-+ int gss_keyex; /* If true, permit GSSAPI key exchange */
- int gss_cleanup_creds; /* If true, destroy cred cache on logout */
-+ int gss_strict_acceptor; /* If true, restrict the GSSAPI acceptor name */
-+ int gss_store_rekey;
- int password_authentication; /* If true, permit password
- * authentication. */
- int kbd_interactive_authentication; /* If true, permit */
-diff --speed-large-files --minimal -Nru openssh-5.8p1/ssh-gss.h openssh-5.8p1.new/ssh-gss.h
---- openssh-5.8p1/ssh-gss.h 2007-06-12 15:40:39.000000000 +0200
-+++ openssh-5.8p1.new/ssh-gss.h 2011-02-12 18:07:11.567306608 +0100
-@@ -1,6 +1,6 @@
- /* $OpenBSD: ssh-gss.h,v 1.10 2007/06/12 08:20:00 djm Exp $ */
- /*
-- * Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved.
-+ * Copyright (c) 2001-2009 Simon Wilkinson. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
-@@ -60,10 +60,22 @@
-
- #define SSH_GSS_OIDTYPE 0x06
-
-+#define SSH2_MSG_KEXGSS_INIT 30
-+#define SSH2_MSG_KEXGSS_CONTINUE 31
-+#define SSH2_MSG_KEXGSS_COMPLETE 32
-+#define SSH2_MSG_KEXGSS_HOSTKEY 33
-+#define SSH2_MSG_KEXGSS_ERROR 34
-+#define SSH2_MSG_KEXGSS_GROUPREQ 40
-+#define SSH2_MSG_KEXGSS_GROUP 41
-+#define KEX_GSS_GRP1_SHA1_ID "gss-group1-sha1-"
-+#define KEX_GSS_GRP14_SHA1_ID "gss-group14-sha1-"
-+#define KEX_GSS_GEX_SHA1_ID "gss-gex-sha1-"
-+
- typedef struct {
- char *filename;
- char *envvar;
- char *envval;
-+ struct passwd *owner;
- void *data;
- } ssh_gssapi_ccache;
-
-@@ -71,8 +83,11 @@
- gss_buffer_desc displayname;
- gss_buffer_desc exportedname;
- gss_cred_id_t creds;
-+ gss_name_t name;
- struct ssh_gssapi_mech_struct *mech;
- ssh_gssapi_ccache store;
-+ int used;
-+ int updated;
- } ssh_gssapi_client;
-
- typedef struct ssh_gssapi_mech_struct {
-@@ -83,6 +98,7 @@
- int (*userok) (ssh_gssapi_client *, char *);
- int (*localname) (ssh_gssapi_client *, char **);
- void (*storecreds) (ssh_gssapi_client *);
-+ int (*updatecreds) (ssh_gssapi_ccache *, ssh_gssapi_client *);
- } ssh_gssapi_mech;
-
- typedef struct {
-@@ -93,10 +109,11 @@
- gss_OID oid; /* client */
- gss_cred_id_t creds; /* server */
- gss_name_t client; /* server */
-- gss_cred_id_t client_creds; /* server */
-+ gss_cred_id_t client_creds; /* both */
- } Gssctxt;
-
- extern ssh_gssapi_mech *supported_mechs[];
-+extern Gssctxt *gss_kex_context;
-
- int ssh_gssapi_check_oid(Gssctxt *, void *, size_t);
- void ssh_gssapi_set_oid_data(Gssctxt *, void *, size_t);
-@@ -116,16 +133,30 @@
- void ssh_gssapi_delete_ctx(Gssctxt **);
- OM_uint32 ssh_gssapi_sign(Gssctxt *, gss_buffer_t, gss_buffer_t);
- void ssh_gssapi_buildmic(Buffer *, const char *, const char *, const char *);
--int ssh_gssapi_check_mechanism(Gssctxt **, gss_OID, const char *);
-+int ssh_gssapi_check_mechanism(Gssctxt **, gss_OID, const char *, const char *);
-+OM_uint32 ssh_gssapi_client_identity(Gssctxt *, const char *);
-+int ssh_gssapi_credentials_updated(Gssctxt *);
-
- /* In the server */
-+typedef int ssh_gssapi_check_fn(Gssctxt **, gss_OID, const char *,
-+ const char *);
-+char *ssh_gssapi_client_mechanisms(const char *, const char *);
-+char *ssh_gssapi_kex_mechs(gss_OID_set, ssh_gssapi_check_fn *, const char *,
-+ const char *);
-+gss_OID ssh_gssapi_id_kex(Gssctxt *, char *, int);
-+int ssh_gssapi_server_check_mech(Gssctxt **,gss_OID, const char *,
-+ const char *);
- OM_uint32 ssh_gssapi_server_ctx(Gssctxt **, gss_OID);
--int ssh_gssapi_userok(char *name);
-+int ssh_gssapi_userok(char *name, struct passwd *);
- OM_uint32 ssh_gssapi_checkmic(Gssctxt *, gss_buffer_t, gss_buffer_t);
- void ssh_gssapi_do_child(char ***, u_int *);
- void ssh_gssapi_cleanup_creds(void);
- void ssh_gssapi_storecreds(void);
-
-+char *ssh_gssapi_server_mechanisms(void);
-+int ssh_gssapi_oid_table_ok();
-+
-+int ssh_gssapi_update_creds(ssh_gssapi_ccache *store);
- #endif /* GSSAPI */
-
- #endif /* _SSH_GSS_H */
-diff --speed-large-files --minimal -Nru openssh-5.8p1/ssh_config openssh-5.8p1.new/ssh_config
---- openssh-5.8p1/ssh_config 2010-01-12 09:40:27.000000000 +0100
-+++ openssh-5.8p1.new/ssh_config 2011-02-12 18:07:11.580240516 +0100
-@@ -26,6 +26,8 @@
- # HostbasedAuthentication no
- # GSSAPIAuthentication no
- # GSSAPIDelegateCredentials no
-+# GSSAPIKeyExchange no
-+# GSSAPITrustDNS no
- # BatchMode no
- # CheckHostIP yes
- # AddressFamily any
-diff --speed-large-files --minimal -Nru openssh-5.8p1/ssh_config.5 openssh-5.8p1.new/ssh_config.5
---- openssh-5.8p1/ssh_config.5 2010-12-26 04:26:48.000000000 +0100
-+++ openssh-5.8p1.new/ssh_config.5 2011-02-12 18:07:11.600266821 +0100
-@@ -508,11 +508,43 @@
- The default is
- .Dq no .
- Note that this option applies to protocol version 2 only.
-+.It Cm GSSAPIKeyExchange
-+Specifies whether key exchange based on GSSAPI may be used. When using
-+GSSAPI key exchange the server need not have a host key.
-+The default is
-+.Dq no .
-+Note that this option applies to protocol version 2 only.
-+.It Cm GSSAPIClientIdentity
-+If set, specifies the GSSAPI client identity that ssh should use when
-+connecting to the server. The default is unset, which means that the default
-+identity will be used.
-+.It Cm GSSAPIServerIdentity
-+If set, specifies the GSSAPI server identity that ssh should expect when
-+connecting to the server. The default is unset, which means that the
-+expected GSSAPI server identity will be determined from the target
-+hostname.
- .It Cm GSSAPIDelegateCredentials
- Forward (delegate) credentials to the server.
- The default is
- .Dq no .
--Note that this option applies to protocol version 2 only.
-+Note that this option applies to protocol version 2 connections using GSSAPI.
-+.It Cm GSSAPIRenewalForcesRekey
-+If set to
-+.Dq yes
-+then renewal of the client's GSSAPI credentials will force the rekeying of the
-+ssh connection. With a compatible server, this can delegate the renewed
-+credentials to a session on the server.
-+The default is
-+.Dq no .
-+.It Cm GSSAPITrustDns
-+Set to
-+.Dq yes to indicate that the DNS is trusted to securely canonicalize
-+the name of the host being connected to. If
-+.Dq no, the hostname entered on the
-+command line will be passed untouched to the GSSAPI library.
-+The default is
-+.Dq no .
-+This option only applies to protocol version 2 connections using GSSAPI.
- .It Cm HashKnownHosts
- Indicates that
- .Xr ssh 1
-diff --speed-large-files --minimal -Nru openssh-5.8p1/sshconnect2.c openssh-5.8p1.new/sshconnect2.c
---- openssh-5.8p1/sshconnect2.c 2010-12-01 02:21:51.000000000 +0100
-+++ openssh-5.8p1.new/sshconnect2.c 2011-02-12 18:07:11.623078773 +0100
-@@ -159,9 +159,34 @@
- {
- Kex *kex;
-
-+#ifdef GSSAPI
-+ char *orig = NULL, *gss = NULL;
-+ char *gss_host = NULL;
-+#endif
-+
- xxx_host = host;
- xxx_hostaddr = hostaddr;
-
-+#ifdef GSSAPI
-+ if (options.gss_keyex) {
-+ /* Add the GSSAPI mechanisms currently supported on this
-+ * client to the key exchange algorithm proposal */
-+ orig = myproposal[PROPOSAL_KEX_ALGS];
-+
-+ if (options.gss_trust_dns)
-+ gss_host = (char *)get_canonical_hostname(1);
-+ else
-+ gss_host = host;
-+
-+ gss = ssh_gssapi_client_mechanisms(gss_host, options.gss_client_identity);
-+ if (gss) {
-+ debug("Offering GSSAPI proposal: %s", gss);
-+ xasprintf(&myproposal[PROPOSAL_KEX_ALGS],
-+ "%s,%s", gss, orig);
-+ }
-+ }
-+#endif
-+
- if (options.ciphers == (char *)-1) {
- logit("No valid ciphers for protocol version 2 given, using defaults.");
- options.ciphers = NULL;
-@@ -196,6 +221,17 @@
- if (options.kex_algorithms != NULL)
- myproposal[PROPOSAL_KEX_ALGS] = options.kex_algorithms;
-
-+#ifdef GSSAPI
-+ /* If we've got GSSAPI algorithms, then we also support the
-+ * 'null' hostkey, as a last resort */
-+ if (options.gss_keyex && gss) {
-+ orig = myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS];
-+ xasprintf(&myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS],
-+ "%s,null", orig);
-+ free(gss);
-+ }
-+#endif
-+
- if (options.rekey_limit || options.rekey_interval)
- packet_set_rekey_limits((u_int32_t)options.rekey_limit,
-
-@@ -206,11 +242,31 @@
- kex->kex[KEX_DH_GEX_SHA1] = kexgex_client;
- kex->kex[KEX_DH_GEX_SHA256] = kexgex_client;
- kex->kex[KEX_ECDH_SHA2] = kexecdh_client;
- kex->kex[KEX_C25519_SHA256] = kexc25519_client;
-+#ifdef GSSAPI
-+ if (options.gss_keyex) {
-+ kex->kex[KEX_GSS_GRP1_SHA1] = kexgss_client;
-+ kex->kex[KEX_GSS_GRP14_SHA1] = kexgss_client;
-+ kex->kex[KEX_GSS_GEX_SHA1] = kexgss_client;
-+ }
-+#endif
- kex->client_version_string=client_version_string;
- kex->server_version_string=server_version_string;
- kex->verify_host_key=&verify_host_key_callback;
-
-+#ifdef GSSAPI
-+ if (options.gss_keyex) {
-+ kex->gss_deleg_creds = options.gss_deleg_creds;
-+ kex->gss_trust_dns = options.gss_trust_dns;
-+ kex->gss_client = options.gss_client_identity;
-+ if (options.gss_server_identity) {
-+ kex->gss_host = options.gss_server_identity;
-+ } else {
-+ kex->gss_host = gss_host;
-+ }
-+ }
-+#endif
-+
- xxx_kex = kex;
-
- dispatch_run(DISPATCH_BLOCK, &kex->done, kex);
-@@ -304,6 +360,7 @@
- void input_gssapi_hash(int type, u_int32_t, void *);
- void input_gssapi_error(int, u_int32_t, void *);
- void input_gssapi_errtok(int, u_int32_t, void *);
-+int userauth_gsskeyex(Authctxt *authctxt);
- #endif
-
- void userauth(Authctxt *, char *);
-@@ -319,6 +376,11 @@
-
- Authmethod authmethods[] = {
- #ifdef GSSAPI
-+ {"gssapi-keyex",
-+ userauth_gsskeyex,
-+ NULL,
-+ &options.gss_authentication,
-+ NULL},
- {"gssapi-with-mic",
- userauth_gssapi,
- NULL,
-@@ -625,19 +687,31 @@
- static u_int mech = 0;
- OM_uint32 min;
- int ok = 0;
-+ const char *gss_host;
-+
-+ if (options.gss_server_identity)
-+ gss_host = options.gss_server_identity;
-+ else if (options.gss_trust_dns)
-+ gss_host = get_canonical_hostname(1);
-+ else
-+ gss_host = authctxt->host;
-
- /* Try one GSSAPI method at a time, rather than sending them all at
- * once. */
-
- if (gss_supported == NULL)
-- gss_indicate_mechs(&min, &gss_supported);
-+ if (GSS_ERROR(gss_indicate_mechs(&min, &gss_supported))) {
-+ gss_supported = NULL;
-+ return 0;
-+ }
-
- /* Check to see if the mechanism is usable before we offer it */
- while (mech < gss_supported->count && !ok) {
- /* My DER encoding requires length<128 */
- if (gss_supported->elements[mech].length < 128 &&
- ssh_gssapi_check_mechanism(&gssctxt,
-- &gss_supported->elements[mech], authctxt->host)) {
-+ &gss_supported->elements[mech], gss_host,
-+ options.gss_client_identity)) {
- ok = 1; /* Mechanism works */
- } else {
- mech++;
-@@ -734,8 +808,8 @@
- {
- Authctxt *authctxt = ctxt;
- Gssctxt *gssctxt;
-- int oidlen;
-- char *oidv;
-+ u_int oidlen;
-+ u_char *oidv;
-
- if (authctxt == NULL)
- fatal("input_gssapi_response: no authentication context");
-@@ -845,6 +919,48 @@
- free(msg);
- free(lang);
- }
-+
-+int
-+userauth_gsskeyex(Authctxt *authctxt)
-+{
-+ Buffer b;
-+ gss_buffer_desc gssbuf;
-+ gss_buffer_desc mic = GSS_C_EMPTY_BUFFER;
-+ OM_uint32 ms;
-+
-+ static int attempt = 0;
-+ if (attempt++ >= 1)
-+ return (0);
-+
-+ if (gss_kex_context == NULL) {
-+ debug("No valid Key exchange context");
-+ return (0);
-+ }
-+
-+ ssh_gssapi_buildmic(&b, authctxt->server_user, authctxt->service,
-+ "gssapi-keyex");
-+
-+ gssbuf.value = buffer_ptr(&b);
-+ gssbuf.length = buffer_len(&b);
-+
-+ if (GSS_ERROR(ssh_gssapi_sign(gss_kex_context, &gssbuf, &mic))) {
-+ buffer_free(&b);
-+ return (0);
-+ }
-+
-+ packet_start(SSH2_MSG_USERAUTH_REQUEST);
-+ packet_put_cstring(authctxt->server_user);
-+ packet_put_cstring(authctxt->service);
-+ packet_put_cstring(authctxt->method->name);
-+ packet_put_string(mic.value, mic.length);
-+ packet_send();
-+
-+ buffer_free(&b);
-+ gss_release_buffer(&ms, &mic);
-+
-+ return (1);
-+}
-+
- #endif /* GSSAPI */
-
- int
-diff --speed-large-files --minimal -Nru openssh-5.8p1/sshd.c openssh-5.8p1.new/sshd.c
---- openssh-5.8p1/sshd.c 2011-01-11 07:20:31.000000000 +0100
-+++ openssh-5.8p1.new/sshd.c 2011-02-12 18:07:11.656005267 +0100
-@@ -120,6 +120,10 @@
- #include "roaming.h"
- #include "version.h"
-
-+#ifdef USE_SECURITY_SESSION_API
-+#include
-+#endif
-+
- #ifdef LIBWRAP
- #include
- #include
-@@ -1590,10 +1594,13 @@
- logit("Disabling protocol version 1. Could not load host key");
- options.protocol &= ~SSH_PROTO_1;
- }
-+#ifndef GSSAPI
-+ /* The GSSAPI key exchange can run without a host key */
- if ((options.protocol & SSH_PROTO_2) && !sensitive_data.have_ssh2_key) {
- logit("Disabling protocol version 2. Could not load host key");
- options.protocol &= ~SSH_PROTO_2;
- }
-+#endif
- if (!(options.protocol & (SSH_PROTO_1|SSH_PROTO_2))) {
- logit("sshd: no hostkeys available -- exiting.");
- exit(1);
-@@ -1922,6 +1929,60 @@
- /* Log the connection. */
- verbose("Connection from %.500s port %d", remote_ip, remote_port);
-
-+#ifdef USE_SECURITY_SESSION_API
-+ /*
-+ * Create a new security session for use by the new user login if
-+ * the current session is the root session or we are not launched
-+ * by inetd (eg: debugging mode or server mode). We do not
-+ * necessarily need to create a session if we are launched from
-+ * inetd because Panther xinetd will create a session for us.
-+ *
-+ * The only case where this logic will fail is if there is an
-+ * inetd running in a non-root session which is not creating
-+ * new sessions for us. Then all the users will end up in the
-+ * same session (bad).
-+ *
-+ * When the client exits, the session will be destroyed for us
-+ * automatically.
-+ *
-+ * We must create the session before any credentials are stored
-+ * (including AFS pags, which happens a few lines below).
-+ */
-+ {
-+ OSStatus err = 0;
-+ SecuritySessionId sid = 0;
-+ SessionAttributeBits sattrs = 0;
-+
-+ err = SessionGetInfo(callerSecuritySession, &sid, &sattrs);
-+ if (err)
-+ error("SessionGetInfo() failed with error %.8X",
-+ (unsigned) err);
-+ else
-+ debug("Current Session ID is %.8X / Session Attributes are %.8X",
-+ (unsigned) sid, (unsigned) sattrs);
-+
-+ if (inetd_flag && !(sattrs & sessionIsRoot))
-+ debug("Running in inetd mode in a non-root session... "
-+ "assuming inetd created the session for us.");
-+ else {
-+ debug("Creating new security session...");
-+ err = SessionCreate(0, sessionHasTTY | sessionIsRemote);
-+ if (err)
-+ error("SessionCreate() failed with error %.8X",
-+ (unsigned) err);
-+
-+ err = SessionGetInfo(callerSecuritySession, &sid,
-+ &sattrs);
-+ if (err)
-+ error("SessionGetInfo() failed with error %.8X",
-+ (unsigned) err);
-+ else
-+ debug("New Session ID is %.8X / Session Attributes are %.8X",
-+ (unsigned) sid, (unsigned) sattrs);
-+ }
-+ }
-+#endif
-+
- /*
- * We don't want to listen forever unless the other side
- * successfully authenticates itself. So we set up an alarm which is
-@@ -2303,6 +2364,48 @@
-
- myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = list_hostkey_types();
-
-+#ifdef GSSAPI
-+ {
-+ char *orig;
-+ char *gss = NULL;
-+ char *newstr = NULL;
-+ orig = myproposal[PROPOSAL_KEX_ALGS];
-+
-+ /*
-+ * If we don't have a host key, then there's no point advertising
-+ * the other key exchange algorithms
-+ */
-+
-+ if (strlen(myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS]) == 0)
-+ orig = NULL;
-+
-+ if (options.gss_keyex)
-+ gss = ssh_gssapi_server_mechanisms();
-+ else
-+ gss = NULL;
-+
-+ if (gss && orig)
-+ xasprintf(&newstr, "%s,%s", gss, orig);
-+ else if (gss)
-+ newstr = gss;
-+ else if (orig)
-+ newstr = orig;
-+
-+ /*
-+ * If we've got GSSAPI mechanisms, then we've got the 'null' host
-+ * key alg, but we can't tell people about it unless its the only
-+ * host key algorithm we support
-+ */
-+ if (gss && (strlen(myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS])) == 0)
-+ myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = "null";
-+
-+ if (newstr)
-+ myproposal[PROPOSAL_KEX_ALGS] = newstr;
-+ else
-+ fatal("No supported key exchange algorithms");
-+ }
-+#endif
-+
- /* start key exchange */
- kex = kex_setup(myproposal);
- kex->kex[KEX_DH_GRP1_SHA1] = kexdh_server;
-@@ -2310,6 +2413,13 @@
- kex->kex[KEX_DH_GEX_SHA1] = kexgex_server;
- kex->kex[KEX_DH_GEX_SHA256] = kexgex_server;
- kex->kex[KEX_ECDH_SHA2] = kexecdh_server;
- kex->kex[KEX_C25519_SHA256] = kexc25519_server;
-+#ifdef GSSAPI
-+ if (options.gss_keyex) {
-+ kex->kex[KEX_GSS_GRP1_SHA1] = kexgss_server;
-+ kex->kex[KEX_GSS_GRP14_SHA1] = kexgss_server;
-+ kex->kex[KEX_GSS_GEX_SHA1] = kexgss_server;
-+ }
-+#endif
- kex->server = 1;
- kex->client_version_string=client_version_string;
- kex->server_version_string=server_version_string;
-diff --speed-large-files --minimal -Nru openssh-5.8p1/sshd_config openssh-5.8p1.new/sshd_config
---- openssh-5.8p1/sshd_config 2010-09-10 03:20:12.000000000 +0200
-+++ openssh-5.8p1.new/sshd_config 2011-02-12 18:07:11.668077725 +0100
-@@ -72,6 +72,8 @@
- # GSSAPI options
- #GSSAPIAuthentication no
- #GSSAPICleanupCredentials yes
-+#GSSAPIStrictAcceptorCheck yes
-+#GSSAPIKeyExchange no
-
- # Set this to 'yes' to enable PAM authentication, account processing,
- # and session processing. If this is enabled, PAM authentication will
-diff --speed-large-files --minimal -Nru openssh-5.8p1/sshd_config.5 openssh-5.8p1.new/sshd_config.5
---- openssh-5.8p1/sshd_config.5 2010-12-26 04:26:48.000000000 +0100
-+++ openssh-5.8p1.new/sshd_config.5 2011-02-12 18:07:11.685676774 +0100
-@@ -423,12 +423,40 @@
- The default is
- .Dq no .
- Note that this option applies to protocol version 2 only.
-+.It Cm GSSAPIKeyExchange
-+Specifies whether key exchange based on GSSAPI is allowed. GSSAPI key exchange
-+doesn't rely on ssh keys to verify host identity.
-+The default is
-+.Dq no .
-+Note that this option applies to protocol version 2 only.
- .It Cm GSSAPICleanupCredentials
- Specifies whether to automatically destroy the user's credentials cache
- on logout.
- The default is
- .Dq yes .
- Note that this option applies to protocol version 2 only.
-+.It Cm GSSAPIStrictAcceptorCheck
-+Determines whether to be strict about the identity of the GSSAPI acceptor
-+a client authenticates against. If
-+.Dq yes
-+then the client must authenticate against the
-+.Pa host
-+service on the current hostname. If
-+.Dq no
-+then the client may authenticate against any service key stored in the
-+machine's default store. This facility is provided to assist with operation
-+on multi homed machines.
-+The default is
-+.Dq yes .
-+Note that this option applies only to protocol version 2 GSSAPI connections,
-+and setting it to
-+.Dq no
-+may only work with recent Kerberos GSSAPI libraries.
-+.It Cm GSSAPIStoreCredentialsOnRekey
-+Controls whether the user's GSSAPI credentials should be updated following a
-+successful connection rekeying. This option can be used to accepted renewed
-+or updated credentials from a compatible client. The default is
-+.Dq no .
- .It Cm HostbasedAuthentication
- Specifies whether rhosts or /etc/hosts.equiv authentication together
- with successful public key client host authentication is allowed
Copied: csw/mgar/pkg/openssh/trunk/files/openssh-6.6p1-gsskex-all-20140320.patch (from rev 23224, csw/mgar/pkg/openssh/trunk/files/openssh-6.5p1-gsskex-all-20140201.patch)
===================================================================
--- csw/mgar/pkg/openssh/trunk/files/openssh-6.6p1-gsskex-all-20140320.patch (rev 0)
+++ csw/mgar/pkg/openssh/trunk/files/openssh-6.6p1-gsskex-all-20140320.patch 2014-03-20 20:09:56 UTC (rev 23260)
@@ -0,0 +1,2938 @@
+diff --speed-large-files --minimal -Nru openssh-5.8p1/ChangeLog.gssapi openssh-5.8p1.new/ChangeLog.gssapi
+--- openssh-5.8p1/ChangeLog.gssapi 1970-01-01 01:00:00.000000000 +0100
++++ openssh-5.8p1.new/ChangeLog.gssapi 2011-02-12 18:07:10.948345760 +0100
+@@ -0,0 +1,113 @@
++20110101
++ - Finally update for OpenSSH 5.6p1
++ - Add GSSAPIServerIdentity option from Jim Basney
++
++20100308
++ - [ Makefile.in, key.c, key.h ]
++ Updates for OpenSSH 5.4p1
++ - [ servconf.c ]
++ Include GSSAPI options in the sshd -T configuration dump, and flag
++ some older configuration options as being unsupported. Thanks to Colin
++ Watson.
++ -
++
++20100124
++ - [ sshconnect2.c ]
++ Adapt to deal with additional element in Authmethod structure. Thanks to
++ Colin Watson
++
++20090615
++ - [ gss-genr.c gss-serv.c kexgssc.c kexgsss.c monitor.c sshconnect2.c
++ sshd.c ]
++ Fix issues identified by Greg Hudson following a code review
++ Check return value of gss_indicate_mechs
++ Protect GSSAPI calls in monitor, so they can only be used if enabled
++ Check return values of bignum functions in key exchange
++ Use BN_clear_free to clear other side's DH value
++ Make ssh_gssapi_id_kex more robust
++ Only configure kex table pointers if GSSAPI is enabled
++ Don't leak mechanism list, or gss mechanism list
++ Cast data.length before printing
++ If serverkey isn't provided, use an empty string, rather than NULL
++
++20090201
++ - [ gss-genr.c gss-serv.c kex.h kexgssc.c readconf.c readconf.h ssh-gss.h
++ ssh_config.5 sshconnet2.c ]
++ Add support for the GSSAPIClientIdentity option, which allows the user
++ to specify which GSSAPI identity to use to contact a given server
++
++20080404
++ - [ gss-serv.c ]
++ Add code to actually implement GSSAPIStrictAcceptCheck, which had somehow
++ been omitted from a previous version of this patch. Reported by Borislav
++ Stoichkov
++
++20070317
++ - [ gss-serv-krb5.c ]
++ Remove C99ism, where new_ccname was being declared in the middle of a
++ function
++
++20061220
++ - [ servconf.c ]
++ Make default for GSSAPIStrictAcceptorCheck be Yes, to match previous, and
++ documented, behaviour. Reported by Dan Watson.
++
++20060910
++ - [ gss-genr.c kexgssc.c kexgsss.c kex.h monitor.c sshconnect2.c sshd.c
++ ssh-gss.h ]
++ add support for gss-group14-sha1 key exchange mechanisms
++ - [ gss-serv.c servconf.c servconf.h sshd_config sshd_config.5 ]
++ Add GSSAPIStrictAcceptorCheck option to allow the disabling of
++ acceptor principal checking on multi-homed machines.
++
++ - [ sshd_config ssh_config ]
++ Add settings for GSSAPIKeyExchange and GSSAPITrustDNS to the sample
++ configuration files
++ - [ kexgss.c kegsss.c sshconnect2.c sshd.c ]
++ Code cleanup. Replace strlen/xmalloc/snprintf sequences with xasprintf()
++ Limit length of error messages displayed by client
++
++20060909
++ - [ gss-genr.c gss-serv.c ]
++ move ssh_gssapi_acquire_cred() and ssh_gssapi_server_ctx to be server
++ only, where they belong
++
++
++20060829
++ - [ gss-serv-krb5.c ]
++ Fix CCAPI credentials cache name when creating KRB5CCNAME environment
++ variable
++
++20060828
++ - [ gss-genr.c ]
++ Avoid Heimdal context freeing problem
++
++
++20060818
++ - [ gss-genr.c ssh-gss.h sshconnect2.c ]
++ Make sure that SPENGO is disabled
++
++
++20060421
++ - [ gssgenr.c, sshconnect2.c ]
++ a few type changes (signed versus unsigned, int versus size_t) to
++ fix compiler errors/warnings
++ (from jbasney AT ncsa.uiuc.edu)
++ - [ kexgssc.c, sshconnect2.c ]
++ fix uninitialized variable warnings
++ (from jbasney AT ncsa.uiuc.edu)
++ - [ gssgenr.c ]
++ pass oid to gss_display_status (helpful when using GSSAPI mechglue)
++ (from jbasney AT ncsa.uiuc.edu)
++
++ - [ gss-serv-krb5.c ]
++ #ifdef HAVE_GSSAPI_KRB5 should be #ifdef HAVE_GSSAPI_KRB5_H
++ (from jbasney AT ncsa.uiuc.edu)
++
++ - [ readconf.c, readconf.h, ssh_config.5, sshconnect2.c
++ add client-side GssapiKeyExchange option
++ (from jbasney AT ncsa.uiuc.edu)
++ - [ sshconnect2.c ]
++ add support for GssapiTrustDns option for gssapi-with-mic
++ (from jbasney AT ncsa.uiuc.edu)
++
+diff --speed-large-files --minimal -Nru openssh-5.8p1/Makefile.in openssh-5.8p1.new/Makefile.in
+--- openssh-5.8p1/Makefile.in 2011-02-04 01:42:13.000000000 +0100
++++ openssh-5.8p1.new/Makefile.in 2011-02-12 18:07:10.990611445 +0100
+@@ -75,6 +75,7 @@
+ atomicio.o key.o dispatch.o kex.o mac.o uidswap.o uuencode.o misc.o \
+ monitor_fdpass.o rijndael.o ssh-dss.o ssh-ecdsa.o ssh-rsa.o dh.o \
+ kexdh.o kexgex.o kexdhc.o kexgexc.o bufec.o kexecdh.o kexecdhc.o \
++ kexgssc.o \
+ msg.o progressmeter.o dns.o entropy.o gss-genr.o umac.o umac128.o \
+ jpake.o schnorr.o ssh-pkcs11.o kr1.o
+
+@@ -91,7 +92,7 @@
+ auth2-none.o auth2-passwd.o auth2-pubkey.o auth2-jpake.o \
+ monitor_mm.o monitor.o monitor_wrap.o kexdhs.o kexgexs.o kexecdhs.o \
+ kexc25519s.o auth-krb5.o \
+- auth2-gss.o gss-serv.o gss-serv-krb5.o \
++ auth2-gss.o gss-serv.o gss-serv-krb5.o kexgsss.o\
+ loginrec.o auth-pam.o auth-shadow.o auth-sia.o md5crypt.o \
+ sftp-server.o sftp-common.o \
+ roaming_common.o roaming_serv.o
+diff --speed-large-files --minimal -Nru openssh-5.8p1/auth-krb5.c openssh-5.8p1.new/auth-krb5.c
+--- openssh-5.8p1/auth-krb5.c 2009-12-21 00:49:22.000000000 +0100
++++ openssh-5.8p1.new/auth-krb5.c 2011-02-12 18:07:11.002529804 +0100
+@@ -170,8 +170,13 @@
+
+ len = strlen(authctxt->krb5_ticket_file) + 6;
+ authctxt->krb5_ccname = xmalloc(len);
++#ifdef USE_CCAPI
++ snprintf(authctxt->krb5_ccname, len, "API:%s",
++ authctxt->krb5_ticket_file);
++#else
+ snprintf(authctxt->krb5_ccname, len, "FILE:%s",
+ authctxt->krb5_ticket_file);
++#endif
+
+ #ifdef USE_PAM
+ if (options.use_pam)
+@@ -226,15 +231,22 @@
+ #ifndef HEIMDAL
+ krb5_error_code
+ ssh_krb5_cc_gen(krb5_context ctx, krb5_ccache *ccache) {
+- int tmpfd, ret, oerrno;
++ int ret;
+ char ccname[40];
+ mode_t old_umask;
++#ifdef USE_CCAPI
++ char cctemplate[] = "API:krb5cc_%d";
++#else
++ char cctemplate[] = "FILE:/tmp/krb5cc_%d_XXXXXXXXXX";
++ int tmpfd, oerrno;
++#endif
+
+ ret = snprintf(ccname, sizeof(ccname),
@@ Diff output truncated at 100000 characters. @@
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Fri Mar 21 00:48:23 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Thu, 20 Mar 2014 23:48:23 +0000
Subject: SF.net SVN: gar:[23261] csw/mgar/pkg/libev/trunk/Makefile
Message-ID: <3fqlDz5129z9k@mail.opencsw.org>
Revision: 23261
http://sourceforge.net/p/gar/code/23261
Author: wahwah
Date: 2014-03-20 23:48:22 +0000 (Thu, 20 Mar 2014)
Log Message:
-----------
libev/trunk: Package split (really just so that I can do some csw-upload-pkg testing)
Modified Paths:
--------------
csw/mgar/pkg/libev/trunk/Makefile
Modified: csw/mgar/pkg/libev/trunk/Makefile
===================================================================
--- csw/mgar/pkg/libev/trunk/Makefile 2014-03-20 20:09:56 UTC (rev 23260)
+++ csw/mgar/pkg/libev/trunk/Makefile 2014-03-20 23:48:22 UTC (rev 23261)
@@ -12,15 +12,29 @@
used, among others, in the GNU Virtual Private Ethernet and rxvt-unicode
packages, and in the Deliantra MORPG Server and Client.
endef
-SPKG_SOURCEURL = http://software.schmorp.de/pkg/libev.html
+VENDOR_URL = http://software.schmorp.de/pkg/libev.html
MASTER_SITES += http://dist.schmorp.de/libev/
MASTER_SITES += http://dist.schmorp.de/libev/Attic/
DISTFILES = $(NAME)-$(VERSION).tar.gz
-UFILES_REGEX = $(NAME)-(\d+(?:\.\d+)*).tar.gz
CONFIGURE_ARGS = $(DIRPATHS)
BUILD64_LIBS_ONLY = 1
LICENSE = LICENSE
CHECKPKG_OVERRIDES_CSWlibev += soname-not-found|libm.so.2|is|needed|by|opt/csw/lib/amd64/libev.so.3.0.0
+
+PACKAGES = CSWlibev3
+CATALOGNAME_CSWlibev3 = libev3
+PKGFILES_CSWlibev3 += $(call baseisadirs,$(libdir),libev\.so\.3\.0\.0)
+PKGFILES_CSWlibev3 += $(call baseisadirs,$(libdir),libev\.so\.3(\.\d+)*)
+SPKG_DESC_CSWlibev3 += $(DESCRIPTION), libev.so.3
+OBSOLETED_BY_CSWlibev3 = CSWlibev
+
+PACKAGES += CSWlibev-dev
+CATALOGNAME_CSWlibev-dev = libev_dev
+SPKG_DESC_CSWlibev-dev += $(DESCRIPTION), development files
+PKGFILES_CSWlibev-dev += /opt/csw/lib/sparcv9/libev.so
+RUNTIME_DEP_PKGS_CSWlibev-dev += CSWlibev3
+OBSOLETED_BY_CSWlibev-dev = CSWlibev
+
include gar/category.mk
post-install-modulated:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Fri Mar 21 01:23:45 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Fri, 21 Mar 2014 00:23:45 +0000
Subject: SF.net SVN: gar:[23262] csw/mgar/pkg/lang-python/requests/trunk
Message-ID: <3fqm1k6s2SzHJ@mail.opencsw.org>
Revision: 23262
http://sourceforge.net/p/gar/code/23262
Author: wahwah
Date: 2014-03-21 00:23:42 +0000 (Fri, 21 Mar 2014)
Log Message:
-----------
lang-python/requests/trunk: version bump
Modified Paths:
--------------
csw/mgar/pkg/lang-python/requests/trunk/Makefile
csw/mgar/pkg/lang-python/requests/trunk/checksums
Modified: csw/mgar/pkg/lang-python/requests/trunk/Makefile
===================================================================
--- csw/mgar/pkg/lang-python/requests/trunk/Makefile 2014-03-20 23:48:22 UTC (rev 23261)
+++ csw/mgar/pkg/lang-python/requests/trunk/Makefile 2014-03-21 00:23:42 UTC (rev 23262)
@@ -2,7 +2,7 @@
# TODO (release-critical prefixed with !, non release-critical with *)
#
NAME = requests
-VERSION = 2.0.0
+VERSION = 2.2.1
GARTYPE = v2
CATEGORIES = python
@@ -12,7 +12,7 @@
REINPLACE_USRLOCAL = requests/utils.py
-VENDOR_URL = https://pypi.python.org/pypi/requests
+VENDOR_URL = http://docs.python-requests.org/
DEP_PKGS += CSWpy-chardet
CHECKPKG_OVERRIDES_CSWpy-requests += surplus-dependency|CSWpy-chardet
Modified: csw/mgar/pkg/lang-python/requests/trunk/checksums
===================================================================
--- csw/mgar/pkg/lang-python/requests/trunk/checksums 2014-03-20 23:48:22 UTC (rev 23261)
+++ csw/mgar/pkg/lang-python/requests/trunk/checksums 2014-03-21 00:23:42 UTC (rev 23262)
@@ -1 +1 @@
-856fc825c17483e25fd55db115028e3f requests-2.0.0.tar.gz
+ac27081135f58d1a43e4fb38258d6f4e requests-2.2.1.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 Fri Mar 21 01:38:33 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Fri, 21 Mar 2014 00:38:33 +0000
Subject: SF.net SVN: gar:[23263] csw/mgar/pkg/sharutils/trunk/Makefile
Message-ID: <3fqmLq2DKSzMC@mail.opencsw.org>
Revision: 23263
http://sourceforge.net/p/gar/code/23263
Author: wahwah
Date: 2014-03-21 00:38:32 +0000 (Fri, 21 Mar 2014)
Log Message:
-----------
sharutils/trunk: Dummy changes. No version update
Modified Paths:
--------------
csw/mgar/pkg/sharutils/trunk/Makefile
Modified: csw/mgar/pkg/sharutils/trunk/Makefile
===================================================================
--- csw/mgar/pkg/sharutils/trunk/Makefile 2014-03-21 00:23:42 UTC (rev 23262)
+++ csw/mgar/pkg/sharutils/trunk/Makefile 2014-03-21 00:38:32 UTC (rev 23263)
@@ -3,16 +3,15 @@
# $Id$
# There is a problem with the test suite, which is affected by the presence of
-# .git directories in $(WORKSRC). A temporary workaround might be to use gar
-# at r10011.
+# .git directories in $(WORKSRC).
+NOGITPATCH = 1
NAME = sharutils
VERSION = 4.11.1
GARTYPE = v2
-DESCRIPTION = Makes so-called shell archives out of many files
-define BLURB
-endef
-SPKG_SOURCEURL = http://www.gnu.org/software/sharutils/
+DESCRIPTION = Creates self-extracting shell archives
+
+VENDOR_URL = http://www.gnu.org/software/sharutils/
MASTER_SITES = ftp://ftp.gnu.org/gnu/sharutils/
DISTFILES = $(NAME)-$(VERSION).tar.gz
# Apparently, 64 bit builds are frown upon:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Fri Mar 21 02:33:30 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Fri, 21 Mar 2014 01:33:30 +0000
Subject: SF.net SVN: gar:[23264] csw/mgar/gar/v2/src
Message-ID: <3fqnZC1LVKzWX@mail.opencsw.org>
Revision: 23264
http://sourceforge.net/p/gar/code/23264
Author: wahwah
Date: 2014-03-21 01:33:28 +0000 (Fri, 21 Mar 2014)
Log Message:
-----------
cat-gen: Error handling for JSON decode errors
If we can't decode JSON, it's better to die rather than return an empty
catalog with no error.
Modified Paths:
--------------
csw/mgar/gar/v2/src/Makefile
csw/mgar/gar/v2/src/catalog-release-to-disk.go
Modified: csw/mgar/gar/v2/src/Makefile
===================================================================
--- csw/mgar/gar/v2/src/Makefile 2014-03-21 00:38:32 UTC (rev 23263)
+++ csw/mgar/gar/v2/src/Makefile 2014-03-21 01:33:28 UTC (rev 23264)
@@ -1,5 +1,10 @@
-all: make-catalog-links
+# To build and push to the web host:
+#
+# 1. gmake
+# 2. scp to the web host to replace the old binary
+all: catalog-release-to-disk
+
catalog-release-to-disk: catalog-release-to-disk.o
gccgo -o $@ $<
Modified: csw/mgar/gar/v2/src/catalog-release-to-disk.go
===================================================================
--- csw/mgar/gar/v2/src/catalog-release-to-disk.go 2014-03-21 00:38:32 UTC (rev 23263)
+++ csw/mgar/gar/v2/src/catalog-release-to-disk.go 2014-03-21 01:33:28 UTC (rev 23264)
@@ -226,7 +226,10 @@
catspecs := make(CatalogSpecs, 0)
dec := json.NewDecoder(resp.Body)
- dec.Decode(&catspecs)
+ if err := dec.Decode(&catspecs); err != nil {
+ log.Println("Failed to decode JSON from", url)
+ return nil, err
+ }
if len(catspecs) <= 0 {
return nil, fmt.Errorf("Retrieved 0 catalogs")
@@ -249,7 +252,10 @@
var pkgs Catalog
dec := json.NewDecoder(resp.Body)
- dec.Decode(&pkgs)
+ if err := dec.Decode(&pkgs); err != nil {
+ log.Println("Failed to decode JSON output from", url, ":", err)
+ return CatalogWithSpec{}, err
+ }
log.Println("Retrieved", catspec, "with", len(pkgs), "packages")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From lblume at users.sourceforge.net Fri Mar 21 20:25:21 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Fri, 21 Mar 2014 19:25:21 +0000
Subject: SF.net SVN: gar:[23265] csw/mgar/pkg/samba/branches/samba3/Makefile
Message-ID: <3frFM66xPzzMm@mail.opencsw.org>
Revision: 23265
http://sourceforge.net/p/gar/code/23265
Author: lblume
Date: 2014-03-21 19:25:19 +0000 (Fri, 21 Mar 2014)
Log Message:
-----------
samba/branches/samba3: Adjust dependencies for S10 and make optional the ld bug workaround
Modified Paths:
--------------
csw/mgar/pkg/samba/branches/samba3/Makefile
Modified: csw/mgar/pkg/samba/branches/samba3/Makefile
===================================================================
--- csw/mgar/pkg/samba/branches/samba3/Makefile 2014-03-21 01:33:28 UTC (rev 23264)
+++ csw/mgar/pkg/samba/branches/samba3/Makefile 2014-03-21 19:25:19 UTC (rev 23265)
@@ -174,6 +174,7 @@
RUNTIME_DEP_PKGS_CSWsamba-nss-system-links += CSWsamba-nss
CHECKPKG_OVERRIDES_CSWsamba-nss-system-links += surplus-dependency|CSWsamba-nss
CHECKPKG_OVERRIDES_CSWsamba-nss-system-links += bad-location-of-file
+CHECKPKG_OVERRIDES_CSWsamba-nss-system-links += file-needed-but-no-package-satisfies-it
PACKAGES += CSWsamba-pam-system-links
CATALOGNAME_CSWsamba-pam-system-links = samba_pam_system_links
@@ -189,6 +190,7 @@
CHECKPKG_OVERRIDES_CSWsamba-pam-system-links += surplus-dependency|CSWsamba
CHECKPKG_OVERRIDES_CSWsamba-pam-system-links += surplus-dependency|CSWsamba-winbind
CHECKPKG_OVERRIDES_CSWsamba-pam-system-links += bad-location-of-file
+CHECKPKG_OVERRIDES_CSWsamba-pam-system-links += file-needed-but-no-package-satisfies-it
PACKAGES += CSWlibtevent0
CATALOGNAME_CSWlibtevent0 = libtevent0
@@ -306,7 +308,19 @@
CHECKPKG_OVERRIDES_CSWsamba-winbind += surplus-dependency|CSWsamba-nss
+### The dependencies names in S10 are getting simpler
+ifeq ($(shell /usr/bin/uname -r),5.9)
+RUNTIME_DEP_PKGS_CSWsamba += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSWsamba-client += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSWlibsmbclient0 += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSWlibnetapi0 += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSWsamba-swat += CSWlibgssapi-krb5-2
+RUNTIME_DEP_PKGS_CSWsamba-winbind += CSWlibgssapi-krb5-2
+endif
+###
+
### Needed to work around the ld Bug
+ifeq ($(shell /usr/bin/uname -rp),5.10 sparc)
RUNTIME_DEP_PKGS_CSWsamba-swat += CSWlibintl8
RUNTIME_DEP_PKGS_CSWlibtdb1 += CSWlibintl8
RUNTIME_DEP_PKGS_CSWlibwbclient0 += CSWlibintl8
@@ -317,6 +331,7 @@
RUNTIME_DEP_PKGS_CSWsamba-nss += CSWlibintl8
RUNTIME_DEP_PKGS_CSWlibnetapi0 += CSWlibintl8
RUNTIME_DEP_PKGS_CSWsamba-client += CSWlibintl8
+endif
###
# Needed as the configure script doesn't add 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 Sun Mar 23 15:20:42 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 23 Mar 2014 14:20:42 +0000
Subject: SF.net SVN: gar:[23266] csw/mgar/gar/v2/src/catalog-release-to-disk.go
Message-ID: <3fsLVc5Y4vz15P@mail.opencsw.org>
Revision: 23266
http://sourceforge.net/p/gar/code/23266
Author: wahwah
Date: 2014-03-23 14:20:40 +0000 (Sun, 23 Mar 2014)
Log Message:
-----------
cat-gen: Use a function to map to long osrels
Modified Paths:
--------------
csw/mgar/gar/v2/src/catalog-release-to-disk.go
Modified: csw/mgar/gar/v2/src/catalog-release-to-disk.go
===================================================================
--- csw/mgar/gar/v2/src/catalog-release-to-disk.go 2014-03-21 19:25:19 UTC (rev 23265)
+++ csw/mgar/gar/v2/src/catalog-release-to-disk.go 2014-03-23 14:20:40 UTC (rev 23266)
@@ -277,6 +277,14 @@
return strings.Replace(longosrel, "SunOS", "", -1)
}
+func longOsrel(shortosrel string) string {
+ if strings.HasPrefix(shortosrel, "SunOS") {
+ return shortosrel
+ } else {
+ return fmt.Sprintf("SunOS%s", shortosrel)
+ }
+}
+
// Defines layout of files on disk. Can be built from the database or from
// disk.
type FilesOfCatalog map[CatalogSpec]map[string]LinkOnDisk
@@ -397,7 +405,7 @@
log.Println("Wrong path found:", fields)
}
arch := fields[0]
- osrel := fmt.Sprintf("SunOS%s", fields[1])
+ osrel := longOsrel(fields[1])
basename := fields[2]
catspec := CatalogSpec{catrel, arch, osrel}
// Figuring out the file type: hardlink/symlink
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 23 15:20:46 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 23 Mar 2014 14:20:46 +0000
Subject: SF.net SVN: gar:[23267] csw/mgar/gar/v2/src/catalog-release-to-disk.go
Message-ID: <3fsLVh5YM2z15g@mail.opencsw.org>
Revision: 23267
http://sourceforge.net/p/gar/code/23267
Author: wahwah
Date: 2014-03-23 14:20:45 +0000 (Sun, 23 Mar 2014)
Log Message:
-----------
cat-gen: Update the comment
Modified Paths:
--------------
csw/mgar/gar/v2/src/catalog-release-to-disk.go
Modified: csw/mgar/gar/v2/src/catalog-release-to-disk.go
===================================================================
--- csw/mgar/gar/v2/src/catalog-release-to-disk.go 2014-03-23 14:20:40 UTC (rev 23266)
+++ csw/mgar/gar/v2/src/catalog-release-to-disk.go 2014-03-23 14:20:45 UTC (rev 23267)
@@ -822,10 +822,9 @@
}
}
- // 6. TODO: Generate the catalog index files
- // First of all, are the current files up to date? Just that we modified
- // linked/unlinked files on disk doesn't mean the catalog file needs to be
- // updated.
+ // 6. Generate the catalog index files
+ // Are the current files up to date? Just that we modified linked/unlinked
+ // files on disk doesn't mean the catalog file needs to be updated.
// Getting the content of catalog index files
catalogs_idx_on_disk := GetCatalogIndexes(catspecs, catalog_root)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 23 15:21:08 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 23 Mar 2014 14:21:08 +0000
Subject: SF.net SVN: gar:[23270] csw/mgar/gar/v2/go/src/opencsw/diskformat
Message-ID: <3fsLW50jJ9z1Dj@mail.opencsw.org>
Revision: 23270
http://sourceforge.net/p/gar/code/23270
Author: wahwah
Date: 2014-03-23 14:21:08 +0000 (Sun, 23 Mar 2014)
Log Message:
-----------
cat-gen: Check for catalog with missing deps
This should catch some of the problems we've recently observed.
This change catches problems with the catalog before we generate the catalog.
This way we avoid the problem in which we halt all catalog generation because
of one failed catalog.
Modified Paths:
--------------
csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go
Added Paths:
-----------
csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat_test.go
Modified: csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go
===================================================================
--- csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go 2014-03-23 14:21:00 UTC (rev 23269)
+++ csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go 2014-03-23 14:21:08 UTC (rev 23270)
@@ -18,14 +18,15 @@
"time"
)
-
+// Do not actually perform any operations on disk. Read data and process, but do
+// not write anything.
var Dry_run bool
// Keeping Pkgdb_url as a package global variable is probably not the best idea,
// but let's not refactor without a good plan.
var Pkgdb_url string
-// 3 strings that define a specific catalog
+// 3 strings that define a specific catalog, e.g. "unstable sparc 5.10"
type CatalogSpec struct {
catrel string
arch string
@@ -162,6 +163,28 @@
return cws
}
+// Run sanity checks and return the result. Currently only checks if there are
+// any dependencies on packages absent from the catalog.
+func (cws *CatalogWithSpec) IsSane() bool {
+ catalog_ok := true
+ deps_by_pkginst := make(map[string]PkginstSlice)
+ for _, pkg := range cws.pkgs {
+ deps_by_pkginst[pkg.Pkginst] = pkg.Depends
+ }
+ for _, pkg := range cws.pkgs {
+ for _, dep := range pkg.Depends {
+ if _, ok := deps_by_pkginst[dep]; !ok {
+ log.Printf(
+ "Problem in the catalog: Package %s declares dependency on %s " +
+ "but %s is missing from the %s catalog.", pkg.Pkginst, dep, dep,
+ cws.spec)
+ catalog_ok = false
+ }
+ }
+ }
+ return catalog_ok;
+}
+
func NewPkgInCatalog(lst []string) (*PkgInCatalog, error) {
size, err := strconv.ParseUint(lst[5], 10, 64)
if err != nil {
@@ -255,6 +278,11 @@
log.Println("Retrieved", catspec, "with", len(pkgs), "packages")
cws := MakeCatalogWithSpec(catspec, pkgs)
+ if !cws.IsSane() {
+ return cws, fmt.Errorf("There are sanity issues with the %s catalog. " +
+ "Please check the log for more information.",
+ cws.spec)
+ }
return cws, nil
}
Added: csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat_test.go
===================================================================
--- csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat_test.go (rev 0)
+++ csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat_test.go 2014-03-23 14:21:08 UTC (rev 23270)
@@ -0,0 +1,54 @@
+package diskformat
+
+import (
+ "testing"
+ "encoding/json"
+)
+
+const small_cat = `
+[
+ {
+ "basename": "common-1.5,REV=2010.12.11-SunOS5.8-sparc-CSW.pkg",
+ "catalogname": "common",
+ "category": "none",
+ "deps": "none",
+ "desc": "common - common files and dirs for CSW packages",
+ "i_deps": "none",
+ "md5_sum": "f83ab71194e67e04d1eee5d8db094011",
+ "pkgname": "CSWcommon",
+ "size": 23040,
+ "version": "1.5,REV=2010.12.11"
+ },
+ {
+ "basename": "dash-0.5.7,REV=2012.04.17-SunOS5.9-sparc-CSW.pkg.gz",
+ "catalogname": "dash",
+ "category": "none",
+ "deps": "CSWcommon",
+ "desc": "dash - POSIX-compliant implementation of /bin/sh that aims to be as small as possible",
+ "i_deps": "none",
+ "md5_sum": "d1efb8957f35591ba3cf49fba2f41d21",
+ "pkgname": "CSWdash",
+ "size": 75821,
+ "version": "0.5.7,REV=2012.04.17"
+ }
+]`
+
+func TestVanilla(t *testing.T) {
+ c := Catalog{}
+ err := json.Unmarshal([]byte(small_cat), &c)
+ if err != nil { t.Error(err); t.FailNow() }
+ spec := CatalogSpec{"fake", "sparc", "5.10"}
+ cws := CatalogWithSpec{spec, c}
+ if !cws.IsSane() { t.Error("This catalog should be OK") }
+}
+
+func TestMissing(t *testing.T) {
+ c := Catalog{}
+ err := json.Unmarshal([]byte(small_cat), &c)
+ c = c[1:]
+ spec := CatalogSpec{"fake", "sparc", "5.10"}
+ cws := CatalogWithSpec{spec, c}
+ // t.Log("c:", c)
+ if err != nil { t.Error(err); t.FailNow() }
+ if cws.IsSane() { t.Error("This catalog is missing a dependency") }
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 23 15:20:52 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 23 Mar 2014 14:20:52 +0000
Subject: SF.net SVN: gar:[23268] csw/mgar/gar/v2
Message-ID: <3fsLWT36R2z1J6@mail.opencsw.org>
Revision: 23268
http://sourceforge.net/p/gar/code/23268
Author: wahwah
Date: 2014-03-23 14:20:51 +0000 (Sun, 23 Mar 2014)
Log Message:
-----------
cat-gen: Create a Go code workspace
As described in http://golang.org/doc/code.html
It will allow to start splitting the code into modules and writing unit tests.
Added Paths:
-----------
csw/mgar/gar/v2/go/
csw/mgar/gar/v2/go/Makefile
csw/mgar/gar/v2/go/README
csw/mgar/gar/v2/go/src/
csw/mgar/gar/v2/go/src/catalog-release-to-disk/
csw/mgar/gar/v2/go/src/catalog-release-to-disk/catalog-release-to-disk.go
Removed Paths:
-------------
csw/mgar/gar/v2/src/Makefile
csw/mgar/gar/v2/src/README
csw/mgar/gar/v2/src/catalog-release-to-disk.go
Added: csw/mgar/gar/v2/go/Makefile
===================================================================
--- csw/mgar/gar/v2/go/Makefile (rev 0)
+++ csw/mgar/gar/v2/go/Makefile 2014-03-23 14:20:51 UTC (rev 23268)
@@ -0,0 +1,18 @@
+# To build and push to the web host:
+#
+# 1. gmake
+# 2. scp to the web host to replace the old binary
+
+all: bin bin/catalog-release-to-disk
+
+bin:
+ mkdir -p bin
+
+bin/catalog-release-to-disk: src/catalog-release-to-disk/catalog-release-to-disk.go
+ gccgo -g -o $@ $<
+
+# catalog-release-to-disk: catalog-release-to-disk.o
+# gccgo -o $@ $<
+
+# %.o: %.go
+# gccgo -c $<
Added: csw/mgar/gar/v2/go/README
===================================================================
--- csw/mgar/gar/v2/go/README (rev 0)
+++ csw/mgar/gar/v2/go/README 2014-03-23 14:20:51 UTC (rev 23268)
@@ -0,0 +1,14 @@
+This is the workspace of Go code.
+
+For information about the directory layout, see:
+http://golang.org/doc/code.html
+
+To build the Go code on Solaris using gccgo, run:
+
+cd /path/to/this/directory
+export GOPATH=$(pwd)
+gmake
+
+To build the Go code using the go command, run:
+
+go build catalog-release-to-disk
Copied: csw/mgar/gar/v2/go/src/catalog-release-to-disk/catalog-release-to-disk.go (from rev 23267, csw/mgar/gar/v2/src/catalog-release-to-disk.go)
===================================================================
--- csw/mgar/gar/v2/go/src/catalog-release-to-disk/catalog-release-to-disk.go (rev 0)
+++ csw/mgar/gar/v2/go/src/catalog-release-to-disk/catalog-release-to-disk.go 2014-03-23 14:20:51 UTC (rev 23268)
@@ -0,0 +1,886 @@
+// Generate OpenCSW catalog - symlinks and hardlinks on disk
+//
+// Obtains catalog contents via a REST interface, analyzes the disk state, and
+// only performs the necessary operations.
+//
+// Building this program: See README in the go/ directory
+//
+// As of 2014-03-16, this program is not packaged, but instead simply compiled
+// and put in place.
+
+package main
+
+import (
+ "bufio"
+ "encoding/json"
+ "errors"
+ "flag"
+ "fmt"
+ "log"
+ "net/http"
+ "os"
+ "path"
+ "path/filepath"
+ "sort"
+ "strconv"
+ "strings"
+ "sync"
+ "syscall"
+ "time"
+)
+
+// 3 strings that define a specific catalog
+type CatalogSpec struct {
+ catrel string
+ arch string
+ osrel string
+}
+
+func longOsrelAsInt(long_osrel string) int64 {
+ short_osrel := shortenOsrel(long_osrel)
+ fields := strings.Split(short_osrel, ".")
+ if len(fields) < 2 {
+ log.Fatalf("Error: %v does not conform to SunOS5.X\n", long_osrel)
+ }
+ sunos_version, err := strconv.ParseInt(fields[1], 10, 32)
+ if err != nil {
+ log.Fatalf("Could not parse %v as int\n", fields[1])
+ }
+ return sunos_version
+}
+// We want to order catalog specs by OS release, so we can go from the oldest
+// Solaris releases to the newest.
+type CatalogSpecs []CatalogSpec
+func (cs CatalogSpecs) Len() int { return len(cs) }
+func (cs CatalogSpecs) Swap(i, j int) { cs[i], cs[j] = cs[j], cs[i] }
+func (cs CatalogSpecs) Less(i, j int) bool {
+ // Ordering by: 1. catrel, 2. arch, 3. osrel
+ if cs[i].catrel != cs[j].catrel {
+ return cs[i].catrel < cs[j].catrel
+ }
+ if cs[i].arch != cs[j].arch {
+ return cs[i].arch < cs[j].arch
+ }
+ i_as_n := longOsrelAsInt(cs[i].osrel)
+ j_as_n := longOsrelAsInt(cs[j].osrel)
+ return i_as_n < j_as_n
+}
+
+type PkginstSlice []string
+
+func (p *PkginstSlice) FormatForIndexFile() string {
+ if len(*p) <= 0 {
+ return "none"
+ }
+ return strings.Join(*p, "|")
+}
+
+// A line in the catalog file; plus the extra description field
+type PkgInCatalog struct {
+ Catalogname string `json:"catalogname"`
+ Version string `json:"version"`
+ Pkginst string `json:"pkgname"`
+ Filename string `json:"basename"`
+ Md5_sum string `json:"md5_sum"`
+ Size uint64 `json:"size"`
+ Depends PkginstSlice `json:"deps"`
+ Category string `json:"category"`
+ I_depends PkginstSlice `json:"i_deps"`
+ Description string `json:"desc"`
+}
+
+func (p *PkgInCatalog) FormatCatalogIndexLine() string {
+ lst := []string{
+ p.Catalogname,
+ p.Version,
+ p.Pkginst,
+ p.Filename,
+ p.Md5_sum,
+ fmt.Sprintf("%v", p.Size),
+ p.Depends.FormatForIndexFile(),
+ p.Category,
+ p.I_depends.FormatForIndexFile(),
+ }
+ return strings.Join(lst, " ")
+}
+
+func (p *PkgInCatalog) FormatDescriptionLine() string {
+ lst := []string{ p.Catalogname, "-", p.Description, }
+ return strings.Join(lst, " ")
+}
+
+type Catalog []PkgInCatalog
+
+type CatalogWithSpec struct {
+ spec CatalogSpec
+ pkgs Catalog
+}
+
+const (
+ Symlink = iota
+ Hardlink
+)
+
+type LinkOnDisk struct {
+ file_name string
+ link_type int
+ target *string
+}
+
+func ParseCatalogFormatPkginstList(s string) []string {
+ if s == "none" {
+ slice := make(PkginstSlice, 0)
+ return slice
+ }
+ return strings.Split(s, "|")
+}
+
+func (self *PkginstSlice) UnmarshalJSON(data []byte) error {
+ var foo string
+ err := json.Unmarshal(data, &foo)
+ if err != nil {
+ return err
+ }
+ *self = ParseCatalogFormatPkginstList(foo)
+ return nil
+}
+
+// Our REST interface returns catspecs as lists, so let's have a common
+// function to construct catspec structs from lists.
+func MakeCatalogSpec(lst []string) (CatalogSpec, error) {
+ var catspec CatalogSpec
+ if len(lst) != 3 {
+ return catspec, errors.New("Array of length 3 is needed.")
+ }
+ // We already have this in the unmarshal bit.
+ catspec.catrel = lst[2]
+ catspec.arch = lst[1]
+ catspec.osrel = lst[0]
+ return catspec, nil
+}
+
+func MakeCatalogWithSpec(catspec CatalogSpec, pkgs Catalog) CatalogWithSpec {
+ var cws CatalogWithSpec
+ cws.spec = catspec
+ cws.pkgs = pkgs
+ return cws
+}
+
+func NewPkgInCatalog(lst []string) (*PkgInCatalog, error) {
+ size, err := strconv.ParseUint(lst[5], 10, 64)
+ if err != nil {
+ return nil, err
+ }
+ if size <= 0 {
+ return nil, fmt.Errorf(
+ "Package size must be greater than 0: %v in %v", lst[5], lst)
+ }
+
+ depends := make([]string, 0)
+ if lst[6] != "none" {
+ depends = strings.Split(lst[6], "|")
+ }
+
+ i_depends := make([]string, 0)
+ if lst[8] != "none" {
+ i_depends = strings.Split(lst[8], "|")
+ }
+
+ var pkg PkgInCatalog
+ pkg.Catalogname = lst[0]
+ pkg.Version = lst[1]
+ pkg.Pkginst = lst[2]
+ pkg.Filename = lst[3]
+ pkg.Md5_sum = lst[4]
+ pkg.Size = size
+ pkg.Depends = depends
+ pkg.Category = lst[7]
+ pkg.I_depends = i_depends
+ pkg.Description = lst[9]
+ return &pkg, nil
+}
+
+func (self *CatalogSpec) UnmarshalJSON(data []byte) error {
+ var slice []string
+ err := json.Unmarshal(data, &slice)
+ if err != nil {
+ return err
+ }
+ if len(slice) != 3 {
+ return fmt.Errorf("%+v is wrong length, should be 3", slice)
+ }
+ self.catrel = slice[2]
+ self.arch = slice[1]
+ self.osrel = slice[0]
+ return nil
+}
+
+func GetCatalogSpecs() (CatalogSpecs, error) {
+ url := fmt.Sprintf("%s/catalogs/", pkgdb_url)
+ resp, err := http.Get(url)
+ if err != nil {
+ return nil, err
+ }
+ defer resp.Body.Close()
+
+ catspecs := make(CatalogSpecs, 0)
+ dec := json.NewDecoder(resp.Body)
+ if err := dec.Decode(&catspecs); err != nil {
+ log.Println("Failed to decode JSON from", url)
+ return nil, err
+ }
+
+ if len(catspecs) <= 0 {
+ return nil, fmt.Errorf("Retrieved 0 catalogs")
+ }
+
+ log.Println("GetCatalogSpecs returns", len(catspecs), "catalogs from", url)
+ return catspecs, nil
+}
+
+func GetCatalogWithSpec(catspec CatalogSpec) (CatalogWithSpec, error) {
+ url := fmt.Sprintf("%s/catalogs/%s/%s/%s/for-generation/as-dicts/",
+ pkgdb_url, catspec.catrel, catspec.arch, catspec.osrel)
+ log.Println("Making a request to", url)
+ resp, err := http.Get(url)
+ if err != nil {
+ log.Panicln("Could not retrieve the catalog list.", err)
+ return CatalogWithSpec{}, err
+ }
+ defer resp.Body.Close()
+
+ var pkgs Catalog
+ dec := json.NewDecoder(resp.Body)
+ if err := dec.Decode(&pkgs); err != nil {
+ log.Println("Failed to decode JSON output from", url, ":", err)
+ return CatalogWithSpec{}, err
+ }
+
+ log.Println("Retrieved", catspec, "with", len(pkgs), "packages")
+
+ cws := MakeCatalogWithSpec(catspec, pkgs)
+ return cws, nil
+}
+
+func filterCatspecs(all_catspecs CatalogSpecs, catrel string) CatalogSpecs {
+ catspecs := make(CatalogSpecs, 0)
+ for _, catspec := range all_catspecs {
+ if catspec.catrel == catrel {
+ catspecs = append(catspecs, catspec)
+ }
+ }
+ return catspecs
+}
+
+func shortenOsrel(longosrel string) string {
+ return strings.Replace(longosrel, "SunOS", "", -1)
+}
+
+func longOsrel(shortosrel string) string {
+ if strings.HasPrefix(shortosrel, "SunOS") {
+ return shortosrel
+ } else {
+ return fmt.Sprintf("SunOS%s", shortosrel)
+ }
+}
+
+// Defines layout of files on disk. Can be built from the database or from
+// disk.
+type FilesOfCatalog map[CatalogSpec]map[string]LinkOnDisk
+
+func GetCatalogsFromREST(catalogs_ch chan []CatalogWithSpec, catspecs CatalogSpecs) {
+ catalogs := make([]CatalogWithSpec, 0)
+ var wg sync.WaitGroup
+ type fetchResult struct {cws CatalogWithSpec; err error }
+ ch := make(chan fetchResult)
+ for _, catspec := range catspecs {
+ wg.Add(1)
+ go func(catspec CatalogSpec) {
+ defer wg.Done()
+ catalog_with_spec, err := GetCatalogWithSpec(catspec)
+ if err != nil {
+ log.Println(err)
+ ch <- fetchResult{CatalogWithSpec{}, err}
+ }
+ ch <- fetchResult{catalog_with_spec, nil}
+ }(catspec)
+ }
+ // The channel will be closed when all fetches are done. We can process
+ // available results in the meantime.
+ go func() { wg.Wait(); close(ch) }()
+
+ for {
+ if result, ok := <-ch; !ok {
+ // Channel has been closed; no more results to process.
+ break
+ } else if result.err != nil {
+ log.Fatalln("Catalog fetch failed:", result.err,
+ "We don't want to continue, because this could result in " +
+ "wiping an existing catalog from disk because of an " +
+ "intermittent network issue.")
+ } else {
+ catalogs = append(catalogs, result.cws)
+ }
+ }
+ // We have 2 places that read this data.
+ catalogs_ch <- catalogs
+ catalogs_ch <- catalogs
+}
+
+func GetFilesOfCatalogFromDatabase(files_from_db_chan chan *FilesOfCatalog,
+ catrel string, catalog_ch chan []CatalogWithSpec) {
+ catalogs := <-catalog_ch
+ catalogs_by_spec := make(map[CatalogSpec]CatalogWithSpec)
+ catspecs := make(CatalogSpecs, 0)
+ for _, cws := range catalogs {
+ catalogs_by_spec[cws.spec] = cws
+ catspecs = append(catspecs, cws.spec)
+ }
+ files_by_catspec := make(FilesOfCatalog)
+ // We must traverse catalogs in sorted order, e.g. Solaris 9 before Solaris 10.
+ sort.Sort(catspecs)
+ visited_catalogs := make(map[CatalogSpec]CatalogSpecs)
+ for _, catspec := range catspecs {
+ // Used to group catalogs we can symlink from
+ compatible_catspec := CatalogSpec{catspec.catrel, catspec.arch, "none"}
+ pkgs := catalogs_by_spec[catspec].pkgs
+ for _, pkg := range pkgs {
+ if _, ok := files_by_catspec[catspec]; !ok {
+ files_by_catspec[catspec] = make(map[string]LinkOnDisk)
+ }
+ var target string
+ var exists_already bool
+ // var exists_in_cat CatalogSpec
+ // Does this path already exist? If so, we'll add a symlink.
+ // Looking back at previous osrels
+ if visited_compatible, ok := visited_catalogs[compatible_catspec]; ok {
+ // We need to iterate in reverse order, from the newest to the oldest
+ // Solaris versions.
+ for i := len(visited_compatible) - 1; i >= 0; i-- {
+ cand_catspec := visited_compatible[i]
+ if _, ok := files_by_catspec[cand_catspec]; ok {
+ if _, ok := files_by_catspec[cand_catspec][pkg.Filename]; ok {
+ exists_already = true
+ target = fmt.Sprintf("../%s/%s",
+ shortenOsrel(cand_catspec.osrel),
+ pkg.Filename)
+ break
+ }
+ }
+ }
+ }
+ var link LinkOnDisk
+ if exists_already {
+ link = LinkOnDisk{pkg.Filename, Symlink, &target}
+ } else {
+ link = LinkOnDisk{pkg.Filename, Hardlink, nil}
+ }
+ files_by_catspec[catspec][pkg.Filename] = link
+ }
+ if _, ok := visited_catalogs[compatible_catspec]; !ok {
+ visited_catalogs[compatible_catspec] = make(CatalogSpecs, 0)
+ }
+ visited_catalogs[compatible_catspec] = append(visited_catalogs[compatible_catspec], catspec)
+ }
+ files_from_db_chan <- &files_by_catspec
+}
+
+func GetFilesOfCatalogFromDisk(files_from_disk_chan chan *FilesOfCatalog, root_path string,
+ catrel string) {
+ files_by_catspec := make(FilesOfCatalog)
+ path_to_scan := path.Join(root_path, catrel)
+ err := filepath.Walk(path_to_scan,
+ func(path string, f os.FileInfo, err error) error {
+ if err != nil {
+ return err
+ }
+ if f.Mode() & os.ModeDir > 0 {
+ // We're ignoring directories.
+ return nil
+ }
+ rel_path := strings.TrimPrefix(path, path_to_scan + "/")
+ fields := strings.Split(rel_path, "/")
+ if len(fields) != 3 {
+ log.Println("Wrong path found:", fields)
+ }
+ arch := fields[0]
+ osrel := longOsrel(fields[1])
+ basename := fields[2]
+ catspec := CatalogSpec{catrel, arch, osrel}
+ // Figuring out the file type: hardlink/symlink
+ var link LinkOnDisk
+ if !(strings.HasSuffix(basename, ".pkg.gz") ||
+ strings.HasSuffix(basename, ".pkg")) {
+ // Not a package, won't be processed. This means the file won't be
+ // removed if not in the database.
+ return nil
+ }
+ if f.Mode().IsRegular() {
+ link = LinkOnDisk{basename, Hardlink, nil}
+ } else if f.Mode() & os.ModeSymlink > 0 {
+ target, err := os.Readlink(path)
+ if err != nil {
+ log.Printf("Reading link of %v failed: %v\n", path, err)
+ } else {
+ link = LinkOnDisk{basename, Symlink, &target}
+ }
+ } else {
+ log.Println(path, "Is not a hardlink or a symlink. What is it then? Ignoring.")
+ }
+ if _, ok := files_by_catspec[catspec]; !ok {
+ files_by_catspec[catspec] = make(map[string]LinkOnDisk)
+ }
+ files_by_catspec[catspec][basename] = link
+ return nil
+ })
+ if err != nil {
+ log.Fatalf("filepath.Walk() failed with: %v\n", err)
+ }
+ files_from_disk_chan <- &files_by_catspec
+}
+
+func FilesOfCatalogDiff(base_files *FilesOfCatalog,
+ to_substract *FilesOfCatalog) *FilesOfCatalog {
+ left_in_base := make(FilesOfCatalog)
+ for catspec, filemap := range *base_files {
+ for path, link := range filemap {
+ // Is it in the database?
+ in_db := false
+ if files_db, ok := (*to_substract)[catspec]; ok {
+ if _, ok := files_db[path]; ok {
+ in_db = true
+ }
+ }
+ if !in_db {
+ if _, ok := left_in_base[catspec]; !ok {
+ left_in_base[catspec] = make(map[string]LinkOnDisk)
+ }
+ left_in_base[catspec][path] = link
+ }
+ }
+ }
+ return &left_in_base
+}
+
+// Returns true if there were any operations performed
+func UpdateDisk(files_to_add *FilesOfCatalog,
+ files_to_remove *FilesOfCatalog,
+ catalog_root string) bool {
+ changes_made := false
+
+ for catspec, files_by_path := range *files_to_add {
+ for path, link := range files_by_path {
+ tgt_path := filepath.Join(catalog_root, catspec.catrel, catspec.arch,
+ shortenOsrel(catspec.osrel), path)
+ if link.link_type == Hardlink {
+ src_path := filepath.Join(catalog_root, "allpkgs", path)
+ if !dry_run {
+ if err := syscall.Link(src_path, tgt_path); err != nil {
+ log.Fatalf("Could not create hardlink from %v to %v: %v",
+ src_path, tgt_path, err)
+ }
+ }
+ log.Printf("ln \"%s\"\n \"%s\"\n", src_path, tgt_path)
+ changes_made = true
+ } else if link.link_type == Symlink {
+ // The source path is relative to the target, because it's a symlink
+ src_path := *(link.target)
+ if !dry_run {
+ if err := syscall.Symlink(src_path, tgt_path); err != nil {
+ log.Fatalf("Could not symlink %v to %v: %v", src_path, tgt_path, err)
+ }
+ }
+ log.Printf("ln -s \"%s\"\n \"%s\"\n", src_path, tgt_path)
+ changes_made = true
+ } else {
+ log.Fatalln("Zonk! Wrong link type in %+v", link)
+ }
+ }
+ }
+
+ for catspec, files_by_path := range *files_to_remove {
+ for path, _ := range files_by_path {
+ pkg_path := filepath.Join(catalog_root, catspec.catrel, catspec.arch,
+ shortenOsrel(catspec.osrel), path)
+ if !dry_run {
+ if err:= syscall.Unlink(pkg_path); err != nil {
+ log.Fatalf("Could not unlink %v: %v", pkg_path, err)
+ }
+ }
+ log.Printf("rm \"%s\"\n", pkg_path)
+ changes_made = true
+ }
+ }
+ return changes_made
+}
+
+func FormatCatalogFilePath(root_path string, catspec CatalogSpec,
+ filename string) string {
+ return filepath.Join(root_path, catspec.catrel,
+ catspec.arch, shortenOsrel(catspec.osrel),
+ filename)
+}
+
+func GetCatalogFromIndexFile(catalog_root string,
+ catspec CatalogSpec) (*CatalogWithSpec, error) {
+ pkgs := make(Catalog, 0)
+ // Read the descriptions first, and build a map so that descriptions can be
+ // easily accessed when parsing the catalog file.
+ desc_file_path := FormatCatalogFilePath(catalog_root, catspec, "descriptions")
+ catalog_file_path := FormatCatalogFilePath(catalog_root, catspec, "catalog")
+ desc_by_catalogname := make(map[string]string)
+ desc_file, err := os.Open(desc_file_path)
+ if err != nil {
+ // Missing file is equivalent to an empty catalog.
+ return &CatalogWithSpec{catspec, pkgs}, nil
+ }
+ defer desc_file.Close()
+ desc_scanner := bufio.NewScanner(desc_file)
+ for desc_scanner.Scan() {
+ fields := strings.SplitN(desc_scanner.Text(), " ", 3)
+ if len(fields) < 3 {
+ log.Println("Could not parse description line:", fields)
+ continue
+ }
+ catalogname := fields[0]
+ description := fields[2]
+ desc_by_catalogname[catalogname] = description
+ }
+
+ cat_file, err := os.Open(catalog_file_path)
+ if err != nil {
+ // Missing catalog file is equivalent to an empty file
+ return &CatalogWithSpec{catspec, pkgs}, nil
+ }
+ defer cat_file.Close()
+
+ scanner := bufio.NewScanner(cat_file)
+ for scanner.Scan() {
+ fields := strings.Fields(scanner.Text())
+ if len(fields) != 9 {
+ // Line does not conform, ignoring. It's a GPG signature line, or an
+ // empty line, or something else.
+ continue
+ }
+ catalogname := fields[0]
+ desc, ok := desc_by_catalogname[catalogname]
+ if !ok {
+ log.Fatalln("Did not find description for", catalogname)
+ }
+ size, err := strconv.ParseUint(fields[5], 10, 32)
+ if err != nil {
+ log.Fatalln("Could not parse size")
+ }
+ if size <= 0 {
+ log.Fatalln("Package size must be > 0:", fields[5])
+ }
+ deps := ParseCatalogFormatPkginstList(fields[6])
+ i_deps := ParseCatalogFormatPkginstList(fields[8])
+ pkg := PkgInCatalog{
+ catalogname,
+ fields[1],
+ fields[2],
+ fields[3],
+ fields[4],
+ size,
+ deps,
+ fields[7],
+ i_deps,
+ desc,
+ }
+ pkgs = append(pkgs, pkg)
+ }
+ if err := scanner.Err(); err != nil {
+ log.Fatalf("Error reading %v: %v", catalog_file_path, err)
+ }
+ log.Println("Catalog index found:", catspec, "and", len(pkgs), "pkgs")
+ cws := MakeCatalogWithSpec(catspec, pkgs)
+ return &cws, nil
+}
+
+func GetCatalogIndexes(catspecs CatalogSpecs,
+ root_dir string) []CatalogWithSpec {
+ // Read all catalog files and parse them.
+ catalogs := make([]CatalogWithSpec, 0)
+ for _, catspec := range catspecs {
+ catalog, err := GetCatalogFromIndexFile(root_dir, catspec)
+ if err != nil {
+ log.Fatalln("Could not get the index file of", catspec, "in",
+ root_dir, "error:", err)
+ }
+ catalogs = append(catalogs, *catalog)
+ }
+ return catalogs
+}
+
+// Struct to hold information about catalog comparisons
+type catalogPair struct {
+ c1 CatalogWithSpec
+ c2 CatalogWithSpec
+}
+
+func GroupCatalogsBySpec(c1, c2 []CatalogWithSpec) (*map[CatalogSpec]catalogPair) {
+ pairs_by_spec := make(map[CatalogSpec]catalogPair)
+ for _, cws := range c1 {
+ pairs_by_spec[cws.spec] = catalogPair{cws, CatalogWithSpec{}}
+ }
+ for _, cws := range c2 {
+ if pair, ok := pairs_by_spec[cws.spec]; ok {
+ pair.c2 = cws
+ pairs_by_spec[cws.spec] = pair
+ } else {
+ log.Println("Did not find", cws.spec, "in c2")
+ }
+ }
+ return &pairs_by_spec
+}
+
+func MassCompareCatalogs(c1, c2 []CatalogWithSpec) (*map[CatalogSpec]bool) {
+ diff_detected := make(map[CatalogSpec]bool)
+
+ pairs_by_spec := GroupCatalogsBySpec(c1, c2)
+
+ // The catalog disk/db pairs are ready to be compared.
+ for spec, pair := range *pairs_by_spec {
+ diff_detected[spec] = false
+ // DeepEqual could do it, but it is too crude; doesn't provide details
+ // This code can probably be simplified.
+ catalognames := make(map[string]bool)
+ c1_by_catn := make(map[string]PkgInCatalog)
+ c2_by_catn := make(map[string]PkgInCatalog)
+ if len(pair.c1.pkgs) != len(pair.c2.pkgs) {
+ log.Printf("%v: %v vs %v are different length\n",
+ spec, len(pair.c1.pkgs), len(pair.c2.pkgs))
+ diff_detected[spec] = true
+ continue
+ }
+ for _, pkg := range pair.c1.pkgs {
+ catalognames[pkg.Catalogname] = true
+ c1_by_catn[pkg.Catalogname] = pkg
+ }
+ for _, pkg := range pair.c2.pkgs {
+ catalognames[pkg.Catalogname] = true
+ c2_by_catn[pkg.Catalogname] = pkg
+ }
+ for catalogname, _ := range catalognames {
+ pkg_disk, ok := c1_by_catn[catalogname]
+ if ok {
+ pkg_db, ok := c2_by_catn[catalogname]
+ if ok {
+ // This comparison method is a bit silly. But we can't simply compare
+ // the structs, because they contain slices, and slices are not
+ // comparable.
+ if pkg_db.FormatCatalogIndexLine() != pkg_disk.FormatCatalogIndexLine() {
+ log.Printf("different in %v: %v %v vs %v, enough to trigger " +
+ "catalog index generation\n", spec, pkg_db.Filename,
+ pkg_db.Md5_sum, pkg_disk.Md5_sum)
+ diff_detected[spec] = true
+ break
+ }
+ } else {
+ log.Printf("different in %v: %v not found in c2\n", spec, catalogname)
+ diff_detected[spec] = true
+ break
+ }
+ } else {
+ log.Printf("different in %v: %v not found in c1\n", spec, catalogname)
+ diff_detected[spec] = true
+ break
+ }
+ }
+ }
+
+ return &diff_detected
+}
+
+func GenerateCatalogIndexFile(catalog_root string,
+ cws CatalogWithSpec) {
+ log.Printf("GenerateCatalogIndexFile(%v, %v)\n", catalog_root, cws.spec)
+ catalog_file_path := FormatCatalogFilePath(catalog_root, cws.spec, "catalog")
+ desc_file_path := FormatCatalogFilePath(catalog_root, cws.spec, "descriptions")
+
+ defer func() {
+ // If there's a "catalog.gz" here, remove it. It will be recreated later by
+ // the shell script which signs catalogs.
+ gzip_catalog := catalog_file_path + ".gz";
+ if err := os.Remove(gzip_catalog); err != nil {
+ log.Println("Not removed", gzip_catalog, "error was", err)
+ } else {
+ log.Println(gzip_catalog, "was removed")
+ }
+ }()
+
+ // If there are no files in the catalog, simply remove the catalog files.
+ if len(cws.pkgs) <= 0 {
+ for _, filename := range []string{catalog_file_path, desc_file_path} {
+ // If the files are missing, that's okay
+ if err := os.Remove(filename); err != nil {
+ if err != syscall.ENOENT {
+ log.Println("Could not remove", filename, "error:", err)
+ }
+ } else {
+ log.Println("Removed", filename, "because the", cws.spec,
+ "catalog is empty")
+ }
+ }
+ return
+ }
+
+ var catbuf *bufio.Writer
+ var descbuf *bufio.Writer
+
+ if !dry_run {
+ catalog_fd, err := os.Create(catalog_file_path)
+ if err != nil {
+ log.Fatalln("Could not open", catalog_file_path, "for writing:", err)
+ }
+ defer catalog_fd.Close()
+
+ catbuf = bufio.NewWriter(catalog_fd)
+ defer catbuf.Flush()
+
+ desc_fd, err := os.Create(desc_file_path)
+ if err != nil {
+ log.Fatalln("Could not open", desc_file_path, "for writing:", err)
+ }
+ defer desc_fd.Close()
+
+ descbuf = bufio.NewWriter(desc_fd)
+ defer descbuf.Flush()
+ } else {
+ log.Println("Dry run: printing catalog to stdout")
+ catbuf = bufio.NewWriter(os.Stdout)
+ defer catbuf.Flush()
+ descbuf = bufio.NewWriter(os.Stdout)
+ defer descbuf.Flush()
+ }
+
+ // http://www.opencsw.org/manual/for-maintainers/catalog-format.html
+ ts_line := fmt.Sprintf("# CREATIONDATE %s\n", time.Now().Format(time.RFC3339))
+ catbuf.WriteString(ts_line)
+
+ for _, pkg := range cws.pkgs {
+ catbuf.WriteString(pkg.FormatCatalogIndexLine())
+ catbuf.WriteString("\n")
+ descbuf.WriteString(pkg.FormatDescriptionLine())
+ descbuf.WriteString("\n")
+ }
+}
+
+func GenerateCatalogRelease(catrel string, catalog_root string) {
+ log.Println("catrel:", catrel)
+ log.Println("catalog_root:", catalog_root)
+
+ all_catspecs, err := GetCatalogSpecs()
+ if err != nil {
+ log.Panicln("Could not get the catalog spec list")
+ }
+ // Because of memory constraints, we're only processing 1 catalog in one run
+ catspecs := filterCatspecs(all_catspecs, catrel_flag)
+
+ // The plan:
+ // 1. build a data structure representing all the hardlinks and symlinks
+ // based on the catalogs
+
+ catalog_ch := make(chan []CatalogWithSpec)
+ go GetCatalogsFromREST(catalog_ch, catspecs)
+ files_from_db_chan := make(chan *FilesOfCatalog)
+ go GetFilesOfCatalogFromDatabase(files_from_db_chan, catrel, catalog_ch)
+
+ // 2. build a data structure based on the contents of the disk
+ // it should be done in parallel
+ files_from_disk_chan := make(chan *FilesOfCatalog)
+ go GetFilesOfCatalogFromDisk(files_from_disk_chan, catalog_root, catrel)
+
+ // 3. Retrieve results
+ files_by_catspec_disk := <-files_from_disk_chan
+ files_by_catspec_db := <-files_from_db_chan
+
+ // 4. compare, generate a list of operations to perform
+
+ log.Println("Calculating the difference")
+ files_to_add := FilesOfCatalogDiff(files_by_catspec_db,
+ files_by_catspec_disk)
+ files_to_remove := FilesOfCatalogDiff(files_by_catspec_disk,
+ files_by_catspec_db)
+
+ // 5. perform these operations
+ // ...or save a disk file with instructions.
+ if dry_run {
+ log.Println("Dry run, only logging operations that would have been made.")
+ } else {
+ log.Println("Applying link/unlink operations to disk")
+ }
+ changes_made := UpdateDisk(files_to_add, files_to_remove, catalog_root)
+ if !changes_made {
+ if dry_run {
+ log.Println("It was a dry run, but there would not have been any " +
+ "link/unlink operations performed anyway")
+ } else {
+ log.Println("There were no link/unlink operations to perform")
+ }
+ }
+
+ // 6. Generate the catalog index files
+ // Are the current files up to date? Just that we modified linked/unlinked
+ // files on disk doesn't mean the catalog file needs to be updated.
+
+ // Getting the content of catalog index files
+ catalogs_idx_on_disk := GetCatalogIndexes(catspecs, catalog_root)
+ catalogs_in_db := <-catalog_ch
+
+ diff_flag_by_spec := MassCompareCatalogs(catalogs_in_db, catalogs_idx_on_disk)
+ log.Println(*diff_flag_by_spec)
+
+ var wg sync.WaitGroup
+ for _, cws := range catalogs_in_db {
+ diff_present, ok := (*diff_flag_by_spec)[cws.spec]
+ if !ok { continue }
+ if diff_present {
+ wg.Add(1)
+ go func(catalog_root string, cws CatalogWithSpec) {
+ defer wg.Done()
+ GenerateCatalogIndexFile(catalog_root, cws)
+ }(catalog_root, cws)
+ } else {
+ log.Println("Not regenerating", cws.spec,
+ "because catalog contents on disk and in the database " +
+ "is the same.")
+ }
+ }
+ wg.Wait()
+
+ // This utility needs to be run for each catalog release, but different
+ // catalog releases can be done concurrently.
+
+ // This utility could be rewritten to regenerate all the catalogs in a single
+ // run at the cost of using more RAM.
+}
+
+// Command line flags
+var catrel_flag string
+var catalog_root_flag string
+var pkgdb_url string
+var dry_run bool
+func init() {
+ flag.StringVar(&catrel_flag, "catalog-release", "unstable",
+ "e.g. unstable, bratislava, kiel, dublin")
+ flag.StringVar(&catalog_root_flag, "catalog-root",
+ "/export/mirror/opencsw",
+ "Directory where all the catalogs live, and allpkgs is")
+ flag.StringVar(&pkgdb_url, "pkgdb-url",
+ "http://buildfarm.opencsw.org/pkgdb/rest",
+ "Web address of the pkgdb app.")
+ flag.BoolVar(&dry_run, "dry-run", false,
+ "Dry run mode, no changes on disk are made")
+}
+
+func main() {
+ flag.Parse()
+ GenerateCatalogRelease(catrel_flag, catalog_root_flag)
+
+ // Let's generate the catalog index too. And the description file. We've
+ // already got all the necessary data. We also know whether we actually need
+ // to generate a new catalog: when there were any operations to be made on
+ // disk.
+}
Deleted: csw/mgar/gar/v2/src/Makefile
===================================================================
--- csw/mgar/gar/v2/src/Makefile 2014-03-23 14:20:45 UTC (rev 23267)
+++ csw/mgar/gar/v2/src/Makefile 2014-03-23 14:20:51 UTC (rev 23268)
@@ -1,12 +0,0 @@
-# To build and push to the web host:
-#
-# 1. gmake
-# 2. scp to the web host to replace the old binary
-
-all: catalog-release-to-disk
-
-catalog-release-to-disk: catalog-release-to-disk.o
- gccgo -o $@ $<
-
-%.o: %.go
- gccgo -c $<
Deleted: csw/mgar/gar/v2/src/README
===================================================================
--- csw/mgar/gar/v2/src/README 2014-03-23 14:20:45 UTC (rev 23267)
+++ csw/mgar/gar/v2/src/README 2014-03-23 14:20:51 UTC (rev 23268)
@@ -1 +0,0 @@
-Directory for source code of programs written in compiled languages.
Deleted: csw/mgar/gar/v2/src/catalog-release-to-disk.go
===================================================================
--- csw/mgar/gar/v2/src/catalog-release-to-disk.go 2014-03-23 14:20:45 UTC (rev 23267)
+++ csw/mgar/gar/v2/src/catalog-release-to-disk.go 2014-03-23 14:20:51 UTC (rev 23268)
@@ -1,887 +0,0 @@
-// Generate OpenCSW catalog - symlinks and hardlinks on disk
-//
-// Obtains catalog contents via a REST interface, analyzes the disk state, and
-// only performs the necessary operations.
-//
-// Building this program:
-// gccgo -o catalog-release-to-disk catalog-release-to-disk.go
-//
-// As of 2014-03-16, this program is not packaged, but instead simply compiled
-// and put in place.
-
-package main
-
-import (
- "bufio"
- "encoding/json"
- "errors"
- "flag"
- "fmt"
- "log"
- "net/http"
- "os"
- "path"
- "path/filepath"
- "sort"
- "strconv"
- "strings"
- "sync"
- "syscall"
- "time"
-)
-
-// 3 strings that define a specific catalog
-type CatalogSpec struct {
- catrel string
- arch string
- osrel string
-}
-
-func longOsrelAsInt(long_osrel string) int64 {
- short_osrel := shortenOsrel(long_osrel)
- fields := strings.Split(short_osrel, ".")
- if len(fields) < 2 {
- log.Fatalf("Error: %v does not conform to SunOS5.X\n", long_osrel)
- }
- sunos_version, err := strconv.ParseInt(fields[1], 10, 32)
- if err != nil {
- log.Fatalf("Could not parse %v as int\n", fields[1])
- }
- return sunos_version
-}
-// We want to order catalog specs by OS release, so we can go from the oldest
-// Solaris releases to the newest.
-type CatalogSpecs []CatalogSpec
-func (cs CatalogSpecs) Len() int { return len(cs) }
-func (cs CatalogSpecs) Swap(i, j int) { cs[i], cs[j] = cs[j], cs[i] }
-func (cs CatalogSpecs) Less(i, j int) bool {
- // Ordering by: 1. catrel, 2. arch, 3. osrel
- if cs[i].catrel != cs[j].catrel {
- return cs[i].catrel < cs[j].catrel
- }
- if cs[i].arch != cs[j].arch {
- return cs[i].arch < cs[j].arch
- }
- i_as_n := longOsrelAsInt(cs[i].osrel)
- j_as_n := longOsrelAsInt(cs[j].osrel)
- return i_as_n < j_as_n
-}
-
-type PkginstSlice []string
-
-func (p *PkginstSlice) FormatForIndexFile() string {
- if len(*p) <= 0 {
- return "none"
- }
- return strings.Join(*p, "|")
-}
-
-// A line in the catalog file; plus the extra description field
-type PkgInCatalog struct {
- Catalogname string `json:"catalogname"`
- Version string `json:"version"`
- Pkginst string `json:"pkgname"`
- Filename string `json:"basename"`
- Md5_sum string `json:"md5_sum"`
- Size uint64 `json:"size"`
- Depends PkginstSlice `json:"deps"`
- Category string `json:"category"`
- I_depends PkginstSlice `json:"i_deps"`
- Description string `json:"desc"`
-}
-
-func (p *PkgInCatalog) FormatCatalogIndexLine() string {
- lst := []string{
- p.Catalogname,
- p.Version,
- p.Pkginst,
- p.Filename,
- p.Md5_sum,
- fmt.Sprintf("%v", p.Size),
- p.Depends.FormatForIndexFile(),
- p.Category,
- p.I_depends.FormatForIndexFile(),
- }
- return strings.Join(lst, " ")
-}
-
-func (p *PkgInCatalog) FormatDescriptionLine() string {
- lst := []string{ p.Catalogname, "-", p.Description, }
- return strings.Join(lst, " ")
-}
-
-type Catalog []PkgInCatalog
-
-type CatalogWithSpec struct {
- spec CatalogSpec
- pkgs Catalog
-}
-
-const (
- Symlink = iota
- Hardlink
-)
-
-type LinkOnDisk struct {
- file_name string
- link_type int
- target *string
-}
-
-func ParseCatalogFormatPkginstList(s string) []string {
- if s == "none" {
- slice := make(PkginstSlice, 0)
- return slice
- }
- return strings.Split(s, "|")
-}
-
-func (self *PkginstSlice) UnmarshalJSON(data []byte) error {
- var foo string
- err := json.Unmarshal(data, &foo)
- if err != nil {
- return err
- }
- *self = ParseCatalogFormatPkginstList(foo)
- return nil
-}
-
-// Our REST interface returns catspecs as lists, so let's have a common
-// function to construct catspec structs from lists.
-func MakeCatalogSpec(lst []string) (CatalogSpec, error) {
- var catspec CatalogSpec
- if len(lst) != 3 {
- return catspec, errors.New("Array of length 3 is needed.")
- }
- // We already have this in the unmarshal bit.
- catspec.catrel = lst[2]
- catspec.arch = lst[1]
- catspec.osrel = lst[0]
- return catspec, nil
-}
-
-func MakeCatalogWithSpec(catspec CatalogSpec, pkgs Catalog) CatalogWithSpec {
- var cws CatalogWithSpec
- cws.spec = catspec
- cws.pkgs = pkgs
- return cws
-}
-
-func NewPkgInCatalog(lst []string) (*PkgInCatalog, error) {
- size, err := strconv.ParseUint(lst[5], 10, 64)
- if err != nil {
- return nil, err
- }
- if size <= 0 {
- return nil, fmt.Errorf(
- "Package size must be greater than 0: %v in %v", lst[5], lst)
- }
-
- depends := make([]string, 0)
- if lst[6] != "none" {
- depends = strings.Split(lst[6], "|")
- }
-
- i_depends := make([]string, 0)
- if lst[8] != "none" {
- i_depends = strings.Split(lst[8], "|")
- }
-
- var pkg PkgInCatalog
- pkg.Catalogname = lst[0]
- pkg.Version = lst[1]
- pkg.Pkginst = lst[2]
- pkg.Filename = lst[3]
- pkg.Md5_sum = lst[4]
- pkg.Size = size
- pkg.Depends = depends
- pkg.Category = lst[7]
- pkg.I_depends = i_depends
- pkg.Description = lst[9]
- return &pkg, nil
-}
-
-func (self *CatalogSpec) UnmarshalJSON(data []byte) error {
- var slice []string
- err := json.Unmarshal(data, &slice)
- if err != nil {
- return err
- }
- if len(slice) != 3 {
- return fmt.Errorf("%+v is wrong length, should be 3", slice)
- }
- self.catrel = slice[2]
- self.arch = slice[1]
- self.osrel = slice[0]
- return nil
-}
-
-func GetCatalogSpecs() (CatalogSpecs, error) {
- url := fmt.Sprintf("%s/catalogs/", pkgdb_url)
- resp, err := http.Get(url)
- if err != nil {
- return nil, err
- }
- defer resp.Body.Close()
-
- catspecs := make(CatalogSpecs, 0)
- dec := json.NewDecoder(resp.Body)
- if err := dec.Decode(&catspecs); err != nil {
- log.Println("Failed to decode JSON from", url)
- return nil, err
- }
-
- if len(catspecs) <= 0 {
- return nil, fmt.Errorf("Retrieved 0 catalogs")
- }
-
- log.Println("GetCatalogSpecs returns", len(catspecs), "catalogs from", url)
- return catspecs, nil
-}
-
-func GetCatalogWithSpec(catspec CatalogSpec) (CatalogWithSpec, error) {
- url := fmt.Sprintf("%s/catalogs/%s/%s/%s/for-generation/as-dicts/",
- pkgdb_url, catspec.catrel, catspec.arch, catspec.osrel)
- log.Println("Making a request to", url)
- resp, err := http.Get(url)
- if err != nil {
- log.Panicln("Could not retrieve the catalog list.", err)
- return CatalogWithSpec{}, err
- }
- defer resp.Body.Close()
-
- var pkgs Catalog
- dec := json.NewDecoder(resp.Body)
- if err := dec.Decode(&pkgs); err != nil {
- log.Println("Failed to decode JSON output from", url, ":", err)
- return CatalogWithSpec{}, err
- }
-
- log.Println("Retrieved", catspec, "with", len(pkgs), "packages")
-
- cws := MakeCatalogWithSpec(catspec, pkgs)
- return cws, nil
-}
-
-func filterCatspecs(all_catspecs CatalogSpecs, catrel string) CatalogSpecs {
- catspecs := make(CatalogSpecs, 0)
- for _, catspec := range all_catspecs {
- if catspec.catrel == catrel {
- catspecs = append(catspecs, catspec)
- }
- }
- return catspecs
-}
-
-func shortenOsrel(longosrel string) string {
- return strings.Replace(longosrel, "SunOS", "", -1)
-}
-
-func longOsrel(shortosrel string) string {
- if strings.HasPrefix(shortosrel, "SunOS") {
- return shortosrel
- } else {
- return fmt.Sprintf("SunOS%s", shortosrel)
- }
-}
-
-// Defines layout of files on disk. Can be built from the database or from
-// disk.
-type FilesOfCatalog map[CatalogSpec]map[string]LinkOnDisk
-
-func GetCatalogsFromREST(catalogs_ch chan []CatalogWithSpec, catspecs CatalogSpecs) {
- catalogs := make([]CatalogWithSpec, 0)
- var wg sync.WaitGroup
- type fetchResult struct {cws CatalogWithSpec; err error }
- ch := make(chan fetchResult)
- for _, catspec := range catspecs {
- wg.Add(1)
- go func(catspec CatalogSpec) {
- defer wg.Done()
- catalog_with_spec, err := GetCatalogWithSpec(catspec)
- if err != nil {
- log.Println(err)
- ch <- fetchResult{CatalogWithSpec{}, err}
- }
- ch <- fetchResult{catalog_with_spec, nil}
- }(catspec)
- }
- // The channel will be closed when all fetches are done. We can process
- // available results in the meantime.
- go func() { wg.Wait(); close(ch) }()
-
- for {
- if result, ok := <-ch; !ok {
- // Channel has been closed; no more results to process.
- break
- } else if result.err != nil {
- log.Fatalln("Catalog fetch failed:", result.err,
- "We don't want to continue, because this could result in " +
- "wiping an existing catalog from disk because of an " +
- "intermittent network issue.")
- } else {
- catalogs = append(catalogs, result.cws)
- }
- }
- // We have 2 places that read this data.
- catalogs_ch <- catalogs
- catalogs_ch <- catalogs
-}
-
-func GetFilesOfCatalogFromDatabase(files_from_db_chan chan *FilesOfCatalog,
- catrel string, catalog_ch chan []CatalogWithSpec) {
- catalogs := <-catalog_ch
- catalogs_by_spec := make(map[CatalogSpec]CatalogWithSpec)
- catspecs := make(CatalogSpecs, 0)
- for _, cws := range catalogs {
- catalogs_by_spec[cws.spec] = cws
- catspecs = append(catspecs, cws.spec)
- }
- files_by_catspec := make(FilesOfCatalog)
- // We must traverse catalogs in sorted order, e.g. Solaris 9 before Solaris 10.
- sort.Sort(catspecs)
- visited_catalogs := make(map[CatalogSpec]CatalogSpecs)
- for _, catspec := range catspecs {
- // Used to group catalogs we can symlink from
- compatible_catspec := CatalogSpec{catspec.catrel, catspec.arch, "none"}
- pkgs := catalogs_by_spec[catspec].pkgs
- for _, pkg := range pkgs {
- if _, ok := files_by_catspec[catspec]; !ok {
- files_by_catspec[catspec] = make(map[string]LinkOnDisk)
- }
- var target string
- var exists_already bool
- // var exists_in_cat CatalogSpec
- // Does this path already exist? If so, we'll add a symlink.
- // Looking back at previous osrels
- if visited_compatible, ok := visited_catalogs[compatible_catspec]; ok {
- // We need to iterate in reverse order, from the newest to the oldest
- // Solaris versions.
- for i := len(visited_compatible) - 1; i >= 0; i-- {
- cand_catspec := visited_compatible[i]
- if _, ok := files_by_catspec[cand_catspec]; ok {
- if _, ok := files_by_catspec[cand_catspec][pkg.Filename]; ok {
- exists_already = true
- target = fmt.Sprintf("../%s/%s",
- shortenOsrel(cand_catspec.osrel),
- pkg.Filename)
- break
- }
- }
- }
- }
- var link LinkOnDisk
- if exists_already {
- link = LinkOnDisk{pkg.Filename, Symlink, &target}
- } else {
- link = LinkOnDisk{pkg.Filename, Hardlink, nil}
- }
- files_by_catspec[catspec][pkg.Filename] = link
- }
- if _, ok := visited_catalogs[compatible_catspec]; !ok {
- visited_catalogs[compatible_catspec] = make(CatalogSpecs, 0)
- }
- visited_catalogs[compatible_catspec] = append(visited_catalogs[compatible_catspec], catspec)
- }
- files_from_db_chan <- &files_by_catspec
-}
-
-func GetFilesOfCatalogFromDisk(files_from_disk_chan chan *FilesOfCatalog, root_path string,
- catrel string) {
- files_by_catspec := make(FilesOfCatalog)
- path_to_scan := path.Join(root_path, catrel)
- err := filepath.Walk(path_to_scan,
- func(path string, f os.FileInfo, err error) error {
- if err != nil {
- return err
- }
- if f.Mode() & os.ModeDir > 0 {
- // We're ignoring directories.
- return nil
- }
- rel_path := strings.TrimPrefix(path, path_to_scan + "/")
- fields := strings.Split(rel_path, "/")
- if len(fields) != 3 {
- log.Println("Wrong path found:", fields)
- }
- arch := fields[0]
- osrel := longOsrel(fields[1])
- basename := fields[2]
- catspec := CatalogSpec{catrel, arch, osrel}
- // Figuring out the file type: hardlink/symlink
- var link LinkOnDisk
- if !(strings.HasSuffix(basename, ".pkg.gz") ||
- strings.HasSuffix(basename, ".pkg")) {
- // Not a package, won't be processed. This means the file won't be
- // removed if not in the database.
- return nil
- }
- if f.Mode().IsRegular() {
- link = LinkOnDisk{basename, Hardlink, nil}
- } else if f.Mode() & os.ModeSymlink > 0 {
- target, err := os.Readlink(path)
- if err != nil {
- log.Printf("Reading link of %v failed: %v\n", path, err)
- } else {
- link = LinkOnDisk{basename, Symlink, &target}
- }
- } else {
- log.Println(path, "Is not a hardlink or a symlink. What is it then? Ignoring.")
- }
- if _, ok := files_by_catspec[catspec]; !ok {
- files_by_catspec[catspec] = make(map[string]LinkOnDisk)
- }
- files_by_catspec[catspec][basename] = link
- return nil
- })
- if err != nil {
- log.Fatalf("filepath.Walk() failed with: %v\n", err)
- }
- files_from_disk_chan <- &files_by_catspec
-}
-
-func FilesOfCatalogDiff(base_files *FilesOfCatalog,
- to_substract *FilesOfCatalog) *FilesOfCatalog {
- left_in_base := make(FilesOfCatalog)
- for catspec, filemap := range *base_files {
- for path, link := range filemap {
- // Is it in the database?
- in_db := false
- if files_db, ok := (*to_substract)[catspec]; ok {
- if _, ok := files_db[path]; ok {
- in_db = true
- }
- }
- if !in_db {
- if _, ok := left_in_base[catspec]; !ok {
- left_in_base[catspec] = make(map[string]LinkOnDisk)
- }
- left_in_base[catspec][path] = link
- }
- }
- }
- return &left_in_base
-}
-
-// Returns true if there were any operations performed
-func UpdateDisk(files_to_add *FilesOfCatalog,
- files_to_remove *FilesOfCatalog,
- catalog_root string) bool {
- changes_made := false
-
- for catspec, files_by_path := range *files_to_add {
- for path, link := range files_by_path {
- tgt_path := filepath.Join(catalog_root, catspec.catrel, catspec.arch,
- shortenOsrel(catspec.osrel), path)
- if link.link_type == Hardlink {
- src_path := filepath.Join(catalog_root, "allpkgs", path)
- if !dry_run {
- if err := syscall.Link(src_path, tgt_path); err != nil {
- log.Fatalf("Could not create hardlink from %v to %v: %v",
- src_path, tgt_path, err)
- }
- }
- log.Printf("ln \"%s\"\n \"%s\"\n", src_path, tgt_path)
- changes_made = true
- } else if link.link_type == Symlink {
- // The source path is relative to the target, because it's a symlink
- src_path := *(link.target)
- if !dry_run {
- if err := syscall.Symlink(src_path, tgt_path); err != nil {
- log.Fatalf("Could not symlink %v to %v: %v", src_path, tgt_path, err)
- }
- }
- log.Printf("ln -s \"%s\"\n \"%s\"\n", src_path, tgt_path)
- changes_made = true
- } else {
- log.Fatalln("Zonk! Wrong link type in %+v", link)
- }
- }
- }
-
- for catspec, files_by_path := range *files_to_remove {
- for path, _ := range files_by_path {
- pkg_path := filepath.Join(catalog_root, catspec.catrel, catspec.arch,
- shortenOsrel(catspec.osrel), path)
- if !dry_run {
- if err:= syscall.Unlink(pkg_path); err != nil {
- log.Fatalf("Could not unlink %v: %v", pkg_path, err)
- }
- }
- log.Printf("rm \"%s\"\n", pkg_path)
- changes_made = true
- }
- }
- return changes_made
-}
-
-func FormatCatalogFilePath(root_path string, catspec CatalogSpec,
- filename string) string {
- return filepath.Join(root_path, catspec.catrel,
- catspec.arch, shortenOsrel(catspec.osrel),
- filename)
-}
-
-func GetCatalogFromIndexFile(catalog_root string,
- catspec CatalogSpec) (*CatalogWithSpec, error) {
- pkgs := make(Catalog, 0)
- // Read the descriptions first, and build a map so that descriptions can be
- // easily accessed when parsing the catalog file.
- desc_file_path := FormatCatalogFilePath(catalog_root, catspec, "descriptions")
- catalog_file_path := FormatCatalogFilePath(catalog_root, catspec, "catalog")
- desc_by_catalogname := make(map[string]string)
- desc_file, err := os.Open(desc_file_path)
- if err != nil {
- // Missing file is equivalent to an empty catalog.
- return &CatalogWithSpec{catspec, pkgs}, nil
- }
- defer desc_file.Close()
- desc_scanner := bufio.NewScanner(desc_file)
- for desc_scanner.Scan() {
- fields := strings.SplitN(desc_scanner.Text(), " ", 3)
- if len(fields) < 3 {
- log.Println("Could not parse description line:", fields)
- continue
- }
- catalogname := fields[0]
- description := fields[2]
- desc_by_catalogname[catalogname] = description
- }
-
- cat_file, err := os.Open(catalog_file_path)
- if err != nil {
- // Missing catalog file is equivalent to an empty file
- return &CatalogWithSpec{catspec, pkgs}, nil
- }
- defer cat_file.Close()
-
- scanner := bufio.NewScanner(cat_file)
- for scanner.Scan() {
- fields := strings.Fields(scanner.Text())
- if len(fields) != 9 {
- // Line does not conform, ignoring. It's a GPG signature line, or an
- // empty line, or something else.
- continue
- }
- catalogname := fields[0]
- desc, ok := desc_by_catalogname[catalogname]
- if !ok {
- log.Fatalln("Did not find description for", catalogname)
- }
- size, err := strconv.ParseUint(fields[5], 10, 32)
- if err != nil {
- log.Fatalln("Could not parse size")
- }
- if size <= 0 {
- log.Fatalln("Package size must be > 0:", fields[5])
- }
- deps := ParseCatalogFormatPkginstList(fields[6])
- i_deps := ParseCatalogFormatPkginstList(fields[8])
- pkg := PkgInCatalog{
- catalogname,
- fields[1],
- fields[2],
- fields[3],
- fields[4],
- size,
- deps,
- fields[7],
- i_deps,
- desc,
- }
- pkgs = append(pkgs, pkg)
- }
- if err := scanner.Err(); err != nil {
- log.Fatalf("Error reading %v: %v", catalog_file_path, err)
- }
- log.Println("Catalog index found:", catspec, "and", len(pkgs), "pkgs")
- cws := MakeCatalogWithSpec(catspec, pkgs)
- return &cws, nil
-}
-
-func GetCatalogIndexes(catspecs CatalogSpecs,
- root_dir string) []CatalogWithSpec {
- // Read all catalog files and parse them.
- catalogs := make([]CatalogWithSpec, 0)
- for _, catspec := range catspecs {
- catalog, err := GetCatalogFromIndexFile(root_dir, catspec)
- if err != nil {
- log.Fatalln("Could not get the index file of", catspec, "in",
- root_dir, "error:", err)
- }
- catalogs = append(catalogs, *catalog)
- }
- return catalogs
-}
-
-// Struct to hold information about catalog comparisons
-type catalogPair struct {
- c1 CatalogWithSpec
- c2 CatalogWithSpec
-}
-
-func GroupCatalogsBySpec(c1, c2 []CatalogWithSpec) (*map[CatalogSpec]catalogPair) {
- pairs_by_spec := make(map[CatalogSpec]catalogPair)
- for _, cws := range c1 {
- pairs_by_spec[cws.spec] = catalogPair{cws, CatalogWithSpec{}}
- }
- for _, cws := range c2 {
- if pair, ok := pairs_by_spec[cws.spec]; ok {
- pair.c2 = cws
- pairs_by_spec[cws.spec] = pair
- } else {
- log.Println("Did not find", cws.spec, "in c2")
- }
- }
- return &pairs_by_spec
-}
-
-func MassCompareCatalogs(c1, c2 []CatalogWithSpec) (*map[CatalogSpec]bool) {
- diff_detected := make(map[CatalogSpec]bool)
-
- pairs_by_spec := GroupCatalogsBySpec(c1, c2)
-
- // The catalog disk/db pairs are ready to be compared.
- for spec, pair := range *pairs_by_spec {
- diff_detected[spec] = false
- // DeepEqual could do it, but it is too crude; doesn't provide details
- // This code can probably be simplified.
- catalognames := make(map[string]bool)
- c1_by_catn := make(map[string]PkgInCatalog)
- c2_by_catn := make(map[string]PkgInCatalog)
- if len(pair.c1.pkgs) != len(pair.c2.pkgs) {
- log.Printf("%v: %v vs %v are different length\n",
- spec, len(pair.c1.pkgs), len(pair.c2.pkgs))
- diff_detected[spec] = true
- continue
- }
- for _, pkg := range pair.c1.pkgs {
- catalognames[pkg.Catalogname] = true
- c1_by_catn[pkg.Catalogname] = pkg
- }
- for _, pkg := range pair.c2.pkgs {
- catalognames[pkg.Catalogname] = true
- c2_by_catn[pkg.Catalogname] = pkg
- }
- for catalogname, _ := range catalognames {
- pkg_disk, ok := c1_by_catn[catalogname]
- if ok {
- pkg_db, ok := c2_by_catn[catalogname]
- if ok {
- // This comparison method is a bit silly. But we can't simply compare
- // the structs, because they contain slices, and slices are not
- // comparable.
- if pkg_db.FormatCatalogIndexLine() != pkg_disk.FormatCatalogIndexLine() {
- log.Printf("different in %v: %v %v vs %v, enough to trigger " +
- "catalog index generation\n", spec, pkg_db.Filename,
- pkg_db.Md5_sum, pkg_disk.Md5_sum)
- diff_detected[spec] = true
- break
- }
- } else {
- log.Printf("different in %v: %v not found in c2\n", spec, catalogname)
- diff_detected[spec] = true
- break
- }
- } else {
- log.Printf("different in %v: %v not found in c1\n", spec, catalogname)
- diff_detected[spec] = true
- break
- }
- }
- }
-
- return &diff_detected
-}
-
-func GenerateCatalogIndexFile(catalog_root string,
- cws CatalogWithSpec) {
- log.Printf("GenerateCatalogIndexFile(%v, %v)\n", catalog_root, cws.spec)
- catalog_file_path := FormatCatalogFilePath(catalog_root, cws.spec, "catalog")
- desc_file_path := FormatCatalogFilePath(catalog_root, cws.spec, "descriptions")
-
- defer func() {
- // If there's a "catalog.gz" here, remove it. It will be recreated later by
- // the shell script which signs catalogs.
- gzip_catalog := catalog_file_path + ".gz";
- if err := os.Remove(gzip_catalog); err != nil {
- log.Println("Not removed", gzip_catalog, "error was", err)
- } else {
- log.Println(gzip_catalog, "was removed")
- }
- }()
-
- // If there are no files in the catalog, simply remove the catalog files.
- if len(cws.pkgs) <= 0 {
- for _, filename := range []string{catalog_file_path, desc_file_path} {
- // If the files are missing, that's okay
- if err := os.Remove(filename); err != nil {
- if err != syscall.ENOENT {
- log.Println("Could not remove", filename, "error:", err)
- }
- } else {
- log.Println("Removed", filename, "because the", cws.spec,
- "catalog is empty")
- }
- }
- return
- }
-
- var catbuf *bufio.Writer
- var descbuf *bufio.Writer
-
- if !dry_run {
- catalog_fd, err := os.Create(catalog_file_path)
- if err != nil {
- log.Fatalln("Could not open", catalog_file_path, "for writing:", err)
- }
- defer catalog_fd.Close()
-
- catbuf = bufio.NewWriter(catalog_fd)
- defer catbuf.Flush()
-
- desc_fd, err := os.Create(desc_file_path)
- if err != nil {
- log.Fatalln("Could not open", desc_file_path, "for writing:", err)
- }
- defer desc_fd.Close()
-
- descbuf = bufio.NewWriter(desc_fd)
- defer descbuf.Flush()
- } else {
- log.Println("Dry run: printing catalog to stdout")
- catbuf = bufio.NewWriter(os.Stdout)
- defer catbuf.Flush()
- descbuf = bufio.NewWriter(os.Stdout)
- defer descbuf.Flush()
- }
-
- // http://www.opencsw.org/manual/for-maintainers/catalog-format.html
- ts_line := fmt.Sprintf("# CREATIONDATE %s\n", time.Now().Format(time.RFC3339))
- catbuf.WriteString(ts_line)
-
- for _, pkg := range cws.pkgs {
- catbuf.WriteString(pkg.FormatCatalogIndexLine())
- catbuf.WriteString("\n")
- descbuf.WriteString(pkg.FormatDescriptionLine())
- descbuf.WriteString("\n")
- }
-}
-
-func GenerateCatalogRelease(catrel string, catalog_root string) {
- log.Println("catrel:", catrel)
- log.Println("catalog_root:", catalog_root)
-
- all_catspecs, err := GetCatalogSpecs()
- if err != nil {
- log.Panicln("Could not get the catalog spec list")
- }
- // Because of memory constraints, we're only processing 1 catalog in one run
- catspecs := filterCatspecs(all_catspecs, catrel_flag)
-
- // The plan:
- // 1. build a data structure representing all the hardlinks and symlinks
- // based on the catalogs
-
- catalog_ch := make(chan []CatalogWithSpec)
- go GetCatalogsFromREST(catalog_ch, catspecs)
- files_from_db_chan := make(chan *FilesOfCatalog)
- go GetFilesOfCatalogFromDatabase(files_from_db_chan, catrel, catalog_ch)
-
- // 2. build a data structure based on the contents of the disk
- // it should be done in parallel
- files_from_disk_chan := make(chan *FilesOfCatalog)
- go GetFilesOfCatalogFromDisk(files_from_disk_chan, catalog_root, catrel)
-
- // 3. Retrieve results
- files_by_catspec_disk := <-files_from_disk_chan
- files_by_catspec_db := <-files_from_db_chan
-
- // 4. compare, generate a list of operations to perform
-
- log.Println("Calculating the difference")
- files_to_add := FilesOfCatalogDiff(files_by_catspec_db,
- files_by_catspec_disk)
- files_to_remove := FilesOfCatalogDiff(files_by_catspec_disk,
- files_by_catspec_db)
-
- // 5. perform these operations
- // ...or save a disk file with instructions.
- if dry_run {
- log.Println("Dry run, only logging operations that would have been made.")
- } else {
- log.Println("Applying link/unlink operations to disk")
- }
- changes_made := UpdateDisk(files_to_add, files_to_remove, catalog_root)
- if !changes_made {
- if dry_run {
- log.Println("It was a dry run, but there would not have been any " +
- "link/unlink operations performed anyway")
- } else {
- log.Println("There were no link/unlink operations to perform")
- }
- }
-
- // 6. Generate the catalog index files
- // Are the current files up to date? Just that we modified linked/unlinked
- // files on disk doesn't mean the catalog file needs to be updated.
-
- // Getting the content of catalog index files
- catalogs_idx_on_disk := GetCatalogIndexes(catspecs, catalog_root)
- catalogs_in_db := <-catalog_ch
-
- diff_flag_by_spec := MassCompareCatalogs(catalogs_in_db, catalogs_idx_on_disk)
- log.Println(*diff_flag_by_spec)
-
- var wg sync.WaitGroup
- for _, cws := range catalogs_in_db {
- diff_present, ok := (*diff_flag_by_spec)[cws.spec]
- if !ok { continue }
- if diff_present {
- wg.Add(1)
- go func(catalog_root string, cws CatalogWithSpec) {
- defer wg.Done()
- GenerateCatalogIndexFile(catalog_root, cws)
- }(catalog_root, cws)
- } else {
- log.Println("Not regenerating", cws.spec,
- "because catalog contents on disk and in the database " +
- "is the same.")
- }
- }
- wg.Wait()
-
- // This utility needs to be run for each catalog release, but different
- // catalog releases can be done concurrently.
-
- // This utility could be rewritten to regenerate all the catalogs in a single
- // run at the cost of using more RAM.
-}
-
-// Command line flags
-var catrel_flag string
-var catalog_root_flag string
-var pkgdb_url string
-var dry_run bool
-func init() {
- flag.StringVar(&catrel_flag, "catalog-release", "unstable",
- "e.g. unstable, bratislava, kiel, dublin")
- flag.StringVar(&catalog_root_flag, "catalog-root",
- "/export/mirror/opencsw",
- "Directory where all the catalogs live, and allpkgs is")
- flag.StringVar(&pkgdb_url, "pkgdb-url",
- "http://buildfarm.opencsw.org/pkgdb/rest",
- "Web address of the pkgdb app.")
- flag.BoolVar(&dry_run, "dry-run", false,
- "Dry run mode, no changes on disk are made")
-}
-
-func main() {
- flag.Parse()
- GenerateCatalogRelease(catrel_flag, catalog_root_flag)
-
- // Let's generate the catalog index too. And the description file. We've
- // already got all the necessary data. We also know whether we actually need
- // to generate a new catalog: when there were any operations to be made on
- // disk.
-}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 23 15:21:00 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 23 Mar 2014 14:21:00 +0000
Subject: SF.net SVN: gar:[23269] csw/mgar/gar/v2/go/src
Message-ID: <3fsLWc2BGzz1Jl@mail.opencsw.org>
Revision: 23269
http://sourceforge.net/p/gar/code/23269
Author: wahwah
Date: 2014-03-23 14:21:00 +0000 (Sun, 23 Mar 2014)
Log Message:
-----------
cat-gen: Moved functionality to a package
First steps to split the code in smaller chunks.
Modified Paths:
--------------
csw/mgar/gar/v2/go/src/catalog-release-to-disk/catalog-release-to-disk.go
Added Paths:
-----------
csw/mgar/gar/v2/go/src/opencsw/
csw/mgar/gar/v2/go/src/opencsw/diskformat/
csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go
Modified: csw/mgar/gar/v2/go/src/catalog-release-to-disk/catalog-release-to-disk.go
===================================================================
--- csw/mgar/gar/v2/go/src/catalog-release-to-disk/catalog-release-to-disk.go 2014-03-23 14:20:51 UTC (rev 23268)
+++ csw/mgar/gar/v2/go/src/catalog-release-to-disk/catalog-release-to-disk.go 2014-03-23 14:21:00 UTC (rev 23269)
@@ -11,876 +11,27 @@
package main
import (
- "bufio"
- "encoding/json"
- "errors"
"flag"
- "fmt"
- "log"
- "net/http"
- "os"
- "path"
- "path/filepath"
- "sort"
- "strconv"
- "strings"
- "sync"
- "syscall"
- "time"
+ "opencsw/diskformat"
)
-// 3 strings that define a specific catalog
-type CatalogSpec struct {
- catrel string
- arch string
- osrel string
-}
-
-func longOsrelAsInt(long_osrel string) int64 {
- short_osrel := shortenOsrel(long_osrel)
- fields := strings.Split(short_osrel, ".")
- if len(fields) < 2 {
- log.Fatalf("Error: %v does not conform to SunOS5.X\n", long_osrel)
- }
- sunos_version, err := strconv.ParseInt(fields[1], 10, 32)
- if err != nil {
- log.Fatalf("Could not parse %v as int\n", fields[1])
- }
- return sunos_version
-}
-// We want to order catalog specs by OS release, so we can go from the oldest
-// Solaris releases to the newest.
-type CatalogSpecs []CatalogSpec
-func (cs CatalogSpecs) Len() int { return len(cs) }
-func (cs CatalogSpecs) Swap(i, j int) { cs[i], cs[j] = cs[j], cs[i] }
-func (cs CatalogSpecs) Less(i, j int) bool {
- // Ordering by: 1. catrel, 2. arch, 3. osrel
- if cs[i].catrel != cs[j].catrel {
- return cs[i].catrel < cs[j].catrel
- }
- if cs[i].arch != cs[j].arch {
- return cs[i].arch < cs[j].arch
- }
- i_as_n := longOsrelAsInt(cs[i].osrel)
- j_as_n := longOsrelAsInt(cs[j].osrel)
- return i_as_n < j_as_n
-}
-
-type PkginstSlice []string
-
-func (p *PkginstSlice) FormatForIndexFile() string {
- if len(*p) <= 0 {
- return "none"
- }
- return strings.Join(*p, "|")
-}
-
-// A line in the catalog file; plus the extra description field
-type PkgInCatalog struct {
- Catalogname string `json:"catalogname"`
- Version string `json:"version"`
- Pkginst string `json:"pkgname"`
- Filename string `json:"basename"`
- Md5_sum string `json:"md5_sum"`
- Size uint64 `json:"size"`
- Depends PkginstSlice `json:"deps"`
- Category string `json:"category"`
- I_depends PkginstSlice `json:"i_deps"`
- Description string `json:"desc"`
-}
-
-func (p *PkgInCatalog) FormatCatalogIndexLine() string {
- lst := []string{
- p.Catalogname,
- p.Version,
- p.Pkginst,
- p.Filename,
- p.Md5_sum,
- fmt.Sprintf("%v", p.Size),
- p.Depends.FormatForIndexFile(),
- p.Category,
- p.I_depends.FormatForIndexFile(),
- }
- return strings.Join(lst, " ")
-}
-
-func (p *PkgInCatalog) FormatDescriptionLine() string {
- lst := []string{ p.Catalogname, "-", p.Description, }
- return strings.Join(lst, " ")
-}
-
-type Catalog []PkgInCatalog
-
-type CatalogWithSpec struct {
- spec CatalogSpec
- pkgs Catalog
-}
-
-const (
- Symlink = iota
- Hardlink
-)
-
-type LinkOnDisk struct {
- file_name string
- link_type int
- target *string
-}
-
-func ParseCatalogFormatPkginstList(s string) []string {
- if s == "none" {
- slice := make(PkginstSlice, 0)
- return slice
- }
- return strings.Split(s, "|")
-}
-
-func (self *PkginstSlice) UnmarshalJSON(data []byte) error {
- var foo string
- err := json.Unmarshal(data, &foo)
- if err != nil {
- return err
- }
- *self = ParseCatalogFormatPkginstList(foo)
- return nil
-}
-
-// Our REST interface returns catspecs as lists, so let's have a common
-// function to construct catspec structs from lists.
-func MakeCatalogSpec(lst []string) (CatalogSpec, error) {
- var catspec CatalogSpec
- if len(lst) != 3 {
- return catspec, errors.New("Array of length 3 is needed.")
- }
- // We already have this in the unmarshal bit.
- catspec.catrel = lst[2]
- catspec.arch = lst[1]
- catspec.osrel = lst[0]
- return catspec, nil
-}
-
-func MakeCatalogWithSpec(catspec CatalogSpec, pkgs Catalog) CatalogWithSpec {
- var cws CatalogWithSpec
- cws.spec = catspec
- cws.pkgs = pkgs
- return cws
-}
-
-func NewPkgInCatalog(lst []string) (*PkgInCatalog, error) {
- size, err := strconv.ParseUint(lst[5], 10, 64)
- if err != nil {
- return nil, err
- }
- if size <= 0 {
- return nil, fmt.Errorf(
- "Package size must be greater than 0: %v in %v", lst[5], lst)
- }
-
- depends := make([]string, 0)
- if lst[6] != "none" {
- depends = strings.Split(lst[6], "|")
- }
-
- i_depends := make([]string, 0)
- if lst[8] != "none" {
- i_depends = strings.Split(lst[8], "|")
- }
-
- var pkg PkgInCatalog
- pkg.Catalogname = lst[0]
- pkg.Version = lst[1]
- pkg.Pkginst = lst[2]
- pkg.Filename = lst[3]
- pkg.Md5_sum = lst[4]
- pkg.Size = size
- pkg.Depends = depends
- pkg.Category = lst[7]
- pkg.I_depends = i_depends
- pkg.Description = lst[9]
- return &pkg, nil
-}
-
-func (self *CatalogSpec) UnmarshalJSON(data []byte) error {
- var slice []string
- err := json.Unmarshal(data, &slice)
- if err != nil {
- return err
- }
- if len(slice) != 3 {
- return fmt.Errorf("%+v is wrong length, should be 3", slice)
- }
- self.catrel = slice[2]
- self.arch = slice[1]
- self.osrel = slice[0]
- return nil
-}
-
-func GetCatalogSpecs() (CatalogSpecs, error) {
- url := fmt.Sprintf("%s/catalogs/", pkgdb_url)
- resp, err := http.Get(url)
- if err != nil {
- return nil, err
- }
- defer resp.Body.Close()
-
- catspecs := make(CatalogSpecs, 0)
- dec := json.NewDecoder(resp.Body)
- if err := dec.Decode(&catspecs); err != nil {
- log.Println("Failed to decode JSON from", url)
- return nil, err
- }
-
- if len(catspecs) <= 0 {
- return nil, fmt.Errorf("Retrieved 0 catalogs")
- }
-
- log.Println("GetCatalogSpecs returns", len(catspecs), "catalogs from", url)
- return catspecs, nil
-}
-
-func GetCatalogWithSpec(catspec CatalogSpec) (CatalogWithSpec, error) {
- url := fmt.Sprintf("%s/catalogs/%s/%s/%s/for-generation/as-dicts/",
- pkgdb_url, catspec.catrel, catspec.arch, catspec.osrel)
- log.Println("Making a request to", url)
- resp, err := http.Get(url)
- if err != nil {
- log.Panicln("Could not retrieve the catalog list.", err)
- return CatalogWithSpec{}, err
- }
- defer resp.Body.Close()
-
- var pkgs Catalog
- dec := json.NewDecoder(resp.Body)
- if err := dec.Decode(&pkgs); err != nil {
- log.Println("Failed to decode JSON output from", url, ":", err)
- return CatalogWithSpec{}, err
- }
-
- log.Println("Retrieved", catspec, "with", len(pkgs), "packages")
-
- cws := MakeCatalogWithSpec(catspec, pkgs)
- return cws, nil
-}
-
-func filterCatspecs(all_catspecs CatalogSpecs, catrel string) CatalogSpecs {
- catspecs := make(CatalogSpecs, 0)
- for _, catspec := range all_catspecs {
- if catspec.catrel == catrel {
- catspecs = append(catspecs, catspec)
- }
- }
- return catspecs
-}
-
-func shortenOsrel(longosrel string) string {
- return strings.Replace(longosrel, "SunOS", "", -1)
-}
-
-func longOsrel(shortosrel string) string {
- if strings.HasPrefix(shortosrel, "SunOS") {
- return shortosrel
- } else {
- return fmt.Sprintf("SunOS%s", shortosrel)
- }
-}
-
-// Defines layout of files on disk. Can be built from the database or from
-// disk.
-type FilesOfCatalog map[CatalogSpec]map[string]LinkOnDisk
-
-func GetCatalogsFromREST(catalogs_ch chan []CatalogWithSpec, catspecs CatalogSpecs) {
- catalogs := make([]CatalogWithSpec, 0)
- var wg sync.WaitGroup
- type fetchResult struct {cws CatalogWithSpec; err error }
- ch := make(chan fetchResult)
- for _, catspec := range catspecs {
- wg.Add(1)
- go func(catspec CatalogSpec) {
- defer wg.Done()
- catalog_with_spec, err := GetCatalogWithSpec(catspec)
- if err != nil {
- log.Println(err)
- ch <- fetchResult{CatalogWithSpec{}, err}
- }
- ch <- fetchResult{catalog_with_spec, nil}
- }(catspec)
- }
- // The channel will be closed when all fetches are done. We can process
- // available results in the meantime.
- go func() { wg.Wait(); close(ch) }()
-
- for {
- if result, ok := <-ch; !ok {
- // Channel has been closed; no more results to process.
- break
- } else if result.err != nil {
- log.Fatalln("Catalog fetch failed:", result.err,
- "We don't want to continue, because this could result in " +
- "wiping an existing catalog from disk because of an " +
- "intermittent network issue.")
- } else {
- catalogs = append(catalogs, result.cws)
- }
- }
- // We have 2 places that read this data.
- catalogs_ch <- catalogs
- catalogs_ch <- catalogs
-}
-
-func GetFilesOfCatalogFromDatabase(files_from_db_chan chan *FilesOfCatalog,
- catrel string, catalog_ch chan []CatalogWithSpec) {
- catalogs := <-catalog_ch
- catalogs_by_spec := make(map[CatalogSpec]CatalogWithSpec)
- catspecs := make(CatalogSpecs, 0)
- for _, cws := range catalogs {
- catalogs_by_spec[cws.spec] = cws
- catspecs = append(catspecs, cws.spec)
- }
- files_by_catspec := make(FilesOfCatalog)
- // We must traverse catalogs in sorted order, e.g. Solaris 9 before Solaris 10.
- sort.Sort(catspecs)
- visited_catalogs := make(map[CatalogSpec]CatalogSpecs)
- for _, catspec := range catspecs {
- // Used to group catalogs we can symlink from
- compatible_catspec := CatalogSpec{catspec.catrel, catspec.arch, "none"}
- pkgs := catalogs_by_spec[catspec].pkgs
- for _, pkg := range pkgs {
- if _, ok := files_by_catspec[catspec]; !ok {
- files_by_catspec[catspec] = make(map[string]LinkOnDisk)
- }
- var target string
- var exists_already bool
- // var exists_in_cat CatalogSpec
- // Does this path already exist? If so, we'll add a symlink.
- // Looking back at previous osrels
- if visited_compatible, ok := visited_catalogs[compatible_catspec]; ok {
- // We need to iterate in reverse order, from the newest to the oldest
- // Solaris versions.
- for i := len(visited_compatible) - 1; i >= 0; i-- {
- cand_catspec := visited_compatible[i]
- if _, ok := files_by_catspec[cand_catspec]; ok {
- if _, ok := files_by_catspec[cand_catspec][pkg.Filename]; ok {
- exists_already = true
- target = fmt.Sprintf("../%s/%s",
- shortenOsrel(cand_catspec.osrel),
- pkg.Filename)
- break
- }
- }
- }
- }
- var link LinkOnDisk
- if exists_already {
- link = LinkOnDisk{pkg.Filename, Symlink, &target}
- } else {
- link = LinkOnDisk{pkg.Filename, Hardlink, nil}
- }
- files_by_catspec[catspec][pkg.Filename] = link
- }
- if _, ok := visited_catalogs[compatible_catspec]; !ok {
- visited_catalogs[compatible_catspec] = make(CatalogSpecs, 0)
- }
- visited_catalogs[compatible_catspec] = append(visited_catalogs[compatible_catspec], catspec)
- }
- files_from_db_chan <- &files_by_catspec
-}
-
-func GetFilesOfCatalogFromDisk(files_from_disk_chan chan *FilesOfCatalog, root_path string,
- catrel string) {
- files_by_catspec := make(FilesOfCatalog)
- path_to_scan := path.Join(root_path, catrel)
- err := filepath.Walk(path_to_scan,
- func(path string, f os.FileInfo, err error) error {
- if err != nil {
- return err
- }
- if f.Mode() & os.ModeDir > 0 {
- // We're ignoring directories.
- return nil
- }
- rel_path := strings.TrimPrefix(path, path_to_scan + "/")
- fields := strings.Split(rel_path, "/")
- if len(fields) != 3 {
- log.Println("Wrong path found:", fields)
- }
- arch := fields[0]
- osrel := longOsrel(fields[1])
- basename := fields[2]
- catspec := CatalogSpec{catrel, arch, osrel}
- // Figuring out the file type: hardlink/symlink
- var link LinkOnDisk
- if !(strings.HasSuffix(basename, ".pkg.gz") ||
- strings.HasSuffix(basename, ".pkg")) {
- // Not a package, won't be processed. This means the file won't be
- // removed if not in the database.
- return nil
- }
- if f.Mode().IsRegular() {
- link = LinkOnDisk{basename, Hardlink, nil}
- } else if f.Mode() & os.ModeSymlink > 0 {
- target, err := os.Readlink(path)
- if err != nil {
- log.Printf("Reading link of %v failed: %v\n", path, err)
- } else {
- link = LinkOnDisk{basename, Symlink, &target}
- }
- } else {
- log.Println(path, "Is not a hardlink or a symlink. What is it then? Ignoring.")
- }
- if _, ok := files_by_catspec[catspec]; !ok {
- files_by_catspec[catspec] = make(map[string]LinkOnDisk)
- }
- files_by_catspec[catspec][basename] = link
- return nil
- })
- if err != nil {
- log.Fatalf("filepath.Walk() failed with: %v\n", err)
- }
- files_from_disk_chan <- &files_by_catspec
-}
-
-func FilesOfCatalogDiff(base_files *FilesOfCatalog,
- to_substract *FilesOfCatalog) *FilesOfCatalog {
- left_in_base := make(FilesOfCatalog)
- for catspec, filemap := range *base_files {
- for path, link := range filemap {
- // Is it in the database?
- in_db := false
- if files_db, ok := (*to_substract)[catspec]; ok {
- if _, ok := files_db[path]; ok {
- in_db = true
- }
- }
- if !in_db {
- if _, ok := left_in_base[catspec]; !ok {
- left_in_base[catspec] = make(map[string]LinkOnDisk)
- }
- left_in_base[catspec][path] = link
- }
- }
- }
- return &left_in_base
-}
-
-// Returns true if there were any operations performed
-func UpdateDisk(files_to_add *FilesOfCatalog,
- files_to_remove *FilesOfCatalog,
- catalog_root string) bool {
- changes_made := false
-
- for catspec, files_by_path := range *files_to_add {
- for path, link := range files_by_path {
- tgt_path := filepath.Join(catalog_root, catspec.catrel, catspec.arch,
- shortenOsrel(catspec.osrel), path)
- if link.link_type == Hardlink {
- src_path := filepath.Join(catalog_root, "allpkgs", path)
- if !dry_run {
- if err := syscall.Link(src_path, tgt_path); err != nil {
- log.Fatalf("Could not create hardlink from %v to %v: %v",
- src_path, tgt_path, err)
- }
- }
- log.Printf("ln \"%s\"\n \"%s\"\n", src_path, tgt_path)
- changes_made = true
- } else if link.link_type == Symlink {
- // The source path is relative to the target, because it's a symlink
- src_path := *(link.target)
- if !dry_run {
- if err := syscall.Symlink(src_path, tgt_path); err != nil {
- log.Fatalf("Could not symlink %v to %v: %v", src_path, tgt_path, err)
- }
- }
- log.Printf("ln -s \"%s\"\n \"%s\"\n", src_path, tgt_path)
- changes_made = true
- } else {
- log.Fatalln("Zonk! Wrong link type in %+v", link)
- }
- }
- }
-
- for catspec, files_by_path := range *files_to_remove {
- for path, _ := range files_by_path {
- pkg_path := filepath.Join(catalog_root, catspec.catrel, catspec.arch,
- shortenOsrel(catspec.osrel), path)
- if !dry_run {
- if err:= syscall.Unlink(pkg_path); err != nil {
- log.Fatalf("Could not unlink %v: %v", pkg_path, err)
- }
- }
- log.Printf("rm \"%s\"\n", pkg_path)
- changes_made = true
- }
- }
- return changes_made
-}
-
-func FormatCatalogFilePath(root_path string, catspec CatalogSpec,
- filename string) string {
- return filepath.Join(root_path, catspec.catrel,
- catspec.arch, shortenOsrel(catspec.osrel),
- filename)
-}
-
-func GetCatalogFromIndexFile(catalog_root string,
- catspec CatalogSpec) (*CatalogWithSpec, error) {
- pkgs := make(Catalog, 0)
- // Read the descriptions first, and build a map so that descriptions can be
- // easily accessed when parsing the catalog file.
- desc_file_path := FormatCatalogFilePath(catalog_root, catspec, "descriptions")
- catalog_file_path := FormatCatalogFilePath(catalog_root, catspec, "catalog")
- desc_by_catalogname := make(map[string]string)
- desc_file, err := os.Open(desc_file_path)
- if err != nil {
- // Missing file is equivalent to an empty catalog.
- return &CatalogWithSpec{catspec, pkgs}, nil
- }
- defer desc_file.Close()
- desc_scanner := bufio.NewScanner(desc_file)
- for desc_scanner.Scan() {
- fields := strings.SplitN(desc_scanner.Text(), " ", 3)
- if len(fields) < 3 {
- log.Println("Could not parse description line:", fields)
- continue
- }
- catalogname := fields[0]
- description := fields[2]
- desc_by_catalogname[catalogname] = description
- }
-
- cat_file, err := os.Open(catalog_file_path)
- if err != nil {
- // Missing catalog file is equivalent to an empty file
- return &CatalogWithSpec{catspec, pkgs}, nil
- }
- defer cat_file.Close()
-
- scanner := bufio.NewScanner(cat_file)
- for scanner.Scan() {
- fields := strings.Fields(scanner.Text())
- if len(fields) != 9 {
- // Line does not conform, ignoring. It's a GPG signature line, or an
- // empty line, or something else.
- continue
- }
- catalogname := fields[0]
- desc, ok := desc_by_catalogname[catalogname]
- if !ok {
- log.Fatalln("Did not find description for", catalogname)
- }
- size, err := strconv.ParseUint(fields[5], 10, 32)
- if err != nil {
- log.Fatalln("Could not parse size")
- }
- if size <= 0 {
- log.Fatalln("Package size must be > 0:", fields[5])
- }
- deps := ParseCatalogFormatPkginstList(fields[6])
- i_deps := ParseCatalogFormatPkginstList(fields[8])
- pkg := PkgInCatalog{
- catalogname,
- fields[1],
- fields[2],
- fields[3],
- fields[4],
- size,
- deps,
- fields[7],
- i_deps,
- desc,
- }
- pkgs = append(pkgs, pkg)
- }
- if err := scanner.Err(); err != nil {
- log.Fatalf("Error reading %v: %v", catalog_file_path, err)
- }
- log.Println("Catalog index found:", catspec, "and", len(pkgs), "pkgs")
- cws := MakeCatalogWithSpec(catspec, pkgs)
- return &cws, nil
-}
-
-func GetCatalogIndexes(catspecs CatalogSpecs,
- root_dir string) []CatalogWithSpec {
- // Read all catalog files and parse them.
- catalogs := make([]CatalogWithSpec, 0)
- for _, catspec := range catspecs {
- catalog, err := GetCatalogFromIndexFile(root_dir, catspec)
- if err != nil {
- log.Fatalln("Could not get the index file of", catspec, "in",
- root_dir, "error:", err)
- }
- catalogs = append(catalogs, *catalog)
- }
- return catalogs
-}
-
-// Struct to hold information about catalog comparisons
-type catalogPair struct {
- c1 CatalogWithSpec
- c2 CatalogWithSpec
-}
-
-func GroupCatalogsBySpec(c1, c2 []CatalogWithSpec) (*map[CatalogSpec]catalogPair) {
- pairs_by_spec := make(map[CatalogSpec]catalogPair)
- for _, cws := range c1 {
- pairs_by_spec[cws.spec] = catalogPair{cws, CatalogWithSpec{}}
- }
- for _, cws := range c2 {
- if pair, ok := pairs_by_spec[cws.spec]; ok {
- pair.c2 = cws
- pairs_by_spec[cws.spec] = pair
- } else {
- log.Println("Did not find", cws.spec, "in c2")
- }
- }
- return &pairs_by_spec
-}
-
-func MassCompareCatalogs(c1, c2 []CatalogWithSpec) (*map[CatalogSpec]bool) {
- diff_detected := make(map[CatalogSpec]bool)
-
- pairs_by_spec := GroupCatalogsBySpec(c1, c2)
-
- // The catalog disk/db pairs are ready to be compared.
- for spec, pair := range *pairs_by_spec {
- diff_detected[spec] = false
- // DeepEqual could do it, but it is too crude; doesn't provide details
- // This code can probably be simplified.
- catalognames := make(map[string]bool)
- c1_by_catn := make(map[string]PkgInCatalog)
- c2_by_catn := make(map[string]PkgInCatalog)
- if len(pair.c1.pkgs) != len(pair.c2.pkgs) {
- log.Printf("%v: %v vs %v are different length\n",
- spec, len(pair.c1.pkgs), len(pair.c2.pkgs))
- diff_detected[spec] = true
- continue
- }
- for _, pkg := range pair.c1.pkgs {
- catalognames[pkg.Catalogname] = true
- c1_by_catn[pkg.Catalogname] = pkg
- }
- for _, pkg := range pair.c2.pkgs {
- catalognames[pkg.Catalogname] = true
- c2_by_catn[pkg.Catalogname] = pkg
- }
- for catalogname, _ := range catalognames {
- pkg_disk, ok := c1_by_catn[catalogname]
- if ok {
- pkg_db, ok := c2_by_catn[catalogname]
- if ok {
- // This comparison method is a bit silly. But we can't simply compare
- // the structs, because they contain slices, and slices are not
- // comparable.
- if pkg_db.FormatCatalogIndexLine() != pkg_disk.FormatCatalogIndexLine() {
- log.Printf("different in %v: %v %v vs %v, enough to trigger " +
- "catalog index generation\n", spec, pkg_db.Filename,
- pkg_db.Md5_sum, pkg_disk.Md5_sum)
- diff_detected[spec] = true
- break
- }
- } else {
- log.Printf("different in %v: %v not found in c2\n", spec, catalogname)
- diff_detected[spec] = true
- break
- }
- } else {
- log.Printf("different in %v: %v not found in c1\n", spec, catalogname)
- diff_detected[spec] = true
- break
- }
- }
- }
-
- return &diff_detected
-}
-
-func GenerateCatalogIndexFile(catalog_root string,
- cws CatalogWithSpec) {
- log.Printf("GenerateCatalogIndexFile(%v, %v)\n", catalog_root, cws.spec)
- catalog_file_path := FormatCatalogFilePath(catalog_root, cws.spec, "catalog")
- desc_file_path := FormatCatalogFilePath(catalog_root, cws.spec, "descriptions")
-
- defer func() {
- // If there's a "catalog.gz" here, remove it. It will be recreated later by
- // the shell script which signs catalogs.
- gzip_catalog := catalog_file_path + ".gz";
- if err := os.Remove(gzip_catalog); err != nil {
- log.Println("Not removed", gzip_catalog, "error was", err)
- } else {
- log.Println(gzip_catalog, "was removed")
- }
- }()
-
- // If there are no files in the catalog, simply remove the catalog files.
- if len(cws.pkgs) <= 0 {
- for _, filename := range []string{catalog_file_path, desc_file_path} {
- // If the files are missing, that's okay
- if err := os.Remove(filename); err != nil {
- if err != syscall.ENOENT {
- log.Println("Could not remove", filename, "error:", err)
- }
- } else {
- log.Println("Removed", filename, "because the", cws.spec,
- "catalog is empty")
- }
- }
- return
- }
-
- var catbuf *bufio.Writer
- var descbuf *bufio.Writer
-
- if !dry_run {
- catalog_fd, err := os.Create(catalog_file_path)
- if err != nil {
- log.Fatalln("Could not open", catalog_file_path, "for writing:", err)
- }
- defer catalog_fd.Close()
-
- catbuf = bufio.NewWriter(catalog_fd)
- defer catbuf.Flush()
-
- desc_fd, err := os.Create(desc_file_path)
- if err != nil {
- log.Fatalln("Could not open", desc_file_path, "for writing:", err)
- }
- defer desc_fd.Close()
-
- descbuf = bufio.NewWriter(desc_fd)
- defer descbuf.Flush()
- } else {
- log.Println("Dry run: printing catalog to stdout")
- catbuf = bufio.NewWriter(os.Stdout)
- defer catbuf.Flush()
- descbuf = bufio.NewWriter(os.Stdout)
- defer descbuf.Flush()
- }
-
- // http://www.opencsw.org/manual/for-maintainers/catalog-format.html
- ts_line := fmt.Sprintf("# CREATIONDATE %s\n", time.Now().Format(time.RFC3339))
- catbuf.WriteString(ts_line)
-
- for _, pkg := range cws.pkgs {
- catbuf.WriteString(pkg.FormatCatalogIndexLine())
- catbuf.WriteString("\n")
- descbuf.WriteString(pkg.FormatDescriptionLine())
- descbuf.WriteString("\n")
- }
-}
-
-func GenerateCatalogRelease(catrel string, catalog_root string) {
- log.Println("catrel:", catrel)
- log.Println("catalog_root:", catalog_root)
-
- all_catspecs, err := GetCatalogSpecs()
- if err != nil {
- log.Panicln("Could not get the catalog spec list")
- }
- // Because of memory constraints, we're only processing 1 catalog in one run
- catspecs := filterCatspecs(all_catspecs, catrel_flag)
-
- // The plan:
- // 1. build a data structure representing all the hardlinks and symlinks
- // based on the catalogs
-
- catalog_ch := make(chan []CatalogWithSpec)
- go GetCatalogsFromREST(catalog_ch, catspecs)
- files_from_db_chan := make(chan *FilesOfCatalog)
- go GetFilesOfCatalogFromDatabase(files_from_db_chan, catrel, catalog_ch)
-
- // 2. build a data structure based on the contents of the disk
- // it should be done in parallel
- files_from_disk_chan := make(chan *FilesOfCatalog)
- go GetFilesOfCatalogFromDisk(files_from_disk_chan, catalog_root, catrel)
-
- // 3. Retrieve results
- files_by_catspec_disk := <-files_from_disk_chan
- files_by_catspec_db := <-files_from_db_chan
-
- // 4. compare, generate a list of operations to perform
-
- log.Println("Calculating the difference")
- files_to_add := FilesOfCatalogDiff(files_by_catspec_db,
- files_by_catspec_disk)
- files_to_remove := FilesOfCatalogDiff(files_by_catspec_disk,
- files_by_catspec_db)
-
- // 5. perform these operations
- // ...or save a disk file with instructions.
- if dry_run {
- log.Println("Dry run, only logging operations that would have been made.")
- } else {
- log.Println("Applying link/unlink operations to disk")
- }
- changes_made := UpdateDisk(files_to_add, files_to_remove, catalog_root)
- if !changes_made {
- if dry_run {
- log.Println("It was a dry run, but there would not have been any " +
- "link/unlink operations performed anyway")
- } else {
- log.Println("There were no link/unlink operations to perform")
- }
- }
-
- // 6. Generate the catalog index files
- // Are the current files up to date? Just that we modified linked/unlinked
- // files on disk doesn't mean the catalog file needs to be updated.
-
- // Getting the content of catalog index files
- catalogs_idx_on_disk := GetCatalogIndexes(catspecs, catalog_root)
- catalogs_in_db := <-catalog_ch
-
- diff_flag_by_spec := MassCompareCatalogs(catalogs_in_db, catalogs_idx_on_disk)
- log.Println(*diff_flag_by_spec)
-
- var wg sync.WaitGroup
- for _, cws := range catalogs_in_db {
- diff_present, ok := (*diff_flag_by_spec)[cws.spec]
- if !ok { continue }
- if diff_present {
- wg.Add(1)
- go func(catalog_root string, cws CatalogWithSpec) {
- defer wg.Done()
- GenerateCatalogIndexFile(catalog_root, cws)
- }(catalog_root, cws)
- } else {
- log.Println("Not regenerating", cws.spec,
- "because catalog contents on disk and in the database " +
- "is the same.")
- }
- }
- wg.Wait()
-
- // This utility needs to be run for each catalog release, but different
- // catalog releases can be done concurrently.
-
- // This utility could be rewritten to regenerate all the catalogs in a single
- // run at the cost of using more RAM.
-}
-
// Command line flags
var catrel_flag string
var catalog_root_flag string
-var pkgdb_url string
-var dry_run bool
func init() {
flag.StringVar(&catrel_flag, "catalog-release", "unstable",
"e.g. unstable, bratislava, kiel, dublin")
flag.StringVar(&catalog_root_flag, "catalog-root",
"/export/mirror/opencsw",
"Directory where all the catalogs live, and allpkgs is")
- flag.StringVar(&pkgdb_url, "pkgdb-url",
+ flag.StringVar(&diskformat.Pkgdb_url, "pkgdb-url",
"http://buildfarm.opencsw.org/pkgdb/rest",
"Web address of the pkgdb app.")
- flag.BoolVar(&dry_run, "dry-run", false,
+ flag.BoolVar(&diskformat.Dry_run, "dry-run", false,
"Dry run mode, no changes on disk are made")
}
func main() {
flag.Parse()
- GenerateCatalogRelease(catrel_flag, catalog_root_flag)
-
- // Let's generate the catalog index too. And the description file. We've
- // already got all the necessary data. We also know whether we actually need
- // to generate a new catalog: when there were any operations to be made on
- // disk.
+ diskformat.GenerateCatalogRelease(catrel_flag, catalog_root_flag)
}
Copied: csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go (from rev 23268, csw/mgar/gar/v2/go/src/catalog-release-to-disk/catalog-release-to-disk.go)
===================================================================
--- csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go (rev 0)
+++ csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go 2014-03-23 14:21:00 UTC (rev 23269)
@@ -0,0 +1,854 @@
+package diskformat
+
+import (
+ "bufio"
+ "encoding/json"
+ "errors"
+ "fmt"
+ "log"
+ "net/http"
+ "os"
+ "path"
+ "path/filepath"
+ "sort"
+ "strconv"
+ "strings"
+ "sync"
+ "syscall"
+ "time"
+)
+
+
+var Dry_run bool
+// Keeping Pkgdb_url as a package global variable is probably not the best idea,
+// but let's not refactor without a good plan.
+var Pkgdb_url string
+
+
+// 3 strings that define a specific catalog
+type CatalogSpec struct {
+ catrel string
+ arch string
+ osrel string
+}
+
+func longOsrelAsInt(long_osrel string) int64 {
+ short_osrel := shortenOsrel(long_osrel)
+ fields := strings.Split(short_osrel, ".")
+ if len(fields) < 2 {
+ log.Fatalf("Error: %v does not conform to SunOS5.X\n", long_osrel)
+ }
+ sunos_version, err := strconv.ParseInt(fields[1], 10, 32)
+ if err != nil {
+ log.Fatalf("Could not parse %v as int\n", fields[1])
+ }
+ return sunos_version
+}
+// We want to order catalog specs by OS release, so we can go from the oldest
+// Solaris releases to the newest.
+type CatalogSpecs []CatalogSpec
+func (cs CatalogSpecs) Len() int { return len(cs) }
+func (cs CatalogSpecs) Swap(i, j int) { cs[i], cs[j] = cs[j], cs[i] }
+func (cs CatalogSpecs) Less(i, j int) bool {
+ // Ordering by: 1. catrel, 2. arch, 3. osrel
+ if cs[i].catrel != cs[j].catrel {
+ return cs[i].catrel < cs[j].catrel
+ }
+ if cs[i].arch != cs[j].arch {
+ return cs[i].arch < cs[j].arch
+ }
+ i_as_n := longOsrelAsInt(cs[i].osrel)
+ j_as_n := longOsrelAsInt(cs[j].osrel)
+ return i_as_n < j_as_n
+}
+
+type PkginstSlice []string
+
+func (p *PkginstSlice) FormatForIndexFile() string {
+ if len(*p) <= 0 {
+ return "none"
+ }
+ return strings.Join(*p, "|")
+}
+
+// A line in the catalog file; plus the extra description field
+type PkgInCatalog struct {
+ Catalogname string `json:"catalogname"`
+ Version string `json:"version"`
+ Pkginst string `json:"pkgname"`
+ Filename string `json:"basename"`
+ Md5_sum string `json:"md5_sum"`
+ Size uint64 `json:"size"`
+ Depends PkginstSlice `json:"deps"`
+ Category string `json:"category"`
+ I_depends PkginstSlice `json:"i_deps"`
+ Description string `json:"desc"`
+}
+
+func (p *PkgInCatalog) FormatCatalogIndexLine() string {
+ lst := []string{
+ p.Catalogname,
+ p.Version,
+ p.Pkginst,
+ p.Filename,
+ p.Md5_sum,
+ fmt.Sprintf("%v", p.Size),
+ p.Depends.FormatForIndexFile(),
+ p.Category,
+ p.I_depends.FormatForIndexFile(),
+ }
+ return strings.Join(lst, " ")
+}
+
+func (p *PkgInCatalog) FormatDescriptionLine() string {
+ lst := []string{ p.Catalogname, "-", p.Description, }
+ return strings.Join(lst, " ")
+}
+
+type Catalog []PkgInCatalog
+
+type CatalogWithSpec struct {
+ spec CatalogSpec
+ pkgs Catalog
+}
+
+const (
+ Symlink = iota
+ Hardlink
+)
+
+type LinkOnDisk struct {
+ file_name string
+ link_type int
+ target *string
+}
+
+func ParseCatalogFormatPkginstList(s string) []string {
+ if s == "none" {
+ slice := make(PkginstSlice, 0)
+ return slice
+ }
+ return strings.Split(s, "|")
+}
+
+func (self *PkginstSlice) UnmarshalJSON(data []byte) error {
+ var foo string
+ err := json.Unmarshal(data, &foo)
+ if err != nil {
+ return err
+ }
+ *self = ParseCatalogFormatPkginstList(foo)
+ return nil
+}
+
+// Our REST interface returns catspecs as lists, so let's have a common
+// function to construct catspec structs from lists.
+func MakeCatalogSpec(lst []string) (CatalogSpec, error) {
+ var catspec CatalogSpec
+ if len(lst) != 3 {
+ return catspec, errors.New("Array of length 3 is needed.")
+ }
+ // We already have this in the unmarshal bit.
+ catspec.catrel = lst[2]
+ catspec.arch = lst[1]
+ catspec.osrel = lst[0]
+ return catspec, nil
+}
+
+func MakeCatalogWithSpec(catspec CatalogSpec, pkgs Catalog) CatalogWithSpec {
+ var cws CatalogWithSpec
+ cws.spec = catspec
+ cws.pkgs = pkgs
+ return cws
+}
+
+func NewPkgInCatalog(lst []string) (*PkgInCatalog, error) {
+ size, err := strconv.ParseUint(lst[5], 10, 64)
+ if err != nil {
+ return nil, err
+ }
+ if size <= 0 {
+ return nil, fmt.Errorf(
+ "Package size must be greater than 0: %v in %v", lst[5], lst)
+ }
+
+ depends := make([]string, 0)
+ if lst[6] != "none" {
+ depends = strings.Split(lst[6], "|")
+ }
+
+ i_depends := make([]string, 0)
+ if lst[8] != "none" {
+ i_depends = strings.Split(lst[8], "|")
+ }
+
+ var pkg PkgInCatalog
+ pkg.Catalogname = lst[0]
+ pkg.Version = lst[1]
+ pkg.Pkginst = lst[2]
+ pkg.Filename = lst[3]
+ pkg.Md5_sum = lst[4]
+ pkg.Size = size
+ pkg.Depends = depends
+ pkg.Category = lst[7]
+ pkg.I_depends = i_depends
+ pkg.Description = lst[9]
+ return &pkg, nil
+}
+
+func (self *CatalogSpec) UnmarshalJSON(data []byte) error {
+ var slice []string
+ err := json.Unmarshal(data, &slice)
+ if err != nil {
+ return err
+ }
+ if len(slice) != 3 {
+ return fmt.Errorf("%+v is wrong length, should be 3", slice)
+ }
+ self.catrel = slice[2]
+ self.arch = slice[1]
+ self.osrel = slice[0]
+ return nil
+}
+
+func GetCatalogSpecs() (CatalogSpecs, error) {
+ url := fmt.Sprintf("%s/catalogs/", Pkgdb_url)
+ resp, err := http.Get(url)
+ if err != nil {
+ return nil, err
+ }
+ defer resp.Body.Close()
+
+ catspecs := make(CatalogSpecs, 0)
+ dec := json.NewDecoder(resp.Body)
+ if err := dec.Decode(&catspecs); err != nil {
+ log.Println("Failed to decode JSON from", url)
+ return nil, err
+ }
+
+ if len(catspecs) <= 0 {
+ return nil, fmt.Errorf("Retrieved 0 catalogs")
+ }
+
+ log.Println("GetCatalogSpecs returns", len(catspecs), "catalogs from", url)
+ return catspecs, nil
+}
+
+func GetCatalogWithSpec(catspec CatalogSpec) (CatalogWithSpec, error) {
+ url := fmt.Sprintf("%s/catalogs/%s/%s/%s/for-generation/as-dicts/",
+ Pkgdb_url, catspec.catrel, catspec.arch, catspec.osrel)
+ log.Println("Making a request to", url)
+ resp, err := http.Get(url)
+ if err != nil {
+ log.Panicln("Could not retrieve the catalog list.", err)
+ return CatalogWithSpec{}, err
+ }
+ defer resp.Body.Close()
+
+ var pkgs Catalog
+ dec := json.NewDecoder(resp.Body)
+ if err := dec.Decode(&pkgs); err != nil {
+ log.Println("Failed to decode JSON output from", url, ":", err)
+ return CatalogWithSpec{}, err
+ }
+
+ log.Println("Retrieved", catspec, "with", len(pkgs), "packages")
+
+ cws := MakeCatalogWithSpec(catspec, pkgs)
+ return cws, nil
+}
+
+func filterCatspecs(all_catspecs CatalogSpecs, catrel string) CatalogSpecs {
+ catspecs := make(CatalogSpecs, 0)
+ for _, catspec := range all_catspecs {
+ if catspec.catrel == catrel {
+ catspecs = append(catspecs, catspec)
+ }
+ }
+ return catspecs
+}
+
+func shortenOsrel(longosrel string) string {
+ return strings.Replace(longosrel, "SunOS", "", -1)
+}
+
+func longOsrel(shortosrel string) string {
+ if strings.HasPrefix(shortosrel, "SunOS") {
+ return shortosrel
+ } else {
+ return fmt.Sprintf("SunOS%s", shortosrel)
+ }
+}
+
+// Defines layout of files on disk. Can be built from the database or from
+// disk.
+type FilesOfCatalog map[CatalogSpec]map[string]LinkOnDisk
+
+func GetCatalogsFromREST(catalogs_ch chan []CatalogWithSpec, catspecs CatalogSpecs) {
+ catalogs := make([]CatalogWithSpec, 0)
+ var wg sync.WaitGroup
+ type fetchResult struct {cws CatalogWithSpec; err error }
+ ch := make(chan fetchResult)
+ for _, catspec := range catspecs {
+ wg.Add(1)
+ go func(catspec CatalogSpec) {
+ defer wg.Done()
+ catalog_with_spec, err := GetCatalogWithSpec(catspec)
+ if err != nil {
+ log.Println(err)
+ ch <- fetchResult{CatalogWithSpec{}, err}
+ }
+ ch <- fetchResult{catalog_with_spec, nil}
+ }(catspec)
+ }
+ // The channel will be closed when all fetches are done. We can process
+ // available results in the meantime.
+ go func() { wg.Wait(); close(ch) }()
+
+ for {
+ if result, ok := <-ch; !ok {
+ // Channel has been closed; no more results to process.
+ break
+ } else if result.err != nil {
+ log.Fatalln("Catalog fetch failed:", result.err,
+ "We don't want to continue, because this could result in " +
+ "wiping an existing catalog from disk because of an " +
+ "intermittent network issue.")
+ } else {
+ catalogs = append(catalogs, result.cws)
+ }
+ }
+ // We have 2 places that read this data.
+ catalogs_ch <- catalogs
+ catalogs_ch <- catalogs
+}
+
+func GetFilesOfCatalogFromDatabase(files_from_db_chan chan *FilesOfCatalog,
+ catrel string, catalog_ch chan []CatalogWithSpec) {
+ catalogs := <-catalog_ch
+ catalogs_by_spec := make(map[CatalogSpec]CatalogWithSpec)
+ catspecs := make(CatalogSpecs, 0)
+ for _, cws := range catalogs {
+ catalogs_by_spec[cws.spec] = cws
+ catspecs = append(catspecs, cws.spec)
+ }
+ files_by_catspec := make(FilesOfCatalog)
+ // We must traverse catalogs in sorted order, e.g. Solaris 9 before Solaris 10.
+ sort.Sort(catspecs)
+ visited_catalogs := make(map[CatalogSpec]CatalogSpecs)
+ for _, catspec := range catspecs {
+ // Used to group catalogs we can symlink from
+ compatible_catspec := CatalogSpec{catspec.catrel, catspec.arch, "none"}
+ pkgs := catalogs_by_spec[catspec].pkgs
+ for _, pkg := range pkgs {
+ if _, ok := files_by_catspec[catspec]; !ok {
+ files_by_catspec[catspec] = make(map[string]LinkOnDisk)
+ }
+ var target string
+ var exists_already bool
+ // var exists_in_cat CatalogSpec
+ // Does this path already exist? If so, we'll add a symlink.
+ // Looking back at previous osrels
+ if visited_compatible, ok := visited_catalogs[compatible_catspec]; ok {
+ // We need to iterate in reverse order, from the newest to the oldest
+ // Solaris versions.
+ for i := len(visited_compatible) - 1; i >= 0; i-- {
+ cand_catspec := visited_compatible[i]
+ if _, ok := files_by_catspec[cand_catspec]; ok {
+ if _, ok := files_by_catspec[cand_catspec][pkg.Filename]; ok {
+ exists_already = true
+ target = fmt.Sprintf("../%s/%s",
+ shortenOsrel(cand_catspec.osrel),
+ pkg.Filename)
+ break
+ }
+ }
+ }
+ }
+ var link LinkOnDisk
+ if exists_already {
+ link = LinkOnDisk{pkg.Filename, Symlink, &target}
+ } else {
+ link = LinkOnDisk{pkg.Filename, Hardlink, nil}
+ }
+ files_by_catspec[catspec][pkg.Filename] = link
+ }
+ if _, ok := visited_catalogs[compatible_catspec]; !ok {
+ visited_catalogs[compatible_catspec] = make(CatalogSpecs, 0)
+ }
+ visited_catalogs[compatible_catspec] = append(visited_catalogs[compatible_catspec], catspec)
+ }
+ files_from_db_chan <- &files_by_catspec
+}
+
+func GetFilesOfCatalogFromDisk(files_from_disk_chan chan *FilesOfCatalog, root_path string,
+ catrel string) {
+ files_by_catspec := make(FilesOfCatalog)
+ path_to_scan := path.Join(root_path, catrel)
+ err := filepath.Walk(path_to_scan,
+ func(path string, f os.FileInfo, err error) error {
+ if err != nil {
+ return err
+ }
+ if f.Mode() & os.ModeDir > 0 {
+ // We're ignoring directories.
+ return nil
+ }
+ rel_path := strings.TrimPrefix(path, path_to_scan + "/")
+ fields := strings.Split(rel_path, "/")
+ if len(fields) != 3 {
+ log.Println("Wrong path found:", fields)
+ }
+ arch := fields[0]
+ osrel := longOsrel(fields[1])
+ basename := fields[2]
+ catspec := CatalogSpec{catrel, arch, osrel}
+ // Figuring out the file type: hardlink/symlink
+ var link LinkOnDisk
+ if !(strings.HasSuffix(basename, ".pkg.gz") ||
+ strings.HasSuffix(basename, ".pkg")) {
+ // Not a package, won't be processed. This means the file won't be
+ // removed if not in the database.
+ return nil
+ }
+ if f.Mode().IsRegular() {
+ link = LinkOnDisk{basename, Hardlink, nil}
+ } else if f.Mode() & os.ModeSymlink > 0 {
+ target, err := os.Readlink(path)
+ if err != nil {
+ log.Printf("Reading link of %v failed: %v\n", path, err)
+ } else {
+ link = LinkOnDisk{basename, Symlink, &target}
+ }
+ } else {
+ log.Println(path, "Is not a hardlink or a symlink. What is it then? Ignoring.")
+ }
+ if _, ok := files_by_catspec[catspec]; !ok {
+ files_by_catspec[catspec] = make(map[string]LinkOnDisk)
+ }
+ files_by_catspec[catspec][basename] = link
+ return nil
+ })
+ if err != nil {
+ log.Fatalf("filepath.Walk() failed with: %v\n", err)
+ }
+ files_from_disk_chan <- &files_by_catspec
+}
+
+func FilesOfCatalogDiff(base_files *FilesOfCatalog,
+ to_substract *FilesOfCatalog) *FilesOfCatalog {
+ left_in_base := make(FilesOfCatalog)
+ for catspec, filemap := range *base_files {
+ for path, link := range filemap {
+ // Is it in the database?
+ in_db := false
+ if files_db, ok := (*to_substract)[catspec]; ok {
+ if _, ok := files_db[path]; ok {
+ in_db = true
+ }
+ }
+ if !in_db {
+ if _, ok := left_in_base[catspec]; !ok {
+ left_in_base[catspec] = make(map[string]LinkOnDisk)
+ }
+ left_in_base[catspec][path] = link
+ }
+ }
+ }
+ return &left_in_base
+}
+
+// Returns true if there were any operations performed
+func UpdateDisk(files_to_add *FilesOfCatalog,
+ files_to_remove *FilesOfCatalog,
+ catalog_root string) bool {
+ changes_made := false
+
+ for catspec, files_by_path := range *files_to_add {
+ for path, link := range files_by_path {
+ tgt_path := filepath.Join(catalog_root, catspec.catrel, catspec.arch,
+ shortenOsrel(catspec.osrel), path)
+ if link.link_type == Hardlink {
+ src_path := filepath.Join(catalog_root, "allpkgs", path)
+ if !Dry_run {
+ if err := syscall.Link(src_path, tgt_path); err != nil {
+ log.Fatalf("Could not create hardlink from %v to %v: %v",
+ src_path, tgt_path, err)
+ }
+ }
+ log.Printf("ln \"%s\"\n \"%s\"\n", src_path, tgt_path)
+ changes_made = true
+ } else if link.link_type == Symlink {
+ // The source path is relative to the target, because it's a symlink
+ src_path := *(link.target)
+ if !Dry_run {
+ if err := syscall.Symlink(src_path, tgt_path); err != nil {
+ log.Fatalf("Could not symlink %v to %v: %v", src_path, tgt_path, err)
+ }
+ }
+ log.Printf("ln -s \"%s\"\n \"%s\"\n", src_path, tgt_path)
+ changes_made = true
+ } else {
+ log.Fatalln("Zonk! Wrong link type in %+v", link)
+ }
+ }
+ }
+
+ for catspec, files_by_path := range *files_to_remove {
+ for path, _ := range files_by_path {
+ pkg_path := filepath.Join(catalog_root, catspec.catrel, catspec.arch,
+ shortenOsrel(catspec.osrel), path)
+ if !Dry_run {
+ if err:= syscall.Unlink(pkg_path); err != nil {
+ log.Fatalf("Could not unlink %v: %v", pkg_path, err)
+ }
+ }
+ log.Printf("rm \"%s\"\n", pkg_path)
+ changes_made = true
+ }
+ }
+ return changes_made
+}
+
+func FormatCatalogFilePath(root_path string, catspec CatalogSpec,
+ filename string) string {
+ return filepath.Join(root_path, catspec.catrel,
+ catspec.arch, shortenOsrel(catspec.osrel),
+ filename)
+}
+
+func GetCatalogFromIndexFile(catalog_root string,
+ catspec CatalogSpec) (*CatalogWithSpec, error) {
+ pkgs := make(Catalog, 0)
+ // Read the descriptions first, and build a map so that descriptions can be
+ // easily accessed when parsing the catalog file.
+ desc_file_path := FormatCatalogFilePath(catalog_root, catspec, "descriptions")
+ catalog_file_path := FormatCatalogFilePath(catalog_root, catspec, "catalog")
+ desc_by_catalogname := make(map[string]string)
+ desc_file, err := os.Open(desc_file_path)
+ if err != nil {
+ // Missing file is equivalent to an empty catalog.
+ return &CatalogWithSpec{catspec, pkgs}, nil
+ }
+ defer desc_file.Close()
+ desc_scanner := bufio.NewScanner(desc_file)
+ for desc_scanner.Scan() {
+ fields := strings.SplitN(desc_scanner.Text(), " ", 3)
+ if len(fields) < 3 {
+ log.Println("Could not parse description line:", fields)
+ continue
+ }
+ catalogname := fields[0]
+ description := fields[2]
+ desc_by_catalogname[catalogname] = description
+ }
+
+ cat_file, err := os.Open(catalog_file_path)
+ if err != nil {
+ // Missing catalog file is equivalent to an empty file
+ return &CatalogWithSpec{catspec, pkgs}, nil
+ }
+ defer cat_file.Close()
+
+ scanner := bufio.NewScanner(cat_file)
+ for scanner.Scan() {
+ fields := strings.Fields(scanner.Text())
+ if len(fields) != 9 {
+ // Line does not conform, ignoring. It's a GPG signature line, or an
+ // empty line, or something else.
+ continue
+ }
+ catalogname := fields[0]
+ desc, ok := desc_by_catalogname[catalogname]
+ if !ok {
+ log.Fatalln("Did not find description for", catalogname)
+ }
+ size, err := strconv.ParseUint(fields[5], 10, 32)
+ if err != nil {
+ log.Fatalln("Could not parse size")
+ }
+ if size <= 0 {
+ log.Fatalln("Package size must be > 0:", fields[5])
+ }
+ deps := ParseCatalogFormatPkginstList(fields[6])
+ i_deps := ParseCatalogFormatPkginstList(fields[8])
+ pkg := PkgInCatalog{
+ catalogname,
+ fields[1],
+ fields[2],
+ fields[3],
+ fields[4],
+ size,
+ deps,
+ fields[7],
+ i_deps,
+ desc,
+ }
+ pkgs = append(pkgs, pkg)
+ }
+ if err := scanner.Err(); err != nil {
+ log.Fatalf("Error reading %v: %v", catalog_file_path, err)
+ }
+ log.Println("Catalog index found:", catspec, "and", len(pkgs), "pkgs")
+ cws := MakeCatalogWithSpec(catspec, pkgs)
+ return &cws, nil
+}
+
+func GetCatalogIndexes(catspecs CatalogSpecs,
+ root_dir string) []CatalogWithSpec {
+ // Read all catalog files and parse them.
+ catalogs := make([]CatalogWithSpec, 0)
+ for _, catspec := range catspecs {
+ catalog, err := GetCatalogFromIndexFile(root_dir, catspec)
+ if err != nil {
+ log.Fatalln("Could not get the index file of", catspec, "in",
+ root_dir, "error:", err)
+ }
+ catalogs = append(catalogs, *catalog)
+ }
+ return catalogs
+}
+
+// Struct to hold information about catalog comparisons
+type catalogPair struct {
+ c1 CatalogWithSpec
+ c2 CatalogWithSpec
+}
+
+func GroupCatalogsBySpec(c1, c2 []CatalogWithSpec) (*map[CatalogSpec]catalogPair) {
+ pairs_by_spec := make(map[CatalogSpec]catalogPair)
+ for _, cws := range c1 {
+ pairs_by_spec[cws.spec] = catalogPair{cws, CatalogWithSpec{}}
+ }
+ for _, cws := range c2 {
+ if pair, ok := pairs_by_spec[cws.spec]; ok {
+ pair.c2 = cws
+ pairs_by_spec[cws.spec] = pair
+ } else {
+ log.Println("Did not find", cws.spec, "in c2")
+ }
+ }
+ return &pairs_by_spec
+}
+
+func MassCompareCatalogs(c1, c2 []CatalogWithSpec) (*map[CatalogSpec]bool) {
+ diff_detected := make(map[CatalogSpec]bool)
+
+ pairs_by_spec := GroupCatalogsBySpec(c1, c2)
+
+ // The catalog disk/db pairs are ready to be compared.
+ for spec, pair := range *pairs_by_spec {
+ diff_detected[spec] = false
+ // DeepEqual could do it, but it is too crude; doesn't provide details
+ // This code can probably be simplified.
+ catalognames := make(map[string]bool)
+ c1_by_catn := make(map[string]PkgInCatalog)
+ c2_by_catn := make(map[string]PkgInCatalog)
+ if len(pair.c1.pkgs) != len(pair.c2.pkgs) {
+ log.Printf("%v: %v vs %v are different length\n",
+ spec, len(pair.c1.pkgs), len(pair.c2.pkgs))
+ diff_detected[spec] = true
+ continue
+ }
+ for _, pkg := range pair.c1.pkgs {
+ catalognames[pkg.Catalogname] = true
+ c1_by_catn[pkg.Catalogname] = pkg
+ }
+ for _, pkg := range pair.c2.pkgs {
+ catalognames[pkg.Catalogname] = true
+ c2_by_catn[pkg.Catalogname] = pkg
+ }
+ for catalogname, _ := range catalognames {
+ pkg_disk, ok := c1_by_catn[catalogname]
+ if ok {
+ pkg_db, ok := c2_by_catn[catalogname]
+ if ok {
+ // This comparison method is a bit silly. But we can't simply compare
+ // the structs, because they contain slices, and slices are not
+ // comparable.
+ if pkg_db.FormatCatalogIndexLine() != pkg_disk.FormatCatalogIndexLine() {
+ log.Printf("different in %v: %v %v vs %v, enough to trigger " +
+ "catalog index generation\n", spec, pkg_db.Filename,
+ pkg_db.Md5_sum, pkg_disk.Md5_sum)
+ diff_detected[spec] = true
+ break
+ }
+ } else {
+ log.Printf("different in %v: %v not found in c2\n", spec, catalogname)
+ diff_detected[spec] = true
+ break
+ }
+ } else {
+ log.Printf("different in %v: %v not found in c1\n", spec, catalogname)
+ diff_detected[spec] = true
+ break
+ }
+ }
+ }
+
+ return &diff_detected
+}
+
+func GenerateCatalogIndexFile(catalog_root string,
+ cws CatalogWithSpec) {
+ log.Printf("GenerateCatalogIndexFile(%v, %v)\n", catalog_root, cws.spec)
+ catalog_file_path := FormatCatalogFilePath(catalog_root, cws.spec, "catalog")
+ desc_file_path := FormatCatalogFilePath(catalog_root, cws.spec, "descriptions")
+
+ defer func() {
+ // If there's a "catalog.gz" here, remove it. It will be recreated later by
+ // the shell script which signs catalogs.
+ gzip_catalog := catalog_file_path + ".gz";
+ if err := os.Remove(gzip_catalog); err != nil {
+ log.Println("Not removed", gzip_catalog, "error was", err)
+ } else {
+ log.Println(gzip_catalog, "was removed")
+ }
+ }()
+
+ // If there are no files in the catalog, simply remove the catalog files.
+ if len(cws.pkgs) <= 0 {
+ for _, filename := range []string{catalog_file_path, desc_file_path} {
+ // If the files are missing, that's okay
+ if err := os.Remove(filename); err != nil {
+ if err != syscall.ENOENT {
+ log.Println("Could not remove", filename, "error:", err)
+ }
+ } else {
+ log.Println("Removed", filename, "because the", cws.spec,
+ "catalog is empty")
+ }
+ }
+ return
+ }
+
+ var catbuf *bufio.Writer
+ var descbuf *bufio.Writer
+
+ if !Dry_run {
+ catalog_fd, err := os.Create(catalog_file_path)
+ if err != nil {
+ log.Fatalln("Could not open", catalog_file_path, "for writing:", err)
+ }
+ defer catalog_fd.Close()
+
+ catbuf = bufio.NewWriter(catalog_fd)
+ defer catbuf.Flush()
+
+ desc_fd, err := os.Create(desc_file_path)
+ if err != nil {
+ log.Fatalln("Could not open", desc_file_path, "for writing:", err)
+ }
+ defer desc_fd.Close()
+
+ descbuf = bufio.NewWriter(desc_fd)
+ defer descbuf.Flush()
+ } else {
+ log.Println("Dry run: printing catalog to stdout")
+ catbuf = bufio.NewWriter(os.Stdout)
+ defer catbuf.Flush()
+ descbuf = bufio.NewWriter(os.Stdout)
+ defer descbuf.Flush()
+ }
+
+ // http://www.opencsw.org/manual/for-maintainers/catalog-format.html
+ ts_line := fmt.Sprintf("# CREATIONDATE %s\n", time.Now().Format(time.RFC3339))
+ catbuf.WriteString(ts_line)
+
+ for _, pkg := range cws.pkgs {
+ catbuf.WriteString(pkg.FormatCatalogIndexLine())
+ catbuf.WriteString("\n")
+ descbuf.WriteString(pkg.FormatDescriptionLine())
+ descbuf.WriteString("\n")
+ }
+}
+
+func GenerateCatalogRelease(catrel string, catalog_root string) {
+ log.Println("catrel:", catrel)
+ log.Println("catalog_root:", catalog_root)
+
+ all_catspecs, err := GetCatalogSpecs()
+ if err != nil {
+ log.Panicln("Could not get the catalog spec list")
+ }
+ // Because of memory constraints, we're only processing 1 catalog in one run
+ catspecs := filterCatspecs(all_catspecs, catrel)
+
+ // The plan:
+ // 1. build a data structure representing all the hardlinks and symlinks
+ // based on the catalogs
+
+ catalog_ch := make(chan []CatalogWithSpec)
+ go GetCatalogsFromREST(catalog_ch, catspecs)
+ files_from_db_chan := make(chan *FilesOfCatalog)
+ go GetFilesOfCatalogFromDatabase(files_from_db_chan, catrel, catalog_ch)
+
+ // 2. build a data structure based on the contents of the disk
+ // it should be done in parallel
+ files_from_disk_chan := make(chan *FilesOfCatalog)
+ go GetFilesOfCatalogFromDisk(files_from_disk_chan, catalog_root, catrel)
+
+ // 3. Retrieve results
+ files_by_catspec_disk := <-files_from_disk_chan
+ files_by_catspec_db := <-files_from_db_chan
+
+ // 4. compare, generate a list of operations to perform
+
+ log.Println("Calculating the difference")
+ files_to_add := FilesOfCatalogDiff(files_by_catspec_db,
+ files_by_catspec_disk)
+ files_to_remove := FilesOfCatalogDiff(files_by_catspec_disk,
+ files_by_catspec_db)
+
+ // 5. perform these operations
+ // ...or save a disk file with instructions.
+ if Dry_run {
+ log.Println("Dry run, only logging operations that would have been made.")
+ } else {
+ log.Println("Applying link/unlink operations to disk")
+ }
+ changes_made := UpdateDisk(files_to_add, files_to_remove, catalog_root)
+ if !changes_made {
+ if Dry_run {
+ log.Println("It was a dry run, but there would not have been any " +
+ "link/unlink operations performed anyway")
+ } else {
+ log.Println("There were no link/unlink operations to perform")
+ }
+ }
+
+ // 6. Generate the catalog index files
+ // Are the current files up to date? Just that we modified linked/unlinked
+ // files on disk doesn't mean the catalog file needs to be updated.
+
+ // Getting the content of catalog index files
+ catalogs_idx_on_disk := GetCatalogIndexes(catspecs, catalog_root)
+ catalogs_in_db := <-catalog_ch
+
+ diff_flag_by_spec := MassCompareCatalogs(catalogs_in_db, catalogs_idx_on_disk)
+ log.Println(*diff_flag_by_spec)
+
+ var wg sync.WaitGroup
+ for _, cws := range catalogs_in_db {
+ diff_present, ok := (*diff_flag_by_spec)[cws.spec]
+ if !ok { continue }
+ if diff_present {
+ wg.Add(1)
+ go func(catalog_root string, cws CatalogWithSpec) {
+ defer wg.Done()
+ GenerateCatalogIndexFile(catalog_root, cws)
+ }(catalog_root, cws)
+ } else {
+ log.Println("Not regenerating", cws.spec,
+ "because catalog contents on disk and in the database " +
+ "is the same.")
+ }
+ }
+ wg.Wait()
+
+ // This utility needs to be run for each catalog release, but different
+ // catalog releases can be done concurrently.
+
+ // This utility could be rewritten to regenerate all the catalogs in a single
+ // run at the cost of using more RAM.
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 23 15:50:43 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 23 Mar 2014 14:50:43 +0000
Subject: SF.net SVN: gar:[23271] csw/mgar/gar/v2/lib/python/package_stats.py
Message-ID: <3fsM993d0Zz1Rj@mail.opencsw.org>
Revision: 23271
http://sourceforge.net/p/gar/code/23271
Author: wahwah
Date: 2014-03-23 14:50:42 +0000 (Sun, 23 Mar 2014)
Log Message:
-----------
checkpkg: Better error message
This check can fire if you run sparc+intel builds in parallel and have
arch=all packages in your set. When that happens, checkpkg is first asked to
examine a file with content X, but later the same filename contains content B,
because mgar running on the other architecture overwrote it.
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/package_stats.py
Modified: csw/mgar/gar/v2/lib/python/package_stats.py
===================================================================
--- csw/mgar/gar/v2/lib/python/package_stats.py 2014-03-23 14:21:08 UTC (rev 23270)
+++ csw/mgar/gar/v2/lib/python/package_stats.py 2014-03-23 14:50:42 UTC (rev 23271)
@@ -159,12 +159,17 @@
try:
data_back = cjson.decode(stdout)
if data_back['md5_sum'] != catalog_entry['md5sum']:
- msg = ('Unexpected file content: catalog said '
- 'that %r would have MD5 sum %r but it '
- 'turned out to be %r when read from allpkgs. '
+ msg = ('Unexpected file content: on disk (or in catalog) the file '
+ '%r (%r) has MD5 sum %r but it turned out to be %r as '
+ 'seen by collect_pkg_metadata.py. '
'We cannot continue, because we have no '
- 'access to the data we are asked to examine.'
+ 'access to the data we are asked to examine. '
+ 'This can happen when you run mgar on intel and sparc in '
+ 'parallel, and you have some arch=all packages in the '
+ 'package set. This error will not happen if you run '
+ 'mgar platforms.'
% (catalog_entry['file_basename'],
+ catalog_entry['pkg_path'],
catalog_entry['md5sum'],
data_back['md5_sum']))
raise PackageError(msg)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 23 15:50:51 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 23 Mar 2014 14:50:51 +0000
Subject: SF.net SVN: gar:[23272] csw/mgar/gar/v2/lib/python/package_checks.py
Message-ID: <3fsM9K45g5z1Tc@mail.opencsw.org>
Revision: 23272
http://sourceforge.net/p/gar/code/23272
Author: wahwah
Date: 2014-03-23 14:50:51 +0000 (Sun, 23 Mar 2014)
Log Message:
-----------
checkpkg: Better error message formatting
The single quotes are not necessary.
Dedicated to lblume.
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/package_checks.py
Modified: csw/mgar/gar/v2/lib/python/package_checks.py
===================================================================
--- csw/mgar/gar/v2/lib/python/package_checks.py 2014-03-23 14:50:42 UTC (rev 23271)
+++ csw/mgar/gar/v2/lib/python/package_checks.py 2014-03-23 14:50:51 UTC (rev 23272)
@@ -1157,8 +1157,8 @@
link_type = "hardlink"
error_mgr.NeedFile(
pkgmap_entry.target,
- '%s contains %r (a %s) which needs the target file: %r.'
- % (pkgname, pkgmap_entry.path, link_type, pkgmap_entry.target))
+ '%s contains %s %s which needs the target file: %s'
+ % (pkgname, link_type, pkgmap_entry.path, 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 Sun Mar 23 15:50:58 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 23 Mar 2014 14:50:58 +0000
Subject: SF.net SVN: gar:[23273] csw/mgar/gar/v2/go/Makefile
Message-ID: <3fsM9S2wtRz1X8@mail.opencsw.org>
Revision: 23273
http://sourceforge.net/p/gar/code/23273
Author: wahwah
Date: 2014-03-23 14:50:58 +0000 (Sun, 23 Mar 2014)
Log Message:
-----------
cat-gen: Hack the Makefile to compile
Looks like there are differences in how gccgo looks for packages in comparison
to the mainstream go command. I used truss to see where gccgo looks for the
binary object and I symlinked the needed one. This is probably not the best
way to do it, but all the information I could find on stack overflow would
advice me to use the "go" command which we do not have and will not have until
someone ports it.
Modified Paths:
--------------
csw/mgar/gar/v2/go/Makefile
Modified: csw/mgar/gar/v2/go/Makefile
===================================================================
--- csw/mgar/gar/v2/go/Makefile 2014-03-23 14:50:51 UTC (rev 23272)
+++ csw/mgar/gar/v2/go/Makefile 2014-03-23 14:50:58 UTC (rev 23273)
@@ -8,11 +8,17 @@
bin:
mkdir -p bin
-bin/catalog-release-to-disk: src/catalog-release-to-disk/catalog-release-to-disk.go
- gccgo -g -o $@ $<
+bin/catalog-release-to-disk: src/catalog-release-to-disk/catalog-release-to-disk.o src/opencsw/diskformat/diskformat.o
+ gccgo -g -o $@ $?
-# catalog-release-to-disk: catalog-release-to-disk.o
-# gccgo -o $@ $<
+# This is a poor hack, but it gets it to compile.
+src/catalog-release-to-disk/catalog-release-to-disk.o: src/opencsw/diskformat/diskformat.o
+ mkdir -p opencsw
+ ln -sf ../src/opencsw/diskformat/diskformat.o opencsw/diskformat.o
+ gccgo -o $@ -g -c src/catalog-release-to-disk/catalog-release-to-disk.go
-# %.o: %.go
-# gccgo -c $<
+%.o: %.go
+ gccgo -o $@ -g -c $<
+
+clean:
+ rm -f src/opencsw/diskformat/diskformat.o bin/catalog-release-to-disk
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Tue Mar 25 00:52:09 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Mon, 24 Mar 2014 23:52:09 +0000
Subject: SF.net SVN: gar:[23274] csw/mgar/gar/v2/go/src
Message-ID: <3ftC7x3WxjzQl@mail.opencsw.org>
Revision: 23274
http://sourceforge.net/p/gar/code/23274
Author: wahwah
Date: 2014-03-24 23:52:08 +0000 (Mon, 24 Mar 2014)
Log Message:
-----------
cat-gen: Limit the exported structs and functions
We don't have other modules yet, but let's preemptively limit the structs and
functions exported from this module.
I spotted this when looked at the godoc view of documentation for this package.
Remove unnecessary/leftover functions. Simplify types, for example the type only
defined and used for sorting.
Modified Paths:
--------------
csw/mgar/gar/v2/go/src/catalog-release-to-disk/catalog-release-to-disk.go
csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go
Modified: csw/mgar/gar/v2/go/src/catalog-release-to-disk/catalog-release-to-disk.go
===================================================================
--- csw/mgar/gar/v2/go/src/catalog-release-to-disk/catalog-release-to-disk.go 2014-03-23 14:50:58 UTC (rev 23273)
+++ csw/mgar/gar/v2/go/src/catalog-release-to-disk/catalog-release-to-disk.go 2014-03-24 23:52:08 UTC (rev 23274)
@@ -24,10 +24,10 @@
flag.StringVar(&catalog_root_flag, "catalog-root",
"/export/mirror/opencsw",
"Directory where all the catalogs live, and allpkgs is")
- flag.StringVar(&diskformat.Pkgdb_url, "pkgdb-url",
+ flag.StringVar(&diskformat.PkgdbUrl, "pkgdb-url",
"http://buildfarm.opencsw.org/pkgdb/rest",
"Web address of the pkgdb app.")
- flag.BoolVar(&diskformat.Dry_run, "dry-run", false,
+ flag.BoolVar(&diskformat.DryRun, "dry-run", false,
"Dry run mode, no changes on disk are made")
}
Modified: csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go
===================================================================
--- csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go 2014-03-23 14:50:58 UTC (rev 23273)
+++ csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go 2014-03-24 23:52:08 UTC (rev 23274)
@@ -1,3 +1,6 @@
+// Package diskformat contains code and utilities to work with OpenCSW catalogs
+// in the disk format, as they are provided on the master mirror at
+// http://mirror.opencsw.org/
package diskformat
import (
@@ -3,5 +6,4 @@
"bufio"
"encoding/json"
- "errors"
"fmt"
"log"
@@ -20,17 +22,17 @@
// Do not actually perform any operations on disk. Read data and process, but do
// not write anything.
-var Dry_run bool
-// Keeping Pkgdb_url as a package global variable is probably not the best idea,
+var DryRun bool
+// Keeping PkgdbUrl as a package global variable is probably not the best idea,
// but let's not refactor without a good plan.
-var Pkgdb_url string
+var PkgdbUrl string
// 3 strings that define a specific catalog, e.g. "unstable sparc 5.10"
type CatalogSpec struct {
- catrel string
- arch string
- osrel string
+ Catrel string
+ Arch string
+ Osrel string
}
func longOsrelAsInt(long_osrel string) int64 {
@@ -46,25 +48,29 @@
return sunos_version
}
// We want to order catalog specs by OS release, so we can go from the oldest
-// Solaris releases to the newest.
-type CatalogSpecs []CatalogSpec
-func (cs CatalogSpecs) Len() int { return len(cs) }
-func (cs CatalogSpecs) Swap(i, j int) { cs[i], cs[j] = cs[j], cs[i] }
-func (cs CatalogSpecs) Less(i, j int) bool {
+// Solaris releases to the newest. This specialized array implements the sorting
+// order we need.
+type byOsRelease []CatalogSpec
+func (cs byOsRelease) Len() int { return len(cs) }
+func (cs byOsRelease) Swap(i, j int) { cs[i], cs[j] = cs[j], cs[i] }
+func (cs byOsRelease) Less(i, j int) bool {
// Ordering by: 1. catrel, 2. arch, 3. osrel
- if cs[i].catrel != cs[j].catrel {
- return cs[i].catrel < cs[j].catrel
+ if cs[i].Catrel != cs[j].Catrel {
+ return cs[i].Catrel < cs[j].Catrel
}
- if cs[i].arch != cs[j].arch {
- return cs[i].arch < cs[j].arch
+ if cs[i].Arch != cs[j].Arch {
+ return cs[i].Arch < cs[j].Arch
}
- i_as_n := longOsrelAsInt(cs[i].osrel)
- j_as_n := longOsrelAsInt(cs[j].osrel)
+ i_as_n := longOsrelAsInt(cs[i].Osrel)
+ j_as_n := longOsrelAsInt(cs[j].Osrel)
return i_as_n < j_as_n
}
+// Specialized array of strings to allow automatic unmarshalling from JSON.
type PkginstSlice []string
+// Format the list of pkgnames as requred by the package catalog:
+// CSWfoo|CSWbar|CSWbaz; or "none" if empty.
func (p *PkginstSlice) FormatForIndexFile() string {
if len(*p) <= 0 {
return "none"
@@ -72,8 +78,21 @@
return strings.Join(*p, "|")
}
-// A line in the catalog file; plus the extra description field
-type PkgInCatalog struct {
+// Deserialize from the format output by the RESTful interface.
+func (self *PkginstSlice) UnmarshalJSON(data []byte) error {
+ var foo string
+ err := json.Unmarshal(data, &foo)
+ if err != nil {
+ return err
+ }
+ *self = parseCatalogFormatPkginstList(foo)
+ return nil
+}
+
+// A line in the catalog file; plus the extra description field.
+// As described in the manual:
+// http://www.opencsw.org/manual/for-maintainers/catalog-format.html
+type Package struct {
Catalogname string `json:"catalogname"`
Version string `json:"version"`
Pkginst string `json:"pkgname"`
@@ -86,7 +105,8 @@
Description string `json:"desc"`
}
-func (p *PkgInCatalog) FormatCatalogIndexLine() string {
+// Format line as required by the catalog format.
+func (p *Package) AsCatalogEntry() string {
lst := []string{
p.Catalogname,
p.Version,
@@ -101,30 +121,29 @@
return strings.Join(lst, " ")
}
-func (p *PkgInCatalog) FormatDescriptionLine() string {
+// Format a line as required by the "descriptions" file.
+func (p *Package) AsDescription() string {
lst := []string{ p.Catalogname, "-", p.Description, }
return strings.Join(lst, " ")
}
-type Catalog []PkgInCatalog
-
type CatalogWithSpec struct {
- spec CatalogSpec
- pkgs Catalog
+ Spec CatalogSpec
+ Pkgs []Package
}
const (
- Symlink = iota
- Hardlink
+ symlink = iota
+ hardlink
)
-type LinkOnDisk struct {
+type linkOnDisk struct {
file_name string
link_type int
target *string
}
-func ParseCatalogFormatPkginstList(s string) []string {
+func parseCatalogFormatPkginstList(s string) []string {
if s == "none" {
slice := make(PkginstSlice, 0)
return slice
@@ -132,52 +151,21 @@
return strings.Split(s, "|")
}
-func (self *PkginstSlice) UnmarshalJSON(data []byte) error {
- var foo string
- err := json.Unmarshal(data, &foo)
- if err != nil {
- return err
- }
- *self = ParseCatalogFormatPkginstList(foo)
- return nil
-}
-
-// Our REST interface returns catspecs as lists, so let's have a common
-// function to construct catspec structs from lists.
-func MakeCatalogSpec(lst []string) (CatalogSpec, error) {
- var catspec CatalogSpec
- if len(lst) != 3 {
- return catspec, errors.New("Array of length 3 is needed.")
- }
- // We already have this in the unmarshal bit.
- catspec.catrel = lst[2]
- catspec.arch = lst[1]
- catspec.osrel = lst[0]
- return catspec, nil
-}
-
-func MakeCatalogWithSpec(catspec CatalogSpec, pkgs Catalog) CatalogWithSpec {
- var cws CatalogWithSpec
- cws.spec = catspec
- cws.pkgs = pkgs
- return cws
-}
-
// Run sanity checks and return the result. Currently only checks if there are
// any dependencies on packages absent from the catalog.
func (cws *CatalogWithSpec) IsSane() bool {
catalog_ok := true
deps_by_pkginst := make(map[string]PkginstSlice)
- for _, pkg := range cws.pkgs {
+ for _, pkg := range cws.Pkgs {
deps_by_pkginst[pkg.Pkginst] = pkg.Depends
}
- for _, pkg := range cws.pkgs {
+ for _, pkg := range cws.Pkgs {
for _, dep := range pkg.Depends {
if _, ok := deps_by_pkginst[dep]; !ok {
log.Printf(
"Problem in the catalog: Package %s declares dependency on %s " +
"but %s is missing from the %s catalog.", pkg.Pkginst, dep, dep,
- cws.spec)
+ cws.Spec)
catalog_ok = false
}
}
@@ -185,40 +173,6 @@
return catalog_ok;
}
-func NewPkgInCatalog(lst []string) (*PkgInCatalog, error) {
- size, err := strconv.ParseUint(lst[5], 10, 64)
- if err != nil {
- return nil, err
- }
- if size <= 0 {
- return nil, fmt.Errorf(
- "Package size must be greater than 0: %v in %v", lst[5], lst)
- }
-
- depends := make([]string, 0)
- if lst[6] != "none" {
- depends = strings.Split(lst[6], "|")
- }
-
- i_depends := make([]string, 0)
- if lst[8] != "none" {
- i_depends = strings.Split(lst[8], "|")
- }
-
- var pkg PkgInCatalog
- pkg.Catalogname = lst[0]
- pkg.Version = lst[1]
- pkg.Pkginst = lst[2]
- pkg.Filename = lst[3]
- pkg.Md5_sum = lst[4]
- pkg.Size = size
- pkg.Depends = depends
- pkg.Category = lst[7]
- pkg.I_depends = i_depends
- pkg.Description = lst[9]
- return &pkg, nil
-}
-
func (self *CatalogSpec) UnmarshalJSON(data []byte) error {
var slice []string
err := json.Unmarshal(data, &slice)
@@ -228,21 +182,21 @@
if len(slice) != 3 {
return fmt.Errorf("%+v is wrong length, should be 3", slice)
}
- self.catrel = slice[2]
- self.arch = slice[1]
- self.osrel = slice[0]
+ self.Catrel = slice[2]
+ self.Arch = slice[1]
+ self.Osrel = slice[0]
return nil
}
-func GetCatalogSpecs() (CatalogSpecs, error) {
- url := fmt.Sprintf("%s/catalogs/", Pkgdb_url)
+func GetCatalogSpecsFromDatabase() ([]CatalogSpec, error) {
+ url := fmt.Sprintf("%s/catalogs/", PkgdbUrl)
resp, err := http.Get(url)
if err != nil {
return nil, err
}
defer resp.Body.Close()
- catspecs := make(CatalogSpecs, 0)
+ catspecs := make([]CatalogSpec, 0)
dec := json.NewDecoder(resp.Body)
if err := dec.Decode(&catspecs); err != nil {
log.Println("Failed to decode JSON from", url)
@@ -253,13 +207,13 @@
return nil, fmt.Errorf("Retrieved 0 catalogs")
}
- log.Println("GetCatalogSpecs returns", len(catspecs), "catalogs from", url)
+ log.Println("GetCatalogSpecsFromDatabase returns", len(catspecs), "catalogs from", url)
return catspecs, nil
}
func GetCatalogWithSpec(catspec CatalogSpec) (CatalogWithSpec, error) {
url := fmt.Sprintf("%s/catalogs/%s/%s/%s/for-generation/as-dicts/",
- Pkgdb_url, catspec.catrel, catspec.arch, catspec.osrel)
+ PkgdbUrl, catspec.Catrel, catspec.Arch, catspec.Osrel)
log.Println("Making a request to", url)
resp, err := http.Get(url)
if err != nil {
@@ -268,7 +222,7 @@
}
defer resp.Body.Close()
- var pkgs Catalog
+ var pkgs []Package
dec := json.NewDecoder(resp.Body)
if err := dec.Decode(&pkgs); err != nil {
log.Println("Failed to decode JSON output from", url, ":", err)
@@ -277,19 +231,19 @@
log.Println("Retrieved", catspec, "with", len(pkgs), "packages")
- cws := MakeCatalogWithSpec(catspec, pkgs)
+ cws := CatalogWithSpec{catspec, pkgs}
if !cws.IsSane() {
return cws, fmt.Errorf("There are sanity issues with the %s catalog. " +
"Please check the log for more information.",
- cws.spec)
+ cws.Spec)
}
return cws, nil
}
-func filterCatspecs(all_catspecs CatalogSpecs, catrel string) CatalogSpecs {
- catspecs := make(CatalogSpecs, 0)
+func filterCatspecs(all_catspecs []CatalogSpec, catrel string) []CatalogSpec {
+ catspecs := make([]CatalogSpec, 0)
for _, catspec := range all_catspecs {
- if catspec.catrel == catrel {
+ if catspec.Catrel == catrel {
catspecs = append(catspecs, catspec)
}
}
@@ -310,9 +264,9 @@
// Defines layout of files on disk. Can be built from the database or from
// disk.
-type FilesOfCatalog map[CatalogSpec]map[string]LinkOnDisk
+type filesOfCatalog map[CatalogSpec]map[string]linkOnDisk
-func GetCatalogsFromREST(catalogs_ch chan []CatalogWithSpec, catspecs CatalogSpecs) {
+func getCatalogsFromREST(catalogs_ch chan []CatalogWithSpec, catspecs []CatalogSpec) {
catalogs := make([]CatalogWithSpec, 0)
var wg sync.WaitGroup
type fetchResult struct {cws CatalogWithSpec; err error }
@@ -351,26 +305,26 @@
catalogs_ch <- catalogs
}
-func GetFilesOfCatalogFromDatabase(files_from_db_chan chan *FilesOfCatalog,
+func getFilesOfCatalogFromDatabase(files_from_db_chan chan *filesOfCatalog,
catrel string, catalog_ch chan []CatalogWithSpec) {
catalogs := <-catalog_ch
catalogs_by_spec := make(map[CatalogSpec]CatalogWithSpec)
- catspecs := make(CatalogSpecs, 0)
+ catspecs := make([]CatalogSpec, 0)
for _, cws := range catalogs {
- catalogs_by_spec[cws.spec] = cws
- catspecs = append(catspecs, cws.spec)
+ catalogs_by_spec[cws.Spec] = cws
+ catspecs = append(catspecs, cws.Spec)
}
- files_by_catspec := make(FilesOfCatalog)
+ files_by_catspec := make(filesOfCatalog)
// We must traverse catalogs in sorted order, e.g. Solaris 9 before Solaris 10.
- sort.Sort(catspecs)
- visited_catalogs := make(map[CatalogSpec]CatalogSpecs)
+ sort.Sort(byOsRelease(catspecs))
+ visited_catalogs := make(map[CatalogSpec][]CatalogSpec)
for _, catspec := range catspecs {
// Used to group catalogs we can symlink from
- compatible_catspec := CatalogSpec{catspec.catrel, catspec.arch, "none"}
- pkgs := catalogs_by_spec[catspec].pkgs
+ compatible_catspec := CatalogSpec{catspec.Catrel, catspec.Arch, "none"}
+ pkgs := catalogs_by_spec[catspec].Pkgs
for _, pkg := range pkgs {
if _, ok := files_by_catspec[catspec]; !ok {
- files_by_catspec[catspec] = make(map[string]LinkOnDisk)
+ files_by_catspec[catspec] = make(map[string]linkOnDisk)
}
var target string
var exists_already bool
@@ -386,32 +340,32 @@
if _, ok := files_by_catspec[cand_catspec][pkg.Filename]; ok {
exists_already = true
target = fmt.Sprintf("../%s/%s",
- shortenOsrel(cand_catspec.osrel),
+ shortenOsrel(cand_catspec.Osrel),
pkg.Filename)
break
}
}
}
}
- var link LinkOnDisk
+ var link linkOnDisk
if exists_already {
- link = LinkOnDisk{pkg.Filename, Symlink, &target}
+ link = linkOnDisk{pkg.Filename, symlink, &target}
} else {
- link = LinkOnDisk{pkg.Filename, Hardlink, nil}
+ link = linkOnDisk{pkg.Filename, hardlink, nil}
}
files_by_catspec[catspec][pkg.Filename] = link
}
if _, ok := visited_catalogs[compatible_catspec]; !ok {
- visited_catalogs[compatible_catspec] = make(CatalogSpecs, 0)
+ visited_catalogs[compatible_catspec] = make([]CatalogSpec, 0)
}
visited_catalogs[compatible_catspec] = append(visited_catalogs[compatible_catspec], catspec)
}
files_from_db_chan <- &files_by_catspec
}
-func GetFilesOfCatalogFromDisk(files_from_disk_chan chan *FilesOfCatalog, root_path string,
+func getFilesOfCatalogFromDisk(files_from_disk_chan chan *filesOfCatalog, root_path string,
catrel string) {
- files_by_catspec := make(FilesOfCatalog)
+ files_by_catspec := make(filesOfCatalog)
path_to_scan := path.Join(root_path, catrel)
err := filepath.Walk(path_to_scan,
func(path string, f os.FileInfo, err error) error {
@@ -432,7 +386,7 @@
basename := fields[2]
catspec := CatalogSpec{catrel, arch, osrel}
// Figuring out the file type: hardlink/symlink
- var link LinkOnDisk
+ var link linkOnDisk
if !(strings.HasSuffix(basename, ".pkg.gz") ||
strings.HasSuffix(basename, ".pkg")) {
// Not a package, won't be processed. This means the file won't be
@@ -440,19 +394,19 @@
return nil
}
if f.Mode().IsRegular() {
- link = LinkOnDisk{basename, Hardlink, nil}
+ link = linkOnDisk{basename, hardlink, nil}
} else if f.Mode() & os.ModeSymlink > 0 {
target, err := os.Readlink(path)
if err != nil {
log.Printf("Reading link of %v failed: %v\n", path, err)
} else {
- link = LinkOnDisk{basename, Symlink, &target}
+ link = linkOnDisk{basename, symlink, &target}
}
} else {
log.Println(path, "Is not a hardlink or a symlink. What is it then? Ignoring.")
}
if _, ok := files_by_catspec[catspec]; !ok {
- files_by_catspec[catspec] = make(map[string]LinkOnDisk)
+ files_by_catspec[catspec] = make(map[string]linkOnDisk)
}
files_by_catspec[catspec][basename] = link
return nil
@@ -463,9 +417,9 @@
files_from_disk_chan <- &files_by_catspec
}
-func FilesOfCatalogDiff(base_files *FilesOfCatalog,
- to_substract *FilesOfCatalog) *FilesOfCatalog {
- left_in_base := make(FilesOfCatalog)
+func filesOfCatalogDiff(base_files *filesOfCatalog,
+ to_substract *filesOfCatalog) *filesOfCatalog {
+ left_in_base := make(filesOfCatalog)
for catspec, filemap := range *base_files {
for path, link := range filemap {
// Is it in the database?
@@ -477,7 +431,7 @@
}
if !in_db {
if _, ok := left_in_base[catspec]; !ok {
- left_in_base[catspec] = make(map[string]LinkOnDisk)
+ left_in_base[catspec] = make(map[string]linkOnDisk)
}
left_in_base[catspec][path] = link
}
@@ -487,18 +441,18 @@
}
// Returns true if there were any operations performed
-func UpdateDisk(files_to_add *FilesOfCatalog,
- files_to_remove *FilesOfCatalog,
+func updateDisk(files_to_add *filesOfCatalog,
+ files_to_remove *filesOfCatalog,
catalog_root string) bool {
changes_made := false
for catspec, files_by_path := range *files_to_add {
for path, link := range files_by_path {
- tgt_path := filepath.Join(catalog_root, catspec.catrel, catspec.arch,
- shortenOsrel(catspec.osrel), path)
- if link.link_type == Hardlink {
+ tgt_path := filepath.Join(catalog_root, catspec.Catrel, catspec.Arch,
+ shortenOsrel(catspec.Osrel), path)
+ if link.link_type == hardlink {
src_path := filepath.Join(catalog_root, "allpkgs", path)
- if !Dry_run {
+ if !DryRun {
if err := syscall.Link(src_path, tgt_path); err != nil {
log.Fatalf("Could not create hardlink from %v to %v: %v",
src_path, tgt_path, err)
@@ -506,10 +460,10 @@
}
log.Printf("ln \"%s\"\n \"%s\"\n", src_path, tgt_path)
changes_made = true
- } else if link.link_type == Symlink {
+ } else if link.link_type == symlink {
// The source path is relative to the target, because it's a symlink
src_path := *(link.target)
- if !Dry_run {
+ if !DryRun {
if err := syscall.Symlink(src_path, tgt_path); err != nil {
log.Fatalf("Could not symlink %v to %v: %v", src_path, tgt_path, err)
}
@@ -524,9 +478,9 @@
for catspec, files_by_path := range *files_to_remove {
for path, _ := range files_by_path {
- pkg_path := filepath.Join(catalog_root, catspec.catrel, catspec.arch,
- shortenOsrel(catspec.osrel), path)
- if !Dry_run {
+ pkg_path := filepath.Join(catalog_root, catspec.Catrel, catspec.Arch,
+ shortenOsrel(catspec.Osrel), path)
+ if !DryRun {
if err:= syscall.Unlink(pkg_path); err != nil {
log.Fatalf("Could not unlink %v: %v", pkg_path, err)
}
@@ -538,20 +492,20 @@
return changes_made
}
-func FormatCatalogFilePath(root_path string, catspec CatalogSpec,
+func formatCatalogFilePath(root_path string, catspec CatalogSpec,
filename string) string {
- return filepath.Join(root_path, catspec.catrel,
- catspec.arch, shortenOsrel(catspec.osrel),
+ return filepath.Join(root_path, catspec.Catrel,
+ catspec.Arch, shortenOsrel(catspec.Osrel),
filename)
}
-func GetCatalogFromIndexFile(catalog_root string,
+func getCatalogFromIndexFile(catalog_root string,
catspec CatalogSpec) (*CatalogWithSpec, error) {
- pkgs := make(Catalog, 0)
+ pkgs := make([]Package, 0)
// Read the descriptions first, and build a map so that descriptions can be
// easily accessed when parsing the catalog file.
- desc_file_path := FormatCatalogFilePath(catalog_root, catspec, "descriptions")
- catalog_file_path := FormatCatalogFilePath(catalog_root, catspec, "catalog")
+ desc_file_path := formatCatalogFilePath(catalog_root, catspec, "descriptions")
+ catalog_file_path := formatCatalogFilePath(catalog_root, catspec, "catalog")
desc_by_catalogname := make(map[string]string)
desc_file, err := os.Open(desc_file_path)
if err != nil {
@@ -598,9 +552,9 @@
if size <= 0 {
log.Fatalln("Package size must be > 0:", fields[5])
}
- deps := ParseCatalogFormatPkginstList(fields[6])
- i_deps := ParseCatalogFormatPkginstList(fields[8])
- pkg := PkgInCatalog{
+ deps := parseCatalogFormatPkginstList(fields[6])
+ i_deps := parseCatalogFormatPkginstList(fields[8])
+ pkg := Package{
catalogname,
fields[1],
fields[2],
@@ -618,16 +572,16 @@
log.Fatalf("Error reading %v: %v", catalog_file_path, err)
}
log.Println("Catalog index found:", catspec, "and", len(pkgs), "pkgs")
- cws := MakeCatalogWithSpec(catspec, pkgs)
+ cws := CatalogWithSpec{catspec, pkgs}
return &cws, nil
}
-func GetCatalogIndexes(catspecs CatalogSpecs,
+func getCatalogIndexes(catspecs []CatalogSpec,
root_dir string) []CatalogWithSpec {
// Read all catalog files and parse them.
catalogs := make([]CatalogWithSpec, 0)
for _, catspec := range catspecs {
- catalog, err := GetCatalogFromIndexFile(root_dir, catspec)
+ catalog, err := getCatalogFromIndexFile(root_dir, catspec)
if err != nil {
log.Fatalln("Could not get the index file of", catspec, "in",
root_dir, "error:", err)
@@ -643,26 +597,26 @@
c2 CatalogWithSpec
}
-func GroupCatalogsBySpec(c1, c2 []CatalogWithSpec) (*map[CatalogSpec]catalogPair) {
+func groupCatalogsBySpec(c1, c2 []CatalogWithSpec) (*map[CatalogSpec]catalogPair) {
pairs_by_spec := make(map[CatalogSpec]catalogPair)
for _, cws := range c1 {
- pairs_by_spec[cws.spec] = catalogPair{cws, CatalogWithSpec{}}
+ pairs_by_spec[cws.Spec] = catalogPair{cws, CatalogWithSpec{}}
}
for _, cws := range c2 {
- if pair, ok := pairs_by_spec[cws.spec]; ok {
+ if pair, ok := pairs_by_spec[cws.Spec]; ok {
pair.c2 = cws
- pairs_by_spec[cws.spec] = pair
+ pairs_by_spec[cws.Spec] = pair
} else {
- log.Println("Did not find", cws.spec, "in c2")
+ log.Println("Did not find", cws.Spec, "in c2")
}
}
return &pairs_by_spec
}
-func MassCompareCatalogs(c1, c2 []CatalogWithSpec) (*map[CatalogSpec]bool) {
+func massCompareCatalogs(c1, c2 []CatalogWithSpec) (*map[CatalogSpec]bool) {
diff_detected := make(map[CatalogSpec]bool)
- pairs_by_spec := GroupCatalogsBySpec(c1, c2)
+ pairs_by_spec := groupCatalogsBySpec(c1, c2)
// The catalog disk/db pairs are ready to be compared.
for spec, pair := range *pairs_by_spec {
@@ -670,19 +624,19 @@
// DeepEqual could do it, but it is too crude; doesn't provide details
// This code can probably be simplified.
catalognames := make(map[string]bool)
- c1_by_catn := make(map[string]PkgInCatalog)
- c2_by_catn := make(map[string]PkgInCatalog)
- if len(pair.c1.pkgs) != len(pair.c2.pkgs) {
+ c1_by_catn := make(map[string]Package)
+ c2_by_catn := make(map[string]Package)
+ if len(pair.c1.Pkgs) != len(pair.c2.Pkgs) {
log.Printf("%v: %v vs %v are different length\n",
- spec, len(pair.c1.pkgs), len(pair.c2.pkgs))
+ spec, len(pair.c1.Pkgs), len(pair.c2.Pkgs))
diff_detected[spec] = true
continue
}
- for _, pkg := range pair.c1.pkgs {
+ for _, pkg := range pair.c1.Pkgs {
catalognames[pkg.Catalogname] = true
c1_by_catn[pkg.Catalogname] = pkg
}
- for _, pkg := range pair.c2.pkgs {
+ for _, pkg := range pair.c2.Pkgs {
catalognames[pkg.Catalogname] = true
c2_by_catn[pkg.Catalogname] = pkg
}
@@ -694,7 +648,7 @@
// This comparison method is a bit silly. But we can't simply compare
// the structs, because they contain slices, and slices are not
// comparable.
- if pkg_db.FormatCatalogIndexLine() != pkg_disk.FormatCatalogIndexLine() {
+ if pkg_db.AsCatalogEntry() != pkg_disk.AsCatalogEntry() {
log.Printf("different in %v: %v %v vs %v, enough to trigger " +
"catalog index generation\n", spec, pkg_db.Filename,
pkg_db.Md5_sum, pkg_disk.Md5_sum)
@@ -717,11 +671,11 @@
return &diff_detected
}
-func GenerateCatalogIndexFile(catalog_root string,
+func generateCatalogIndexFile(catalog_root string,
cws CatalogWithSpec) {
- log.Printf("GenerateCatalogIndexFile(%v, %v)\n", catalog_root, cws.spec)
- catalog_file_path := FormatCatalogFilePath(catalog_root, cws.spec, "catalog")
- desc_file_path := FormatCatalogFilePath(catalog_root, cws.spec, "descriptions")
+ log.Printf("generateCatalogIndexFile(%v, %v)\n", catalog_root, cws.Spec)
+ catalog_file_path := formatCatalogFilePath(catalog_root, cws.Spec, "catalog")
+ desc_file_path := formatCatalogFilePath(catalog_root, cws.Spec, "descriptions")
defer func() {
// If there's a "catalog.gz" here, remove it. It will be recreated later by
@@ -735,7 +689,7 @@
}()
// If there are no files in the catalog, simply remove the catalog files.
- if len(cws.pkgs) <= 0 {
+ if len(cws.Pkgs) <= 0 {
for _, filename := range []string{catalog_file_path, desc_file_path} {
// If the files are missing, that's okay
if err := os.Remove(filename); err != nil {
@@ -743,7 +697,7 @@
log.Println("Could not remove", filename, "error:", err)
}
} else {
- log.Println("Removed", filename, "because the", cws.spec,
+ log.Println("Removed", filename, "because the", cws.Spec,
"catalog is empty")
}
}
@@ -753,7 +707,7 @@
var catbuf *bufio.Writer
var descbuf *bufio.Writer
- if !Dry_run {
+ if !DryRun {
catalog_fd, err := os.Create(catalog_file_path)
if err != nil {
log.Fatalln("Could not open", catalog_file_path, "for writing:", err)
@@ -783,19 +737,20 @@
ts_line := fmt.Sprintf("# CREATIONDATE %s\n", time.Now().Format(time.RFC3339))
catbuf.WriteString(ts_line)
- for _, pkg := range cws.pkgs {
- catbuf.WriteString(pkg.FormatCatalogIndexLine())
+ for _, pkg := range cws.Pkgs {
+ catbuf.WriteString(pkg.AsCatalogEntry())
catbuf.WriteString("\n")
- descbuf.WriteString(pkg.FormatDescriptionLine())
+ descbuf.WriteString(pkg.AsDescription())
descbuf.WriteString("\n")
}
}
+// The main function of this package.
func GenerateCatalogRelease(catrel string, catalog_root string) {
log.Println("catrel:", catrel)
log.Println("catalog_root:", catalog_root)
- all_catspecs, err := GetCatalogSpecs()
+ all_catspecs, err := GetCatalogSpecsFromDatabase()
if err != nil {
log.Panicln("Could not get the catalog spec list")
}
@@ -807,14 +762,14 @@
// based on the catalogs
catalog_ch := make(chan []CatalogWithSpec)
- go GetCatalogsFromREST(catalog_ch, catspecs)
- files_from_db_chan := make(chan *FilesOfCatalog)
- go GetFilesOfCatalogFromDatabase(files_from_db_chan, catrel, catalog_ch)
+ go getCatalogsFromREST(catalog_ch, catspecs)
+ files_from_db_chan := make(chan *filesOfCatalog)
+ go getFilesOfCatalogFromDatabase(files_from_db_chan, catrel, catalog_ch)
// 2. build a data structure based on the contents of the disk
// it should be done in parallel
- files_from_disk_chan := make(chan *FilesOfCatalog)
- go GetFilesOfCatalogFromDisk(files_from_disk_chan, catalog_root, catrel)
+ files_from_disk_chan := make(chan *filesOfCatalog)
+ go getFilesOfCatalogFromDisk(files_from_disk_chan, catalog_root, catrel)
// 3. Retrieve results
files_by_catspec_disk := <-files_from_disk_chan
@@ -823,21 +778,21 @@
// 4. compare, generate a list of operations to perform
log.Println("Calculating the difference")
- files_to_add := FilesOfCatalogDiff(files_by_catspec_db,
+ files_to_add := filesOfCatalogDiff(files_by_catspec_db,
files_by_catspec_disk)
- files_to_remove := FilesOfCatalogDiff(files_by_catspec_disk,
+ files_to_remove := filesOfCatalogDiff(files_by_catspec_disk,
files_by_catspec_db)
// 5. perform these operations
// ...or save a disk file with instructions.
- if Dry_run {
+ if DryRun {
log.Println("Dry run, only logging operations that would have been made.")
} else {
log.Println("Applying link/unlink operations to disk")
}
- changes_made := UpdateDisk(files_to_add, files_to_remove, catalog_root)
+ changes_made := updateDisk(files_to_add, files_to_remove, catalog_root)
if !changes_made {
- if Dry_run {
+ if DryRun {
log.Println("It was a dry run, but there would not have been any " +
"link/unlink operations performed anyway")
} else {
@@ -850,24 +805,24 @@
// files on disk doesn't mean the catalog file needs to be updated.
// Getting the content of catalog index files
- catalogs_idx_on_disk := GetCatalogIndexes(catspecs, catalog_root)
+ catalogs_idx_on_disk := getCatalogIndexes(catspecs, catalog_root)
catalogs_in_db := <-catalog_ch
- diff_flag_by_spec := MassCompareCatalogs(catalogs_in_db, catalogs_idx_on_disk)
+ diff_flag_by_spec := massCompareCatalogs(catalogs_in_db, catalogs_idx_on_disk)
log.Println(*diff_flag_by_spec)
var wg sync.WaitGroup
for _, cws := range catalogs_in_db {
- diff_present, ok := (*diff_flag_by_spec)[cws.spec]
+ diff_present, ok := (*diff_flag_by_spec)[cws.Spec]
if !ok { continue }
if diff_present {
wg.Add(1)
go func(catalog_root string, cws CatalogWithSpec) {
defer wg.Done()
- GenerateCatalogIndexFile(catalog_root, cws)
+ generateCatalogIndexFile(catalog_root, cws)
}(catalog_root, cws)
} else {
- log.Println("Not regenerating", cws.spec,
+ log.Println("Not regenerating", cws.Spec,
"because catalog contents on disk and in the database " +
"is the same.")
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Tue Mar 25 01:03:44 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Tue, 25 Mar 2014 00:03:44 +0000
Subject: SF.net SVN: gar:[23275] csw/mgar/gar/v2/go/src/opencsw/diskformat/
diskformat.go
Message-ID: <3ftCNm5XwczVj@mail.opencsw.org>
Revision: 23275
http://sourceforge.net/p/gar/code/23275
Author: wahwah
Date: 2014-03-25 00:03:42 +0000 (Tue, 25 Mar 2014)
Log Message:
-----------
cat-gen: Tweaking log output
Removed one leftover debugging line, and added one meaningful message when
fetching a catalog via REST fails.
Modified Paths:
--------------
csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go
Modified: csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go
===================================================================
--- csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go 2014-03-24 23:52:08 UTC (rev 23274)
+++ csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go 2014-03-25 00:03:42 UTC (rev 23275)
@@ -277,7 +277,7 @@
defer wg.Done()
catalog_with_spec, err := GetCatalogWithSpec(catspec)
if err != nil {
- log.Println(err)
+ log.Println("Error while retrieving the", catspec, "catalog:", err)
ch <- fetchResult{CatalogWithSpec{}, err}
}
ch <- fetchResult{catalog_with_spec, nil}
@@ -809,7 +809,6 @@
catalogs_in_db := <-catalog_ch
diff_flag_by_spec := massCompareCatalogs(catalogs_in_db, catalogs_idx_on_disk)
- log.Println(*diff_flag_by_spec)
var wg sync.WaitGroup
for _, cws := range catalogs_in_db {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From cgrzemba at users.sourceforge.net Wed Mar 26 08:34:34 2014
From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net)
Date: Wed, 26 Mar 2014 07:34:34 +0000
Subject: SF.net SVN: gar:[23276] csw/mgar/pkg/postfix/branches/postfix-2.11/
Message-ID: <3fv1Ld2PP1zl0@mail.opencsw.org>
Revision: 23276
http://sourceforge.net/p/gar/code/23276
Author: cgrzemba
Date: 2014-03-26 07:34:32 +0000 (Wed, 26 Mar 2014)
Log Message:
-----------
add branch postfix-2.11
Added Paths:
-----------
csw/mgar/pkg/postfix/branches/postfix-2.11/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Wed Mar 26 10:08:34 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Wed, 26 Mar 2014 09:08:34 +0000
Subject: SF.net SVN: gar:[23277] csw/mgar/pkg/libcurl4/trunk
Message-ID: <3fv3Qz1pZ7zsM@mail.opencsw.org>
Revision: 23277
http://sourceforge.net/p/gar/code/23277
Author: dmichelsen
Date: 2014-03-26 09:08:31 +0000 (Wed, 26 Mar 2014)
Log Message:
-----------
libcurl4/trunk: Update to 7.36.0
Modified Paths:
--------------
csw/mgar/pkg/libcurl4/trunk/Makefile
csw/mgar/pkg/libcurl4/trunk/checksums
Modified: csw/mgar/pkg/libcurl4/trunk/Makefile
===================================================================
--- csw/mgar/pkg/libcurl4/trunk/Makefile 2014-03-26 07:34:32 UTC (rev 23276)
+++ csw/mgar/pkg/libcurl4/trunk/Makefile 2014-03-26 09:08:31 UTC (rev 23277)
@@ -1,5 +1,5 @@
NAME = curl
-VERSION = 7.35.0
+VERSION = 7.36.0
GARTYPE = v2
DESCRIPTION = Command line tool and library for client-side URL transfers
Modified: csw/mgar/pkg/libcurl4/trunk/checksums
===================================================================
--- csw/mgar/pkg/libcurl4/trunk/checksums 2014-03-26 07:34:32 UTC (rev 23276)
+++ csw/mgar/pkg/libcurl4/trunk/checksums 2014-03-26 09:08:31 UTC (rev 23277)
@@ -1 +1 @@
-ad7d63864414c61246450dc5e2248c7b curl-7.35.0.tar.lzma
+291081121e604b04e0035bfdd736d196 curl-7.36.0.tar.lzma
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Wed Mar 26 21:49:21 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Wed, 26 Mar 2014 20:49:21 +0000
Subject: SF.net SVN: opencsw:[675] buildfarm/bin/opencsw-future-update
Message-ID: <3fvLzb3XfCz5W@mail.opencsw.org>
Revision: 675
http://sourceforge.net/p/opencsw/code/675
Author: dmichelsen
Date: 2014-03-26 20:49:21 +0000 (Wed, 26 Mar 2014)
Log Message:
-----------
opencsw-future-update: Send passive checks on catalog generation
Modified Paths:
--------------
buildfarm/bin/opencsw-future-update
Modified: buildfarm/bin/opencsw-future-update
===================================================================
--- buildfarm/bin/opencsw-future-update 2014-03-16 12:22:15 UTC (rev 674)
+++ buildfarm/bin/opencsw-future-update 2014-03-26 20:49:21 UTC (rev 675)
@@ -27,7 +27,7 @@
fi
fi
-trap "rm -f \"${pidfile}\"; rmdir \"${lockpath}\"; mv /opt/csw/apache2/share/htdocs/buildfarm/catalog-generation.log.new /opt/csw/apache2/share/htdocs/buildfarm/catalog-generation.log; exit 0" 1 2 3 5 6 15 ERR
+trap "rm -f \"${pidfile}\"; rmdir \"${lockpath}\"; mv /opt/csw/apache2/share/htdocs/buildfarm/catalog-generation.log.new /opt/csw/apache2/share/htdocs/buildfarm/catalog-generation.log; /usr/bin/printf 'buildfarm.opencsw.org\tCATALOG-GENERATION\t2\tCatalog generation failed\n' | /opt/csw/nagios/bin/send_nsca -H 192.168.1.50 -c /etc/opt/csw/nagios/send_nsca.cfg;exit 0" 1 2 3 5 6 15 ERR EXIT
echo $$ > "${pidfile}"
exec >/opt/csw/apache2/share/htdocs/buildfarm/catalog-generation.log.new 2>&1
@@ -50,3 +50,6 @@
rm -f "${pidfile}"
rmdir "${lockpath}"
+
+trap - EXIT
+printf "buildfarm.opencsw.org\tCATALOG-GENERATION\t0\tCatalog generation finished\n" | /opt/csw/nagios/bin/send_nsca -H 192.168.1.50 -c /etc/opt/csw/nagios/send_nsca.cfg
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Thu Mar 27 08:49:12 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Thu, 27 Mar 2014 07:49:12 +0000
Subject: SF.net SVN: gar:[23278] csw/mgar/pkg/php5/branches
Message-ID: <3fvdd66Q7Zz15X@mail.opencsw.org>
Revision: 23278
http://sourceforge.net/p/gar/code/23278
Author: dmichelsen
Date: 2014-03-27 07:49:11 +0000 (Thu, 27 Mar 2014)
Log Message:
-----------
php5/branches: Commit intermediate state
Modified Paths:
--------------
csw/mgar/pkg/php5/branches/php-5.5.x/Makefile
csw/mgar/pkg/php5/branches/php-5.5.x/checksums
csw/mgar/pkg/php5/branches/php-5.6.x/Makefile
csw/mgar/pkg/php5/branches/php-5.6.x/checksums
Added Paths:
-----------
csw/mgar/pkg/php5/branches/php-5.6.x/
Modified: csw/mgar/pkg/php5/branches/php-5.5.x/Makefile
===================================================================
--- csw/mgar/pkg/php5/branches/php-5.5.x/Makefile 2014-03-26 09:08:31 UTC (rev 23277)
+++ csw/mgar/pkg/php5/branches/php-5.5.x/Makefile 2014-03-27 07:49:11 UTC (rev 23278)
@@ -1,5 +1,5 @@
NAME = php
-VERSION = 5.5.7
+VERSION = 5.5.10
GARTYPE = v2
DESCRIPTION = A high-level scripting language.
@@ -37,7 +37,7 @@
VENDOR_URL = http://www.php.net/
LICENSE = LICENSE
-DISTFILES += $(DISTNAME).tar.xz
+DISTFILES += $(DISTNAME).tar.bz2
DISTFILES += phpext pear.conf.CSW CSWphp5.postinstall
DISTFILES += CSWphp5.cswreleasenotes
DISTFILES += CSWap2-modphp5.cswreleasenotes
@@ -223,7 +223,7 @@
# Use reinplacement until this is fixed:
# https://bugs.php.net/bug.php?id=66298
-REINPLACEMENTS += dos
+#REINPLACEMENTS += dos
REINPLACE_MATCH_dos = \r$$
REINPLACE_WITH_dos =
REINPLACE_FILES_dos += ext/opcache/Optimizer/zend_optimizer.c
@@ -237,11 +237,14 @@
# using CC as linker would have made this automatic.
SUBDIR64-sparc = v9
SUBDIR64-i386 = amd64
-EXTRA_LINKER_FLAGS = -L$($(GARCOMPILER)_CC_HOME)/lib/$(SUBDIR$(MEMORYMODEL)-$(GARCH)) -lCstd -lz
+EXTRA_LINKER_FLAGS = -L$($(GARCOMPILER)_CC_HOME)/lib/$(SUBDIR$(MEMORYMODEL)-$(GARCH)) -lCstd -lCrun -lz
NOISALIST = 1
STRIP_LIBTOOL = 1
+# We need to link against libmysql which requires a recent libc
+LINKER_MAPS =
+
EXTRA_CONFIGURE_EXPORTS += IBM_DB_INCLUDE
EXTRA_CONFIGURE_EXPORTS += IBM_DB_LIB
EXTRA_CONFIGURE_EXPORTS += DB2INSTANCE
@@ -256,7 +259,8 @@
EXTRA_RUNPATH_LINKER_FLAGS += -R$(CONFIGURE_ENV_IBM_DB_LIB)
# We need CMSG_SPACE
-EXTRA_CPPFLAGS += -D_XPG4_2 -D__EXTENSIONS__
+# EXTRA_CPPFLAGS += -D_XPG4_2 -D__EXTENSIONS__
+EXTRA_CFLAGS += -D_XPG4_2 -D__EXTENSIONS__
sysconfdir = /etc$(prefix)/php5
Modified: csw/mgar/pkg/php5/branches/php-5.5.x/checksums
===================================================================
--- csw/mgar/pkg/php5/branches/php-5.5.x/checksums 2014-03-26 09:08:31 UTC (rev 23277)
+++ csw/mgar/pkg/php5/branches/php-5.5.x/checksums 2014-03-27 07:49:11 UTC (rev 23278)
@@ -1 +1 @@
-0c02437f661105221e99a301a5275a41 php-5.5.7.tar.xz
+d608230c7890b6a0cc5b92e66e866226 php-5.5.10.tar.bz2
Modified: csw/mgar/pkg/php5/branches/php-5.6.x/Makefile
===================================================================
--- csw/mgar/pkg/php5/branches/php-5.5.x/Makefile 2014-02-22 10:45:57 UTC (rev 23063)
+++ csw/mgar/pkg/php5/branches/php-5.6.x/Makefile 2014-03-27 07:49:11 UTC (rev 23278)
@@ -1,5 +1,5 @@
NAME = php
-VERSION = 5.5.7
+VERSION = 5.6.0alpha3
GARTYPE = v2
DESCRIPTION = A high-level scripting language.
@@ -30,6 +30,7 @@
PATH := /opt/csw/gnu:/opt/csw/bin:$(PATH)
MASTER_SITES += http://de1.php.net/distributions/
+MASTER_SITES += http://downloads.php.net/tyrael/
# SF_PROJECT = $(shell echo $(NAME) | sed -e 's/[0-9]//g')
EXTRA_INSTALL_ENV = INSTALL_ROOT=$(DESTDIR)
@@ -223,10 +224,10 @@
# Use reinplacement until this is fixed:
# https://bugs.php.net/bug.php?id=66298
-REINPLACEMENTS += dos
-REINPLACE_MATCH_dos = \r$$
-REINPLACE_WITH_dos =
-REINPLACE_FILES_dos += ext/opcache/Optimizer/zend_optimizer.c
+#REINPLACEMENTS += dos
+#REINPLACE_MATCH_dos = \r$$
+#REINPLACE_WITH_dos =
+#REINPLACE_FILES_dos += ext/opcache/Optimizer/zend_optimizer.c
EXTRA_CFLAGS = -I$(prefix)/include/ncursesw
EXTRA_LIB = /opt/csw/postgresql/lib
@@ -237,11 +238,15 @@
# using CC as linker would have made this automatic.
SUBDIR64-sparc = v9
SUBDIR64-i386 = amd64
-EXTRA_LINKER_FLAGS = -L$($(GARCOMPILER)_CC_HOME)/lib/$(SUBDIR$(MEMORYMODEL)-$(GARCH)) -lCstd -lz
+#EXTRA_LINKER_FLAGS = -L$($(GARCOMPILER)_CC_HOME)/lib/$(SUBDIR$(MEMORYMODEL)-$(GARCH)) -lCstd -lz
+EXTRA_LINKER_FLAGS = -L$($(GARCOMPILER)_CC_HOME)/lib/$(SUBDIR$(MEMORYMODEL)-$(GARCH)) -lCrun
NOISALIST = 1
STRIP_LIBTOOL = 1
+# We must not cut back on libc as we need current libmysql requiring getpagesizes2
+LINKER_MAPS =
+
EXTRA_CONFIGURE_EXPORTS += IBM_DB_INCLUDE
EXTRA_CONFIGURE_EXPORTS += IBM_DB_LIB
EXTRA_CONFIGURE_EXPORTS += DB2INSTANCE
@@ -256,8 +261,13 @@
EXTRA_RUNPATH_LINKER_FLAGS += -R$(CONFIGURE_ENV_IBM_DB_LIB)
# We need CMSG_SPACE
-EXTRA_CPPFLAGS += -D_XPG4_2 -D__EXTENSIONS__
+# EXTRA_CPPFLAGS += -D_XPG4_2 -D__EXTENSIONS__
+EXTRA_CFLAGS += -D_XPG4_2 -D__EXTENSIONS__
+# Otherwise we get the following error because std:: is not explicitly used:
+# "/opt/SUNWspro/prod/include/CC/Cstd/rw/traits", line 535: Error: The function "wcsstr" must have a prototype.
+#EXTRA_CPPFLAGS += -D_RWSTD_NO_NEW_HEADER
+
sysconfdir = /etc$(prefix)/php5
CONFIGURE_ARGS += --prefix=$(prefix)/php5
@@ -361,7 +371,7 @@
endif
# Disable Tests (report submitted to PHP QA)
-SKIPTEST = 1
+#SKIPTEST = 1
#ENABLE_CHECK = 0
TEST_TARGET = test
@@ -373,7 +383,7 @@
@(cd $(WORKSRC); rm .gitignore; git add -A; git commit -m 'adding files that were previously ignored' )
@$(MAKECOOKIE)
-pre-configure-modulated:
+xxxxpre-configure-modulated:
@echo Munging c-client routine in configure.
@(cd $(WORKSRC); \
perl -pi -e "s|c-client4 c-client|c-client.2007f|g" configure; \
@@ -411,7 +421,7 @@
done )
@$(MAKECOOKIE)
-post-merge:
+post-merge-all:
@echo " ==> Fixing php.ini: adding loadable session.so support"
@-( cd $(PKGROOT)/$(sysconfdir)/; \
perl -pi -e 's/extension=bz2.so/extension=session.so\n;extension=bz2.so/' php.ini.CSW; )
Modified: csw/mgar/pkg/php5/branches/php-5.6.x/checksums
===================================================================
--- csw/mgar/pkg/php5/branches/php-5.5.x/checksums 2014-02-22 10:45:57 UTC (rev 23063)
+++ csw/mgar/pkg/php5/branches/php-5.6.x/checksums 2014-03-27 07:49:11 UTC (rev 23278)
@@ -1 +1 @@
-0c02437f661105221e99a301a5275a41 php-5.5.7.tar.xz
+57d9317dab2e8eab962990ff0c5ea70a php-5.6.0alpha3.tar.xz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Fri Mar 28 18:29:39 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Fri, 28 Mar 2014 17:29:39 +0000
Subject: SF.net SVN: gar:[23279] csw/mgar/pkg/lang-python
Message-ID: <3fwVSN20k2zcm@mail.opencsw.org>
Revision: 23279
http://sourceforge.net/p/gar/code/23279
Author: dmichelsen
Date: 2014-03-28 17:29:38 +0000 (Fri, 28 Mar 2014)
Log Message:
-----------
lang-python/send_nsca: Initial commit
Added Paths:
-----------
csw/mgar/pkg/lang-python/send_nsca/
csw/mgar/pkg/lang-python/send_nsca/Makefile
csw/mgar/pkg/lang-python/send_nsca/branches/
csw/mgar/pkg/lang-python/send_nsca/tags/
csw/mgar/pkg/lang-python/send_nsca/trunk/
csw/mgar/pkg/lang-python/send_nsca/trunk/Makefile
csw/mgar/pkg/lang-python/send_nsca/trunk/checksums
csw/mgar/pkg/lang-python/send_nsca/trunk/files/
Copied: csw/mgar/pkg/lang-python/send_nsca/Makefile (from rev 23249, csw/mgar/pkg/template/Makefile)
===================================================================
--- csw/mgar/pkg/lang-python/send_nsca/Makefile (rev 0)
+++ csw/mgar/pkg/lang-python/send_nsca/Makefile 2014-03-28 17:29:38 UTC (rev 23279)
@@ -0,0 +1,15 @@
+# vim: ft=make ts=4 sw=4 noet
+
+default:
+ @echo "You are in the pkg/ directory."
+
+%:
+ $(MAKE) -C trunk $*
+
+paranoid-%:
+ $(MAKE) -C trunk $* || exit 2
+
+export BUILDLOG ?= $(shell pwd)/buildlog.txt
+
+report-%:
+ $(MAKE) -C trunk $* || echo " *** make $* in $$i failed ***" >> $(BUILDLOG)
Index: csw/mgar/pkg/lang-python/send_nsca/trunk
===================================================================
--- csw/mgar/pkg/lang-python/send_nsca/trunk 2014-03-27 07:49:11 UTC (rev 23278)
+++ csw/mgar/pkg/lang-python/send_nsca/trunk 2014-03-28 17:29:38 UTC (rev 23279)
Property changes on: csw/mgar/pkg/lang-python/send_nsca/trunk
___________________________________________________________________
Added: svn:ignore
## -0,0 +1 ##
+work
Added: csw/mgar/pkg/lang-python/send_nsca/trunk/Makefile
===================================================================
--- csw/mgar/pkg/lang-python/send_nsca/trunk/Makefile (rev 0)
+++ csw/mgar/pkg/lang-python/send_nsca/trunk/Makefile 2014-03-28 17:29:38 UTC (rev 23279)
@@ -0,0 +1,19 @@
+# Copyright 2009 OpenCSW
+# Distributed under the terms of the GNU General Public License v2
+# $Id: Makefile 22208 2013-10-14 12:42:44Z dmichelsen $
+
+NAME = send_nsca
+VERSION = 0.1.4.1
+CATEGORIES = python
+GARTYPE = v2
+
+MASTER_SITES += $(PYPI_MIRROR)
+DISTFILES += $(DISTNAME).tar.gz
+
+#LICENSE = LICENSE
+
+PACKAGES += CSWpy-send-nsca
+SPKG_DESC_CSWpy-send-nsca = Python implementation of Nagios send_nsca
+# PKGFILES is catchall
+
+include gar/category.mk
Added: csw/mgar/pkg/lang-python/send_nsca/trunk/checksums
===================================================================
--- csw/mgar/pkg/lang-python/send_nsca/trunk/checksums (rev 0)
+++ csw/mgar/pkg/lang-python/send_nsca/trunk/checksums 2014-03-28 17:29:38 UTC (rev 23279)
@@ -0,0 +1 @@
+9cd3b85c4d1968d7ca3d0405ed85bff7 send_nsca-0.1.4.1.tar.gz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Fri Mar 28 18:41:25 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Fri, 28 Mar 2014 17:41:25 +0000
Subject: SF.net SVN: gar:[23280]
csw/mgar/pkg/lang-python/send_nsca/trunk/Makefile
Message-ID: <3fwVjp0ZsTzhf@mail.opencsw.org>
Revision: 23280
http://sourceforge.net/p/gar/code/23280
Author: dmichelsen
Date: 2014-03-28 17:41:25 +0000 (Fri, 28 Mar 2014)
Log Message:
-----------
lang-python/send_nsca/trunk: Add dependency to py_crypto
Modified Paths:
--------------
csw/mgar/pkg/lang-python/send_nsca/trunk/Makefile
Modified: csw/mgar/pkg/lang-python/send_nsca/trunk/Makefile
===================================================================
--- csw/mgar/pkg/lang-python/send_nsca/trunk/Makefile 2014-03-28 17:29:38 UTC (rev 23279)
+++ csw/mgar/pkg/lang-python/send_nsca/trunk/Makefile 2014-03-28 17:41:25 UTC (rev 23280)
@@ -10,10 +10,13 @@
MASTER_SITES += $(PYPI_MIRROR)
DISTFILES += $(DISTNAME).tar.gz
-#LICENSE = LICENSE
+BUILD_DEP_PKGS += CSWpy-crypto
PACKAGES += CSWpy-send-nsca
SPKG_DESC_CSWpy-send-nsca = Python implementation of Nagios send_nsca
# PKGFILES is catchall
+# This is indeed needed
+RUNTIME_DEP_PKGS_CSWpy-send-nsca += CSWpy-crypto
+CHECKPKG_OVERRIDES_CSWpy-send-nsca += surplus-dependency|CSWpy-crypto
include gar/category.mk
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Fri Mar 28 18:42:01 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Fri, 28 Mar 2014 17:42:01 +0000
Subject: SF.net SVN: gar:[23281]
csw/mgar/pkg/lang-python/send_nsca/trunk/Makefile
Message-ID: <3fwVkS74FCzm1@mail.opencsw.org>
Revision: 23281
http://sourceforge.net/p/gar/code/23281
Author: dmichelsen
Date: 2014-03-28 17:41:59 +0000 (Fri, 28 Mar 2014)
Log Message:
-----------
lang-python/send_nsca/trunk: This is pure python
Modified Paths:
--------------
csw/mgar/pkg/lang-python/send_nsca/trunk/Makefile
Modified: csw/mgar/pkg/lang-python/send_nsca/trunk/Makefile
===================================================================
--- csw/mgar/pkg/lang-python/send_nsca/trunk/Makefile 2014-03-28 17:41:25 UTC (rev 23280)
+++ csw/mgar/pkg/lang-python/send_nsca/trunk/Makefile 2014-03-28 17:41:59 UTC (rev 23281)
@@ -15,6 +15,7 @@
PACKAGES += CSWpy-send-nsca
SPKG_DESC_CSWpy-send-nsca = Python implementation of Nagios send_nsca
# PKGFILES is catchall
+ARCHALL_CSWpy-send-nsca = 1
# This is indeed needed
RUNTIME_DEP_PKGS_CSWpy-send-nsca += CSWpy-crypto
CHECKPKG_OVERRIDES_CSWpy-send-nsca += surplus-dependency|CSWpy-crypto
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Fri Mar 28 22:53:10 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Fri, 28 Mar 2014 21:53:10 +0000
Subject: SF.net SVN: gar:[23282]
csw/mgar/pkg/lang-python/supybot/trunk/Makefile
Message-ID: <3fwcJH41k7z15L@mail.opencsw.org>
Revision: 23282
http://sourceforge.net/p/gar/code/23282
Author: wahwah
Date: 2014-03-28 21:53:04 +0000 (Fri, 28 Mar 2014)
Log Message:
-----------
lang-python/supybot/trunk: Update the dependency to CSWpy-twisted
Modified Paths:
--------------
csw/mgar/pkg/lang-python/supybot/trunk/Makefile
Modified: csw/mgar/pkg/lang-python/supybot/trunk/Makefile
===================================================================
--- csw/mgar/pkg/lang-python/supybot/trunk/Makefile 2014-03-28 17:41:59 UTC (rev 23281)
+++ csw/mgar/pkg/lang-python/supybot/trunk/Makefile 2014-03-28 21:53:04 UTC (rev 23282)
@@ -22,15 +22,15 @@
LICENSE = LICENSE
ARCHALL = 1
-RUNTIME_DEP_PKGS = CSWtwisted
+RUNTIME_DEP_PKGS = CSWpy-twisted
EXTRA_PAX_ARGS = -s ",ChangeLog$$,changelog,p"
-TEST_SCRIPTS =
+TEST_SCRIPTS =
PACKAGES = CSWsupybot
CHECKPKG_OVERRIDES_CSWsupybot += pkgname-does-not-start-with-CSWpy-
CHECKPKG_OVERRIDES_CSWsupybot += catalogname-does-not-start-with-py_
-CHECKPKG_OVERRIDES_CSWsupybot += surplus-dependency|CSWtwisted
+CHECKPKG_OVERRIDES_CSWsupybot += surplus-dependency|CSWpy-twisted
CHECKPKG_OVERRIDES_CSWsupybot += surplus-dependency|CSWpython
CHECKPKG_OVERRIDES_CSWsupybot += file-with-bad-content
@@ -41,7 +41,7 @@
post-install-modulated: MANDEST=$(DESTDIR)$(mandir)/man1
post-install-modulated:
ginstall -d $(DOCDEST)
- -cp $(addprefix $(WORKSRC)/, $(DOCS)) $(DOCDEST)
+ -cp $(addprefix $(WORKSRC)/, $(DOCS)) $(DOCDEST)
ginstall -d $(MANDEST) && cp $(WORKSRC)/docs/man/* $(MANDEST)
@$(MAKECOOKIE)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Fri Mar 28 22:59:12 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Fri, 28 Mar 2014 21:59:12 +0000
Subject: SF.net SVN: gar:[23283]
csw/mgar/pkg/lang-python/supybot/trunk/Makefile
Message-ID: <3fwcRG4VNFz18q@mail.opencsw.org>
Revision: 23283
http://sourceforge.net/p/gar/code/23283
Author: wahwah
Date: 2014-03-28 21:59:08 +0000 (Fri, 28 Mar 2014)
Log Message:
-----------
lang-python/supybot/trunk: Build for Solaris 9 (like of all Python stuff)
Modified Paths:
--------------
csw/mgar/pkg/lang-python/supybot/trunk/Makefile
Modified: csw/mgar/pkg/lang-python/supybot/trunk/Makefile
===================================================================
--- csw/mgar/pkg/lang-python/supybot/trunk/Makefile 2014-03-28 21:53:04 UTC (rev 23282)
+++ csw/mgar/pkg/lang-python/supybot/trunk/Makefile 2014-03-28 21:59:08 UTC (rev 23283)
@@ -21,6 +21,8 @@
DISTNAME = Supybot-$(VERSION)
LICENSE = LICENSE
+PACKAGING_PLATFORMS = solaris9-sparc
+
ARCHALL = 1
RUNTIME_DEP_PKGS = CSWpy-twisted
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 29 13:15:39 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sat, 29 Mar 2014 12:15:39 +0000
Subject: SF.net SVN: gar:[23284] csw/mgar/gar/v2/go/src/opencsw/diskformat/
diskformat.go
Message-ID: <3fwzRW72Lfz66@mail.opencsw.org>
Revision: 23284
http://sourceforge.net/p/gar/code/23284
Author: wahwah
Date: 2014-03-29 12:15:37 +0000 (Sat, 29 Mar 2014)
Log Message:
-----------
cat-get: Remove use of pointers to maps
Map is already a reference type, so it doesn't buy us anything to pass
a pointer to it.
Modified Paths:
--------------
csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go
Modified: csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go
===================================================================
--- csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go 2014-03-28 21:59:08 UTC (rev 23283)
+++ csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go 2014-03-29 12:15:37 UTC (rev 23284)
@@ -305,7 +305,7 @@
catalogs_ch <- catalogs
}
-func getFilesOfCatalogFromDatabase(files_from_db_chan chan *filesOfCatalog,
+func getFilesOfCatalogFromDatabase(files_from_db_chan chan filesOfCatalog,
catrel string, catalog_ch chan []CatalogWithSpec) {
catalogs := <-catalog_ch
catalogs_by_spec := make(map[CatalogSpec]CatalogWithSpec)
@@ -360,10 +360,10 @@
}
visited_catalogs[compatible_catspec] = append(visited_catalogs[compatible_catspec], catspec)
}
- files_from_db_chan <- &files_by_catspec
+ files_from_db_chan <- files_by_catspec
}
-func getFilesOfCatalogFromDisk(files_from_disk_chan chan *filesOfCatalog, root_path string,
+func getFilesOfCatalogFromDisk(files_from_disk_chan chan filesOfCatalog, root_path string,
catrel string) {
files_by_catspec := make(filesOfCatalog)
path_to_scan := path.Join(root_path, catrel)
@@ -414,17 +414,17 @@
if err != nil {
log.Fatalf("filepath.Walk() failed with: %v\n", err)
}
- files_from_disk_chan <- &files_by_catspec
+ files_from_disk_chan <- files_by_catspec
}
-func filesOfCatalogDiff(base_files *filesOfCatalog,
- to_substract *filesOfCatalog) *filesOfCatalog {
+func filesOfCatalogDiff(base_files filesOfCatalog,
+ to_substract filesOfCatalog) filesOfCatalog {
left_in_base := make(filesOfCatalog)
- for catspec, filemap := range *base_files {
+ for catspec, filemap := range base_files {
for path, link := range filemap {
// Is it in the database?
in_db := false
- if files_db, ok := (*to_substract)[catspec]; ok {
+ if files_db, ok := to_substract[catspec]; ok {
if _, ok := files_db[path]; ok {
in_db = true
}
@@ -437,16 +437,16 @@
}
}
}
- return &left_in_base
+ return left_in_base
}
// Returns true if there were any operations performed
-func updateDisk(files_to_add *filesOfCatalog,
- files_to_remove *filesOfCatalog,
+func updateDisk(files_to_add filesOfCatalog,
+ files_to_remove filesOfCatalog,
catalog_root string) bool {
changes_made := false
- for catspec, files_by_path := range *files_to_add {
+ for catspec, files_by_path := range files_to_add {
for path, link := range files_by_path {
tgt_path := filepath.Join(catalog_root, catspec.Catrel, catspec.Arch,
shortenOsrel(catspec.Osrel), path)
@@ -476,7 +476,7 @@
}
}
- for catspec, files_by_path := range *files_to_remove {
+ for catspec, files_by_path := range files_to_remove {
for path, _ := range files_by_path {
pkg_path := filepath.Join(catalog_root, catspec.Catrel, catspec.Arch,
shortenOsrel(catspec.Osrel), path)
@@ -597,7 +597,7 @@
c2 CatalogWithSpec
}
-func groupCatalogsBySpec(c1, c2 []CatalogWithSpec) (*map[CatalogSpec]catalogPair) {
+func groupCatalogsBySpec(c1, c2 []CatalogWithSpec) (map[CatalogSpec]catalogPair) {
pairs_by_spec := make(map[CatalogSpec]catalogPair)
for _, cws := range c1 {
pairs_by_spec[cws.Spec] = catalogPair{cws, CatalogWithSpec{}}
@@ -610,16 +610,16 @@
log.Println("Did not find", cws.Spec, "in c2")
}
}
- return &pairs_by_spec
+ return pairs_by_spec
}
-func massCompareCatalogs(c1, c2 []CatalogWithSpec) (*map[CatalogSpec]bool) {
+func massCompareCatalogs(c1, c2 []CatalogWithSpec) (map[CatalogSpec]bool) {
diff_detected := make(map[CatalogSpec]bool)
pairs_by_spec := groupCatalogsBySpec(c1, c2)
// The catalog disk/db pairs are ready to be compared.
- for spec, pair := range *pairs_by_spec {
+ for spec, pair := range pairs_by_spec {
diff_detected[spec] = false
// DeepEqual could do it, but it is too crude; doesn't provide details
// This code can probably be simplified.
@@ -668,7 +668,7 @@
}
}
- return &diff_detected
+ return diff_detected
}
func generateCatalogIndexFile(catalog_root string,
@@ -763,12 +763,12 @@
catalog_ch := make(chan []CatalogWithSpec)
go getCatalogsFromREST(catalog_ch, catspecs)
- files_from_db_chan := make(chan *filesOfCatalog)
+ files_from_db_chan := make(chan filesOfCatalog)
go getFilesOfCatalogFromDatabase(files_from_db_chan, catrel, catalog_ch)
// 2. build a data structure based on the contents of the disk
// it should be done in parallel
- files_from_disk_chan := make(chan *filesOfCatalog)
+ files_from_disk_chan := make(chan filesOfCatalog)
go getFilesOfCatalogFromDisk(files_from_disk_chan, catalog_root, catrel)
// 3. Retrieve results
@@ -812,7 +812,7 @@
var wg sync.WaitGroup
for _, cws := range catalogs_in_db {
- diff_present, ok := (*diff_flag_by_spec)[cws.Spec]
+ diff_present, ok := diff_flag_by_spec[cws.Spec]
if !ok { continue }
if diff_present {
wg.Add(1)
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 29 13:15:46 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sat, 29 Mar 2014 12:15:46 +0000
Subject: SF.net SVN: gar:[23285] csw/mgar/gar/v2/go/src/opencsw/diskformat/
diskformat.go
Message-ID: <3fwzRb2wT0z6C@mail.opencsw.org>
Revision: 23285
http://sourceforge.net/p/gar/code/23285
Author: wahwah
Date: 2014-03-29 12:15:45 +0000 (Sat, 29 Mar 2014)
Log Message:
-----------
cat-get: Don't remove catalog.gz in dry run mode
Modified Paths:
--------------
csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go
Modified: csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go
===================================================================
--- csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go 2014-03-29 12:15:37 UTC (rev 23284)
+++ csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go 2014-03-29 12:15:45 UTC (rev 23285)
@@ -20,14 +20,14 @@
"time"
)
-// Do not actually perform any operations on disk. Read data and process, but do
-// not write anything.
+
+// Do not perform any operations on disk. Read data and process them, but do not
+// write anything. Variable meant to be controlled by a command line flag.
var DryRun bool
// Keeping PkgdbUrl as a package global variable is probably not the best idea,
// but let's not refactor without a good plan.
var PkgdbUrl string
-
// 3 strings that define a specific catalog, e.g. "unstable sparc 5.10"
type CatalogSpec struct {
Catrel string
@@ -180,7 +180,7 @@
return err
}
if len(slice) != 3 {
- return fmt.Errorf("%+v is wrong length, should be 3", slice)
+ return fmt.Errorf("%v is wrong length, should be 3", slice)
}
self.Catrel = slice[2]
self.Arch = slice[1]
@@ -207,7 +207,8 @@
return nil, fmt.Errorf("Retrieved 0 catalogs")
}
- log.Println("GetCatalogSpecsFromDatabase returns", len(catspecs), "catalogs from", url)
+ log.Println("GetCatalogSpecsFromDatabase returns", len(catspecs),
+ "catalogs from", url)
return catspecs, nil
}
@@ -681,6 +682,10 @@
// If there's a "catalog.gz" here, remove it. It will be recreated later by
// the shell script which signs catalogs.
gzip_catalog := catalog_file_path + ".gz";
+ if DryRun {
+ log.Println("Would have tried to remove", gzip_catalog)
+ return
+ }
if err := os.Remove(gzip_catalog); err != nil {
log.Println("Not removed", gzip_catalog, "error was", err)
} else {
@@ -691,8 +696,13 @@
// If there are no files in the catalog, simply remove the catalog files.
if len(cws.Pkgs) <= 0 {
for _, filename := range []string{catalog_file_path, desc_file_path} {
- // If the files are missing, that's okay
+ if DryRun {
+ log.Println("Would have tried to remove", filename, "because the",
+ cws.Spec, "catalog is empty")
+ continue
+ }
if err := os.Remove(filename); err != nil {
+ // If the files are missing, that's okay
if err != syscall.ENOENT {
log.Println("Could not remove", filename, "error:", err)
}
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 29 17:10:21 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sat, 29 Mar 2014 16:10:21 +0000
Subject: SF.net SVN: gar:[23286] csw/mgar/gar/v2/lib/python/checkpkg_lib.py
Message-ID: <3fx4fF3XF8zSD@mail.opencsw.org>
Revision: 23286
http://sourceforge.net/p/gar/code/23286
Author: wahwah
Date: 2014-03-29 16:10:19 +0000 (Sat, 29 Mar 2014)
Log Message:
-----------
cleanup
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-29 12:15:45 UTC (rev 23285)
+++ csw/mgar/gar/v2/lib/python/checkpkg_lib.py 2014-03-29 16:10:19 UTC (rev 23286)
@@ -1214,7 +1214,8 @@
sqo_osrel, sqo_arch, sqo_catrel = self.GetSqlobjectTriad(
osrel, arch, catrel)
try:
- # There's a race condition in here. Maybe SQLObject allows to delete atomically?
+ # There's a race condition in here. Maybe SQLObject allows to delete
+ # atomically?
sqo_srv4_in_cat = m.Srv4FileInCatalog.select(
sqlobject.AND(
m.Srv4FileInCatalog.q.arch==sqo_arch,
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 29 17:10:36 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sat, 29 Mar 2014 16:10:36 +0000
Subject: SF.net SVN: gar:[23287]
csw/mgar/gar/v2/lib/python/find_obsolete_pkgs.py
Message-ID: <3fx4fb68ZSzWZ@mail.opencsw.org>
Revision: 23287
http://sourceforge.net/p/gar/code/23287
Author: wahwah
Date: 2014-03-29 16:10:35 +0000 (Sat, 29 Mar 2014)
Log Message:
-----------
find-obsolete-pkgs: HTML format, more info
Instead of plaintext, generate HTML which shows additional information such as
package maintainer and link back to the buildfarm.
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/find_obsolete_pkgs.py
Modified: csw/mgar/gar/v2/lib/python/find_obsolete_pkgs.py
===================================================================
--- csw/mgar/gar/v2/lib/python/find_obsolete_pkgs.py 2014-03-29 16:10:19 UTC (rev 23286)
+++ csw/mgar/gar/v2/lib/python/find_obsolete_pkgs.py 2014-03-29 16:10:35 UTC (rev 23287)
@@ -22,13 +22,10 @@
"""
import cjson
-import gdbm
+import jinja2
import logging
import optparse
import os
-import pprint
-import re
-import subprocess
import sys
from collections import namedtuple
@@ -45,11 +42,52 @@
# fn_revdep = os.path.join(datadir,'RevDeps_%s_%s_%s.json')
fn_cat = os.path.join(datadir,'catalog_%s_%s_%s.json')
fn_pkgs_to_remove = 'PkgsToRemoveFrom_%s_%s_%s.lst'
-fn_pkgs_to_rebuild = 'PkgsToRebuildFrom_%s_%s_%s.lst'
+fn_pkgs_to_rebuild = 'PkgsToRebuildFrom_%s_%s_%s.html'
CatSubSet = namedtuple('CatSubSet',
- 'pkgname, catalogname, md5_sum, version, dependlist')
+ 'pkgname, catalogname, md5_sum, version, dependlist, maintainer')
+REBUILD_TMPL = """
+
+ Packages to rebuild
+
+
+
+
+ Packages to rebuild
+ Packages displayed in brown are empty, obsolete packages. The packages on
+ the list are the packages which need to be rebuilt with their dependencies
+ modified to not include the obsolete packages any more.
+
+ {% for pkg in pkgs %}
+ -
+ {{ pkg.maintainer }}
+ {{ pkg.catalogname }}
+ {% for dep in pkg.dependlist %}
+ {% if dep in obsolete %}
+
+ {{ dep }}
+
+ {% endif %}
+ {% endfor %}
+
+ {% endfor %}
+
+
+
+"""
+
+
class CompCatalog(object):
def __init__(self, name, arch, osrel, rest_client):
@@ -77,9 +115,11 @@
pkgname = pkgitems['basic_stats']['pkgname']
try:
pkgdeplst = [ i[0] for i in pkgitems['depends']]
+ maintainer = pkgitems['pkginfo']['EMAIL'].split('@')[0]
pkg_by_pkgname[pkgname] = CatSubSet(pkgname, pkg['catalogname'],
pkg['md5_sum'], pkg['version'],
- tuple(pkgdeplst))
+ tuple(pkgdeplst),
+ maintainer)
except Exception as exc:
logger.error("CompCatalog::getPkgStat: %s %s %s",
type(exc), pkg.catalogname, pkg.md5_sum)
@@ -105,7 +145,6 @@
rev_deps_by_pkg = {}
for pkgname in pkg_by_pkgname:
pkg = pkg_by_pkgname[pkgname]
- # logger.info('pkg: %r', pkg)
# RevDepsByPkg returns only md5 sums and pkgnames, so we need to map
# them back to CatSubSet
revdeps = rev_deps_access.RevDepsByPkg(catrel, arch, osrel, pkgname)
@@ -128,6 +167,7 @@
newcatlst, newrevdeplst = processCat(newcatrel, arch, osrel, rest_client)
oldcatlst, oldrevdeplst = processCat(oldcatrel, arch, osrel, rest_client)
+ obsolete_pkgs_by_pkgname = {}
to_remove_candidates = []
rebuildlst = set()
logger.debug(' process dependecies in %s' % newcatrel)
@@ -135,6 +175,7 @@
# Checking stub packages
catalogname = pkg.catalogname
if catalogname.endswith("_stub"):
+ obsolete_pkgs_by_pkgname[pkg.pkgname] = pkg
if not newrevdeplst[pkg]:
# Stub has no reverse dependencies, so it will be considered for removal.
to_remove_candidates.append(pkg)
@@ -161,10 +202,11 @@
else:
logger.info(" KEEP : {0} not a _stub package in {1}"
.format(pkg.pkgname, oldcatrel))
- return pkgs_to_drop, rebuildlst
+ return pkgs_to_drop, rebuildlst, obsolete_pkgs_by_pkgname
-def WriteToTextFiles(pkgs_to_drop, pkgs_to_rebuild, newcatrel, arch, osrel):
+def WriteToTextFiles(pkgs_to_drop, pkgs_to_rebuild, newcatrel, arch, osrel,
+ obsolete):
print ('write %s' % (fn_pkgs_to_remove % (newcatrel,osrel,arch)))
with open(fn_pkgs_to_remove % (newcatrel, osrel, arch), "w") as fd:
for pkg in sorted(pkgs_to_drop, key=lambda p: p.catalogname):
@@ -172,8 +214,12 @@
logger.info("number of packages to remove: %d" % len(pkgs_to_drop))
print ('write %s' % (fn_pkgs_to_rebuild % (newcatrel,osrel,arch)))
with open(fn_pkgs_to_rebuild % (newcatrel,osrel,arch), "w") as fd:
- for pkg in sorted(pkgs_to_rebuild, key=lambda p: p.catalogname):
- fd.write(pkg.catalogname+'\n')
+ # for pkg in sorted(pkgs_to_rebuild, key=lambda p: p.catalogname):
+ # fd.write(pkg.catalogname+'\n')
+ template = jinja2.Template(REBUILD_TMPL)
+ pkgs = sorted(pkgs_to_rebuild, key=lambda p: (p.maintainer, p.catalogname))
+ fd.write(template.render(catrel=newcatrel, osrel=osrel, arch=arch,
+ pkgs=pkgs, obsolete=obsolete))
logger.info("packages to rebuild: %d" % len(pkgs_to_rebuild))
@@ -234,9 +280,10 @@
username=username,
password=password)
- reallyremovelst, rebuildlst = ComputeRemoveAndRebuild(oldcatrel, newcatrel,
- arch, osrel, rest_client)
- WriteToTextFiles(reallyremovelst, rebuildlst, newcatrel, arch, osrel)
+ removelst, rebuildlst, obsolete = (
+ ComputeRemoveAndRebuild(oldcatrel, newcatrel, arch, osrel,
+ rest_client))
+ WriteToTextFiles(removelst, rebuildlst, newcatrel, arch, osrel, obsolete)
if __name__ == '__main__':
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 29 17:10:44 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sat, 29 Mar 2014 16:10:44 +0000
Subject: SF.net SVN: gar:[23288] csw/mgar/gar/v2/lib/web/pkgdb_web.py
Message-ID: <3fx4fj13JXzXX@mail.opencsw.org>
Revision: 23288
http://sourceforge.net/p/gar/code/23288
Author: wahwah
Date: 2014-03-29 16:10:43 +0000 (Sat, 29 Mar 2014)
Log Message:
-----------
pkgdb-web: Correct the type of 'size'
Static typing! The inbuilt JSON decoder in go can handle the size correctly
only when the JSON data structure is of the right type. If we want to
deserialize into an int, we need to have an int in the JSON data too.
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-29 16:10:35 UTC (rev 23287)
+++ csw/mgar/gar/v2/lib/web/pkgdb_web.py 2014-03-29 16:10:43 UTC (rev 23288)
@@ -705,7 +705,12 @@
basename md5_sum size deps category i_deps
"""
entries_list = GetCatalogEntries(catrel_name, arch_name, osrel_name)
- response = cjson.encode([x._asdict() for x in entries_list])
+ response_list = []
+ for entry in entries_list:
+ entry_dict = entry._asdict()
+ entry_dict["size"] = int(entry_dict["size"])
+ response_list.append(entry_dict)
+ response = cjson.encode(response_list)
web.header('Content-Length', str(len(response)))
return response
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 29 17:10:51 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sat, 29 Mar 2014 16:10:51 +0000
Subject: SF.net SVN: gar:[23289] csw/mgar/gar/v2/lib/web
Message-ID: <3fx4fx2ZQDzcS@mail.opencsw.org>
Revision: 23289
http://sourceforge.net/p/gar/code/23289
Author: wahwah
Date: 2014-03-29 16:10:51 +0000 (Sat, 29 Mar 2014)
Log Message:
-----------
pkgdb-web: Add application logging
This logging is added to log specifically from the application to a chosen
file. I was worried there would be a problem with multiple threads and
multiple processes, but testing showed that there isn't any logging from
multiple processes into a single file (with our setup).
The log file paths are hardcoded, we need to find a better way of handling
this to make sure that the web apps can be run on private buildfarms too.
Modified Paths:
--------------
csw/mgar/gar/v2/lib/web/pkgdb_web.py
csw/mgar/gar/v2/lib/web/releases_web.py
Modified: csw/mgar/gar/v2/lib/web/pkgdb_web.py
===================================================================
--- csw/mgar/gar/v2/lib/web/pkgdb_web.py 2014-03-29 16:10:43 UTC (rev 23288)
+++ csw/mgar/gar/v2/lib/web/pkgdb_web.py 2014-03-29 16:10:51 UTC (rev 23289)
@@ -27,6 +27,8 @@
from lib.web import web_lib
+LOG_FILE_TMPL = '/opt/csw/apache2/var/log/buildfarm/pkgdb-web.log'
+
urls_html = (
r'/', 'index',
r'/favicon\.ico', 'Favicon',
@@ -771,13 +773,24 @@
app = web.application(urls, globals())
+applogger = logging.getLogger('pkgdb')
+applogger.setLevel(logging.DEBUG)
+log_handler = logging.FileHandler(filename=LOG_FILE_TMPL)
+log_handler.setLevel(logging.DEBUG)
+log_formatter = logging.Formatter(
+ '%(process)d %(levelname)s %(asctime)s '
+ '%(filename)s:%(lineno)d %(funcName)s: %(message)s')
+log_handler.setFormatter(log_formatter)
+applogger.addHandler(log_handler)
+
def app_wrapper(app):
+ applogger.debug('Connecting to the database')
web_lib.ConnectToDatabase()
return app
-if __name__ == "__main__":
+if __name__ == '__main__':
if debugme:
logging.basicConfig(level=logging.DEBUG)
app.run()
Modified: csw/mgar/gar/v2/lib/web/releases_web.py
===================================================================
--- csw/mgar/gar/v2/lib/web/releases_web.py 2014-03-29 16:10:43 UTC (rev 23288)
+++ csw/mgar/gar/v2/lib/web/releases_web.py 2014-03-29 16:10:51 UTC (rev 23289)
@@ -43,6 +43,8 @@
r'/rpc/bulk-existing-svr4/', 'QueryExistingSvr4',
)
+LOG_FILE_TMPL = '/opt/csw/apache2/var/log/buildfarm/releases-web.log'
+
templatedir = os.path.join(os.path.dirname(__file__), "templates/")
render = web.template.render(templatedir)
@@ -198,12 +200,17 @@
is to add the 'Content-Length' header. However, it sometimes still gets
stuck and I don't know why.
"""
+ # used for logging
+ catspec = (catrel_name, arch_name, osrel_name)
+ logging.info('PUT %s %s', catspec, md5_sum)
if catrel_name not in CAN_UPLOAD_TO_CATALOGS:
# Updates via web are allowed only for the unstable catalog.
# We should return an error message instead.
# Sadly, we cannot return a response body due to webpy's API
# limitation.
- raise web.forbidden()
+ raise web.forbidden(
+ 'You can only upload to the following catalogs:'
+ + ' '.join(CAN_UPLOAD_TO_CATALOGS))
try:
if arch_name == 'all':
raise web.badrequest("There is no 'all' catalog, cannot proceed.")
@@ -223,6 +230,7 @@
"Package vendor tag is %s instead of CSW or FAKE."
% parsed_basename["vendortag"])
if not srv4.registered_level_two:
+ applogger.info('Registering the %s package in the database', srv4.basename)
relational_util.StatsStructToDatabaseLevelTwo(md5_sum, True)
# Package needs to be registered for releases
# This can throw CatalogDatabaseError if the db user doesn't have
@@ -231,28 +239,35 @@
c = checkpkg_lib.Catalog()
sqo_osrel, sqo_arch, sqo_catrel = models.GetSqoTriad(
osrel_name, arch_name, catrel_name)
- # See if there already is a package with that catalogname.
+ applogger.info('See if there already is a package with that '
+ 'catalogname (%s)', srv4.basename)
res = c.GetConflictingSrv4ByCatalognameResult(
srv4, srv4.catalogname,
sqo_osrel, sqo_arch, sqo_catrel)
- if res.count() == 1:
- # Removing old version of the package from the catalog
+ if res.count() >= 1:
for pkg_in_catalog in res:
srv4_to_remove = pkg_in_catalog.srv4file
+ applogger.info('Removing %s from the %s catalog',
+ srv4_to_remove.catalogname, catspec)
c.RemoveSrv4(srv4_to_remove, osrel_name, arch_name, catrel_name)
+ else:
+ applogger.info('Package with the same catalogname (%s) not found in %s (good)',
+ srv4.catalogname, catspec)
# See if there already is a package with that pkgname.
res = c.GetConflictingSrv4ByPkgnameResult(
srv4, srv4.pkginst.pkgname,
sqo_osrel, sqo_arch, sqo_catrel)
- if res.count() == 1:
+ if res.count() >= 1:
# Removing old version of the package from the catalog
for pkg_in_catalog in res:
srv4_to_remove = pkg_in_catalog.srv4file
+ applogger.info('Removing %s from %s', srv4_to_remove.basename, catspec)
c.RemoveSrv4(srv4_to_remove, osrel_name, arch_name, catrel_name)
# This is set by basic HTTP auth.
username = web.ctx.env.get('REMOTE_USER')
+ applogger.info('Adding %s to the %s catalog', srv4.basename, catspec)
c.AddSrv4ToCatalog(srv4, osrel_name, arch_name, catrel_name, who=username)
web.header(
'Content-type',
@@ -267,6 +282,8 @@
except (
checkpkg_lib.CatalogDatabaseError,
sqlobject.dberrors.OperationalError) as exc:
+ applogger.error('Failed while attempting to add %s to the %s catalog',
+ srv4.basename, catspec)
web.header(
'Content-Type',
'application/x-vnd.opencsw.pkg;type=error-message')
@@ -274,7 +291,11 @@
"error_message": unicode(exc),
})
web.header('Content-Length', str(len(response)))
- raise web.badrequest(response)
+ # If we are in this state, there's a possibility that a package has been
+ # removed from the database, and its replacesment has not been inserted.
+ # In such case we want to make sure that the client sees the failure.
+ # Therefore, we're throwing a HTTP internal error.
+ raise web.internalerror(response)
def DELETE(self, catrel_name, arch_name, osrel_name, md5_sum):
try:
@@ -464,12 +485,21 @@
# web.webapi.internalerror = web.debugerror
+applogger = logging.getLogger('releases-web')
+applogger.setLevel(logging.DEBUG)
+log_handler = logging.FileHandler(filename=LOG_FILE_TMPL)
+log_handler.setLevel(logging.DEBUG)
+log_formatter = logging.Formatter(
+ '%(process)d %(levelname)s %(asctime)s '
+ '%(filename)s:%(lineno)d %(funcName)s: %(message)s')
+log_handler.setFormatter(log_formatter)
+applogger.addHandler(log_handler)
app = web.application(urls, globals())
def app_wrapper(app):
+ applogger.debug('Connecting to the database')
web_lib.ConnectToDatabase()
- logging.basicConfig(level=logging.DEBUG)
return app.wsgifunc()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From lblume at users.sourceforge.net Sat Mar 29 18:43:26 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Sat, 29 Mar 2014 17:43:26 +0000
Subject: SF.net SVN: gar:[23290] csw/mgar/pkg/easytag/trunk/Makefile
Message-ID: <3fx6jp0ygCzsd@mail.opencsw.org>
Revision: 23290
http://sourceforge.net/p/gar/code/23290
Author: lblume
Date: 2014-03-29 17:43:24 +0000 (Sat, 29 Mar 2014)
Log Message:
-----------
easytag/trunk: Bump version to 2.1.10
Modified Paths:
--------------
csw/mgar/pkg/easytag/trunk/Makefile
Modified: csw/mgar/pkg/easytag/trunk/Makefile
===================================================================
--- csw/mgar/pkg/easytag/trunk/Makefile 2014-03-29 16:10:51 UTC (rev 23289)
+++ csw/mgar/pkg/easytag/trunk/Makefile 2014-03-29 17:43:24 UTC (rev 23290)
@@ -1,7 +1,7 @@
# $Id$
NAME = easytag
-VERSION = 2.1.8
+VERSION = 2.1.10
GARTYPE = v2
DESCRIPTION = Tag editor for MP3, Ogg Vorbis files and more
@@ -24,7 +24,7 @@
# Add more dependencies as suggested by Laurent Blume in
# http://lists.opencsw.org/pipermail/users/2013-April/009549.html
-BUILD_DEP_PKGS += CSWfconfig-dev
+BUILD_DEP_PKGS += CSWfontconfig-dev
BUILD_DEP_PKGS += CSWggettext-dev
BUILD_DEP_PKGS += CSWintltool
BUILD_DEP_PKGS += CSWlibfreetype-dev
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From lblume at users.sourceforge.net Sun Mar 30 01:16:20 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Sun, 30 Mar 2014 00:16:20 +0000
Subject: SF.net SVN: gar:[23291] csw/mgar/pkg/mysql5/branches/mysql-5.5.x
Message-ID: <3fxHR15Zqdz1K1@mail.opencsw.org>
Revision: 23291
http://sourceforge.net/p/gar/code/23291
Author: lblume
Date: 2014-03-30 00:16:17 +0000 (Sun, 30 Mar 2014)
Log Message:
-----------
mysql5/branches/mysql-5.5.x: Bump to 5.5.37
Modified Paths:
--------------
csw/mgar/pkg/mysql5/branches/mysql-5.5.x/Makefile
csw/mgar/pkg/mysql5/branches/mysql-5.5.x/checksums
Modified: csw/mgar/pkg/mysql5/branches/mysql-5.5.x/Makefile
===================================================================
--- csw/mgar/pkg/mysql5/branches/mysql-5.5.x/Makefile 2014-03-29 17:43:24 UTC (rev 23290)
+++ csw/mgar/pkg/mysql5/branches/mysql-5.5.x/Makefile 2014-03-30 00:16:17 UTC (rev 23291)
@@ -14,7 +14,7 @@
PROJ_NAME = mysql
NAME = $(PROJ_NAME)5
BASE_VERSION = 5.5
-PATCHLEVEL = 36
+PATCHLEVEL = 37
ALTS_PRIO = 55
VERSION = $(BASE_VERSION).$(PATCHLEVEL)
Modified: csw/mgar/pkg/mysql5/branches/mysql-5.5.x/checksums
===================================================================
--- csw/mgar/pkg/mysql5/branches/mysql-5.5.x/checksums 2014-03-29 17:43:24 UTC (rev 23290)
+++ csw/mgar/pkg/mysql5/branches/mysql-5.5.x/checksums 2014-03-30 00:16:17 UTC (rev 23291)
@@ -1 +1 @@
-b7e236ede512b814ba521c84abc37292 mysql-5.5.36.tar.gz
+bf1d80c66d4822ec6036300399a33c03 mysql-5.5.37.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 Sun Mar 30 11:03:15 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 30 Mar 2014 09:03:15 +0000
Subject: SF.net SVN: gar:[23292] csw/mgar/pkg/clusterssh/trunk/Makefile
Message-ID: <3fxW703Tq6z49@mail.opencsw.org>
Revision: 23292
http://sourceforge.net/p/gar/code/23292
Author: wahwah
Date: 2014-03-30 09:03:13 +0000 (Sun, 30 Mar 2014)
Log Message:
-----------
clusterssh/trunk: Remove an obsolete dependency
Modified Paths:
--------------
csw/mgar/pkg/clusterssh/trunk/Makefile
Modified: csw/mgar/pkg/clusterssh/trunk/Makefile
===================================================================
--- csw/mgar/pkg/clusterssh/trunk/Makefile 2014-03-30 00:16:17 UTC (rev 23291)
+++ csw/mgar/pkg/clusterssh/trunk/Makefile 2014-03-30 09:03:13 UTC (rev 23292)
@@ -19,16 +19,14 @@
UPSTREAM_MASTER_SITES = $(SF_PROJECT_SHOWFILE)=89139
UPSTREAM_USE_SF = 1
-UFILES_REGEX = $(NAME)-(\d+(?:\.\d+)*).tar.gz
RUNTIME_DEP_PKGS += CSWperl
RUNTIME_DEP_PKGS += CSWpmtk
-RUNTIME_DEP_PKGS += CSWpmx11protocol
-# RUNTIME_DEP_PKGS += CSWossh
+RUNTIME_DEP_PKGS += CSWpm-x11-protocol
CHECKPKG_OVERRIDES_CSWclusterssh += surplus-dependency|CSWperl
CHECKPKG_OVERRIDES_CSWclusterssh += surplus-dependency|CSWpmtk
-CHECKPKG_OVERRIDES_CSWclusterssh += surplus-dependency|CSWpmx11protocol
+CHECKPKG_OVERRIDES_CSWclusterssh += surplus-dependency|CSWpm-x11-protocol
ARCHALL = 1
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 30 12:28:38 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 30 Mar 2014 10:28:38 +0000
Subject: SF.net SVN: gar:[23293] csw/mgar/pkg/ndiff/trunk/Makefile
Message-ID: <3fxY1W6M2FzBY@mail.opencsw.org>
Revision: 23293
http://sourceforge.net/p/gar/code/23293
Author: wahwah
Date: 2014-03-30 10:28:36 +0000 (Sun, 30 Mar 2014)
Log Message:
-----------
ndiff/trunk: Remove an obsolete dependency.
Modified Paths:
--------------
csw/mgar/pkg/ndiff/trunk/Makefile
Modified: csw/mgar/pkg/ndiff/trunk/Makefile
===================================================================
--- csw/mgar/pkg/ndiff/trunk/Makefile 2014-03-30 09:03:13 UTC (rev 23292)
+++ csw/mgar/pkg/ndiff/trunk/Makefile 2014-03-30 10:28:36 UTC (rev 23293)
@@ -9,19 +9,21 @@
similar. ndiff allows you to specify absolute and/or relative error
tolerances for differences between numerical values in the two files,
and then reports only the lines with values exceeding those tolerances.
- It also tells you by how much they differ.
+ It also tells you by how much they differ.
endef
MASTER_SITES = ftp://ftp.math.utah.edu/pub/misc/
DISTFILES = $(NAME)-$(VERSION).tar.gz
PATCHFILES = 0001-fixed-make-install-target.patch
-# We define upstream file regex so we can be notifed of new upstream software release
-UFILES_REGEX = $(NAME)-(\d+(?:\.\d+)*).tar.gz
+PACKAGING_PLATFORMS = solaris9-sparc solaris9-i386
-RUNTIME_DEP_PKGS_CSWndiff += CSWlibgmp
-BUILD_DEP_PKGS =
+RUNTIME_DEP_PKGS_CSWndiff += CSWlibgmp10
+BUILD_DEP_PKGS =
+# The test suite seems to be broken
+SKIPTEST = 1
+
VENDOR_URL = http://www.math.utah.edu/~beebe/software/ndiff/
CONFIGURE_ARGS = $(DIRPATHS)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 30 18:24:24 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 30 Mar 2014 16:24:24 +0000
Subject: SF.net SVN: gar:[23294] csw/mgar/pkg/libgnomeprintui/trunk
Message-ID: <3fxhw321QFzRj@mail.opencsw.org>
Revision: 23294
http://sourceforge.net/p/gar/code/23294
Author: wahwah
Date: 2014-03-30 16:24:22 +0000 (Sun, 30 Mar 2014)
Log Message:
-----------
libgnomeprintui/trunk: Update library dependencies (no version change)
Modified Paths:
--------------
csw/mgar/pkg/libgnomeprintui/trunk/Makefile
csw/mgar/pkg/libgnomeprintui/trunk/checksums
Modified: csw/mgar/pkg/libgnomeprintui/trunk/Makefile
===================================================================
--- csw/mgar/pkg/libgnomeprintui/trunk/Makefile 2014-03-30 10:28:36 UTC (rev 23293)
+++ csw/mgar/pkg/libgnomeprintui/trunk/Makefile 2014-03-30 16:24:22 UTC (rev 23294)
@@ -2,61 +2,59 @@
# TODO (release-critical prefixed with !, non release-critical with *)
#
NAME = libgnomeprintui
-VERSION = 2.18.6
+VERSION = 2.12.1
GARTYPE = v2
-DESCRIPTION = The GNOME 2 print UI library
-define BLURB
- Long description
-endef
+DESCRIPTION = The GNOME 2 print UI library
MASTER_SITES = http://ftp.acc.umu.se/pub/GNOME/sources/libgnomeprintui/$(basename $(VERSION))/
DISTFILES = $(DISTNAME).tar.gz
-# File name regex to get notifications about upstream software releases
-# NOTE: Use this only if the automatic regex creation
-# does not work for your package
-# UFILES_REGEX = $(NAME)-(\d+(?:\.\d+)*).tar.gz
+UFILES_REGEX = href=\"(\d+(?:\.\d+)*)/\"
+UPSTREAM_MASTER_SITES = http://ftp.acc.umu.se/pub/GNOME/sources/libgnomeprintui/
-# If the url used to check for software update is different of MASTER_SITES, then
-# uncomment the next line. Otherwise it is set by default to the value of MASTER_SITES
-# UPSTREAM_MASTER_SITES =
-
PACKAGES += CSWlibgnomeprintui2-2-0
-CATALOGNAME_CSWlibgnomeprintui2-2-0 = libgnomeprintui2_2_0
-PKGFILES_CSWlibgnomeprintui2-2-0 += $(call baseisadirs,$(libdir),libgnomeprintui-2-2\.so\.0\.1\.0)
PKGFILES_CSWlibgnomeprintui2-2-0 += $(call baseisadirs,$(libdir),libgnomeprintui-2-2\.so\.0(\.\d+)*)
SPKG_DESC_CSWlibgnomeprintui2-2-0 += $(DESCRIPTION), libgnomeprintui-2-2.so.0
+RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibart
+RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibatk1-0-0
+RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibcairo2
+RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibfontconfig1
+RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibfreetype6
+RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibgdk-pixbuf2-0-0
+RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibgdk-x11-2-0-0
+RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibgio2-0-0
+RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibglib2-0-0
+RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibgmodule2-0-0
+RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibgnomecanvas2-0
RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibgnomeprint
-RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibgdk-x11-2-0-0
-RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibintl8
-RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibgdk-pixbuf2-0-0
RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibgobject2-0-0
-RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibglib2-0-0
RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibgtk-x11-2-0-0
-RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibgnomecanvas2-0
-RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibart
-RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibatk1-0-0
+RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibintl8
+RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibpango1-0-0
+RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibpangocairo1-0-0
+RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibpangoft2-1-0-0
+RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibxml2-2
+RUNTIME_DEP_PKGS_CSWlibgnomeprintui2-2-0 += CSWlibz1
+
PACKAGES += CSWlibgnomeprintui-dev
-CATALOGNAME_CSWlibgnomeprintui-dev = libgnomeprintui_dev
SPKG_DESC_CSWlibgnomeprintui-dev += $(DESCRIPTION), development files
-PKGFILES_CSWlibgnomeprintui-dev += $(PKGFILES_DEVEL)
-RUNTIME_DEP_PKGS_CSWlibgnomeprintui-dev += CSWlibgnomeprintui
+PKGFILES_CSWlibgnomeprintui-dev = $(PKGFILES_DEVEL)
RUNTIME_DEP_PKGS_CSWlibgnomeprintui-dev += CSWlibgnomeprintui2-2-0
-PACKAGES += CSWlibgnomeprintui
-CATALOGNAME_CSWlibgnomeprintui = libgnomeprintui
-SPKG_DESC_CSWlibgnomeprintui += $(DESCRIPTION)
-ARCHALL_CSWlibgnomeprintui = 1
-RUNTIME_DEP_PKGS_CSWlibgnomeprintui += CSWlibgnomeprintui2-2-0
-CHECKPKG_OVERRIDES_CSWlibgnomeprintui += surplus-dependency|CSWlibgnomeprintui2-2-0
+PACKAGES += CSWlibgnomeprintui2-2-0-common
+SPKG_DESC_CSWlibgnomeprintui2-2-0-common = $(DESCRIPTION), common files
+ARCHALL_CSWlibgnomeprintui2-2-0-common = 1
+OBSOLETED_BY_CSWlibgnomeprintui2-2-0 = CSWlibgnomeprintui
EXTRA_CONFIGURE_ENV = PATH=/opt/csw/gnu:$(PATH)
EXTRA_LINKER_FLAGS = -lm
CONFIGURE_ARGS = $(DIRPATHS)
+STRIP_LIBTOOL = 1
+
include gar/category.mk
Modified: csw/mgar/pkg/libgnomeprintui/trunk/checksums
===================================================================
--- csw/mgar/pkg/libgnomeprintui/trunk/checksums 2014-03-30 10:28:36 UTC (rev 23293)
+++ csw/mgar/pkg/libgnomeprintui/trunk/checksums 2014-03-30 16:24:22 UTC (rev 23294)
@@ -1 +1 @@
-d55af077005e4aad0e72e2dbc28d0cc4 libgnomeprintui-2.18.6.tar.gz
+47358011a3a3b5f5987d63301b06fe2c libgnomeprintui-2.12.1.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 Sun Mar 30 18:56:01 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 30 Mar 2014 16:56:01 +0000
Subject: SF.net SVN: gar:[23295] csw/mgar/gar/v2/lib/python
Message-ID: <3fxjcX57TxzWq@mail.opencsw.org>
Revision: 23295
http://sourceforge.net/p/gar/code/23295
Author: wahwah
Date: 2014-03-30 16:55:59 +0000 (Sun, 30 Mar 2014)
Log Message:
-----------
safe-remove-package: Do not cache on disk
Reusing the for-generation endpoint still gives us reasonable running times
and lets us let go of caching on local disk.
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/representations.py
csw/mgar/gar/v2/lib/python/rest.py
csw/mgar/gar/v2/lib/python/safe_remove_package.py
Modified: csw/mgar/gar/v2/lib/python/representations.py
===================================================================
--- csw/mgar/gar/v2/lib/python/representations.py 2014-03-30 16:24:22 UTC (rev 23294)
+++ csw/mgar/gar/v2/lib/python/representations.py 2014-03-30 16:55:59 UTC (rev 23295)
@@ -27,3 +27,6 @@
ElfSymInfo = collections.namedtuple('Symbol', ['bind', 'flags', 'shndx',
'soname', 'symbol', 'version'])
+
+# Since we use this idea everywhere, it deserves its own named tuple.
+CatalogSpec = collections.namedtuple('CatalogSpec', ['catrel', 'arch', 'osrel'])
Modified: csw/mgar/gar/v2/lib/python/rest.py
===================================================================
--- csw/mgar/gar/v2/lib/python/rest.py 2014-03-30 16:24:22 UTC (rev 23294)
+++ csw/mgar/gar/v2/lib/python/rest.py 2014-03-30 16:55:59 UTC (rev 23295)
@@ -382,8 +382,8 @@
url += '?use_in_catalogs=0'
return self._CurlPut(url, [])
- def GetCatalogForGeneration(self, catrel, arch, osrel):
- url = (self.pkgdb_url + "/catalogs/%s/%s/%s/for-generation/"
+ def GetCatalogForGenerationAsDicts(self, catrel, arch, osrel):
+ url = (self.pkgdb_url + "/catalogs/%s/%s/%s/for-generation/as-dicts/"
% (catrel, arch, osrel))
logging.debug("GetCatalogForGeneration(): url=%r", url)
data = urllib2.urlopen(url).read()
Modified: csw/mgar/gar/v2/lib/python/safe_remove_package.py
===================================================================
--- csw/mgar/gar/v2/lib/python/safe_remove_package.py 2014-03-30 16:24:22 UTC (rev 23294)
+++ csw/mgar/gar/v2/lib/python/safe_remove_package.py 2014-03-30 16:55:59 UTC (rev 23295)
@@ -19,9 +19,10 @@
import sys
import urllib2
+from lib.python import common_constants
from lib.python import configuration
+from lib.python.representations import CatalogSpec
from lib.python import rest
-from lib.python import common_constants
USAGE = """%prog --os-releases=SunOS5.10,SunOS5.11 -c
@@ -63,47 +64,44 @@
"""
def __init__(self, rest_client):
+ """Initialize class instance.
+
+ self.cached_catalogs is a dict of:
+ CatalogSpec: [(md5, pkgname), ...]
+ """
self.cached_catalogs = {}
+ self.pkgs_by_md5 = {}
+ self.pkgs_by_pkgname = {}
self.cp = rest.CachedPkgstats(fn_pkgstatsdb, rest_client)
self.rest_client = rest_client
def MakeRevIndex(self, catrel, arch, osrel, quiet=False):
- key = (catrel, arch, osrel)
+ def PkgnameListFromString(s):
+ if s == 'none':
+ return []
+ return s.split('|')
+ logging.info('MakeRevIndex(%r, %r, %r, %r)', catrel, arch, osrel, quiet)
+ key = CatalogSpec(catrel=catrel, arch=arch, osrel=osrel)
if key in self.cached_catalogs:
return
- fn = fn_revdeps % key
- if os.path.exists(fn):
- with open(fn, "r") as fd:
- self.cached_catalogs[key] = cjson.decode(fd.read())
- return
- # This should be rewritten to use RestClient.GetCatalogForGeneration
- logging.info(
- "Building a database of reverse dependencies. "
- "This can take up to multiple hours.")
- catalog = self.rest_client.GetCatalog(*key)
+ # This takes 30-40s
+ catalog = self.rest_client.GetCatalogForGenerationAsDicts(catrel, arch, osrel)
rev_deps = {}
- counter = 0
- for pkg_simple in catalog:
- md5 = pkg_simple["md5_sum"]
- short_data = self.cp.GetDeps(md5)
- pkgname = short_data["pkgname"]
- for dep_pkgname, _ in short_data["deps"]:
- rev_dep_set = rev_deps.setdefault(dep_pkgname, [])
- rev_dep_set.append((md5, pkgname))
- if not quiet and not counter % EVERY_N_DOTS:
- sys.stdout.write(".")
- sys.stdout.flush()
- counter += 1
- sys.stdout.write("\n")
+ for pkg in catalog:
+ self.pkgs_by_pkgname[pkg['pkgname']] = pkg
+ self.pkgs_by_md5[pkg['md5_sum']] = pkg
+ for pkg in catalog:
+ deps = PkgnameListFromString(pkg['deps'])
+ for dep_pkgname in deps:
+ rev_dep_lst = rev_deps.setdefault(dep_pkgname, [])
+ rev_dep_lst.append((pkg['md5_sum'], pkg['pkgname']))
self.cached_catalogs[key] = rev_deps
- with open(fn, "w") as fd:
- fd.write(cjson.encode(self.cached_catalogs[key]))
def RevDepsByMD5(self, catrel, arch, osrel, md5_sum):
self.MakeRevIndex(catrel, arch, osrel)
- pkg = self.cp.GetPkgstats(md5_sum)
- pkgname = pkg["basic_stats"]["pkgname"]
- key = (catrel, arch, osrel)
+ pkg = self.pkgs_by_md5[md5_sum]
+ pkgname = pkg['pkgname']
+ key = CatalogSpec(catrel=catrel, arch=arch, osrel=osrel)
if pkgname in self.cached_catalogs[key]:
return self.cached_catalogs[key][pkgname]
else:
@@ -111,7 +109,7 @@
def RevDepsByPkg(self, catrel, arch, osrel, pkgname):
self.MakeRevIndex(catrel, arch, osrel)
- key = (catrel, arch, osrel)
+ key = CatalogSpec(catrel=catrel, arch=arch, osrel=osrel)
if pkgname in self.cached_catalogs[key]:
return self.cached_catalogs[key][pkgname]
else:
@@ -189,7 +187,8 @@
def main():
parser = optparse.OptionParser(USAGE)
- parser.add_option("-c", "--catalogname", dest="catalogname", help='the name of the package in catalog')
+ parser.add_option("-c", "--catalogname", dest="catalogname",
+ help='the name of the package in catalog')
parser.add_option("--os-releases", dest="os_releases",
help=("Comma separated OS releases, e.g. "
"SunOS5.9,SunOS5.10"))
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Sun Mar 30 21:43:23 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Sun, 30 Mar 2014 19:43:23 +0000
Subject: SF.net SVN: gar:[23296] csw/mgar/pkg/rcs/trunk
Message-ID: <3fxnKl6cSNzhy@mail.opencsw.org>
Revision: 23296
http://sourceforge.net/p/gar/code/23296
Author: dmichelsen
Date: 2014-03-30 19:43:20 +0000 (Sun, 30 Mar 2014)
Log Message:
-----------
rcs/trunk: Build separate package for Solaris 11 to fix #5159
Modified Paths:
--------------
csw/mgar/pkg/rcs/trunk/Makefile
Added Paths:
-----------
csw/mgar/pkg/rcs/trunk/files/0001-Do-not-halt-on-errors.patch
Modified: csw/mgar/pkg/rcs/trunk/Makefile
===================================================================
--- csw/mgar/pkg/rcs/trunk/Makefile 2014-03-30 16:55:59 UTC (rev 23295)
+++ csw/mgar/pkg/rcs/trunk/Makefile 2014-03-30 19:43:20 UTC (rev 23296)
@@ -9,10 +9,15 @@
MASTER_SITES = $(GNU_MIRROR)
DISTFILES = $(DISTNAME).tar.xz
-PATCHFILES += 0001-sh-bails-out-if-returncode-of-grep-is-1.patch
+PATCHFILES += 0001-Do-not-halt-on-errors.patch
VENDOR_URL = http://www.gnu.org/software/rcs/
+# Make extra package for Solaris 11 as the Solaris 10 package dumps core:
+# https://www.opencsw.org/mantis/view.php?id=5159
+PACKAGING_PLATFORMS += solaris10-sparc solaris10-i386
+PACKAGING_PLATFORMS += solaris11-sparc solaris11-i386
+
PACKAGES += CSWrcs
SPKG_DESC_CSWrcs = GNU Revision Control System
# PKGFILES is catchall
Added: csw/mgar/pkg/rcs/trunk/files/0001-Do-not-halt-on-errors.patch
===================================================================
--- csw/mgar/pkg/rcs/trunk/files/0001-Do-not-halt-on-errors.patch (rev 0)
+++ csw/mgar/pkg/rcs/trunk/files/0001-Do-not-halt-on-errors.patch 2014-03-30 19:43:20 UTC (rev 23296)
@@ -0,0 +1,25 @@
+From 52e5fc9a17ef1223124eabb24c7e9dde682059e6 Mon Sep 17 00:00:00 2001
+From: Dagobert Michelsen
+Date: Sun, 20 Oct 2013 17:50:42 +0200
+Subject: [PATCH] Do not halt on errors
+
+---
+ build-aux/extract-help | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build-aux/extract-help b/build-aux/extract-help
+index a360e1c..1c76319 100755
+--- a/build-aux/extract-help
++++ b/build-aux/extract-help
+@@ -30,7 +30,7 @@
+
+ version='1.0'
+
+-set -e
++# set -e
+
+ usage ()
+ {
+--
+1.8.3.4
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From dmichelsen at users.sourceforge.net Sun Mar 30 21:53:23 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Sun, 30 Mar 2014 19:53:23 +0000
Subject: SF.net SVN: gar:[23297] csw/mgar/pkg/rcs/trunk
Message-ID: <3fxnYC5BVczmQ@mail.opencsw.org>
Revision: 23297
http://sourceforge.net/p/gar/code/23297
Author: dmichelsen
Date: 2014-03-30 19:53:22 +0000 (Sun, 30 Mar 2014)
Log Message:
-----------
rcs/trunk: Update to 5.9.2, get rid of patches now integrated upstream
Modified Paths:
--------------
csw/mgar/pkg/rcs/trunk/Makefile
csw/mgar/pkg/rcs/trunk/checksums
Removed Paths:
-------------
csw/mgar/pkg/rcs/trunk/files/0001-Do-not-halt-on-errors.patch
csw/mgar/pkg/rcs/trunk/files/0001-sh-bails-out-if-returncode-of-grep-is-1.patch
Modified: csw/mgar/pkg/rcs/trunk/Makefile
===================================================================
--- csw/mgar/pkg/rcs/trunk/Makefile 2014-03-30 19:43:20 UTC (rev 23296)
+++ csw/mgar/pkg/rcs/trunk/Makefile 2014-03-30 19:53:22 UTC (rev 23297)
@@ -1,5 +1,5 @@
NAME = rcs
-VERSION = 5.9.1
+VERSION = 5.9.2
GARTYPE = v2
DESCRIPTION = GNU Revision Control System
@@ -9,8 +9,6 @@
MASTER_SITES = $(GNU_MIRROR)
DISTFILES = $(DISTNAME).tar.xz
-PATCHFILES += 0001-Do-not-halt-on-errors.patch
-
VENDOR_URL = http://www.gnu.org/software/rcs/
# Make extra package for Solaris 11 as the Solaris 10 package dumps core:
Modified: csw/mgar/pkg/rcs/trunk/checksums
===================================================================
--- csw/mgar/pkg/rcs/trunk/checksums 2014-03-30 19:43:20 UTC (rev 23296)
+++ csw/mgar/pkg/rcs/trunk/checksums 2014-03-30 19:53:22 UTC (rev 23297)
@@ -1 +1 @@
-43af6f4cce2c42bb4572691bb97e4396 rcs-5.9.1.tar.xz
+2af60f0baa0262888d229c2f0f5b8390 rcs-5.9.2.tar.xz
Deleted: csw/mgar/pkg/rcs/trunk/files/0001-Do-not-halt-on-errors.patch
===================================================================
--- csw/mgar/pkg/rcs/trunk/files/0001-Do-not-halt-on-errors.patch 2014-03-30 19:43:20 UTC (rev 23296)
+++ csw/mgar/pkg/rcs/trunk/files/0001-Do-not-halt-on-errors.patch 2014-03-30 19:53:22 UTC (rev 23297)
@@ -1,25 +0,0 @@
-From 52e5fc9a17ef1223124eabb24c7e9dde682059e6 Mon Sep 17 00:00:00 2001
-From: Dagobert Michelsen
-Date: Sun, 20 Oct 2013 17:50:42 +0200
-Subject: [PATCH] Do not halt on errors
-
----
- build-aux/extract-help | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/build-aux/extract-help b/build-aux/extract-help
-index a360e1c..1c76319 100755
---- a/build-aux/extract-help
-+++ b/build-aux/extract-help
-@@ -30,7 +30,7 @@
-
- version='1.0'
-
--set -e
-+# set -e
-
- usage ()
- {
---
-1.8.3.4
-
Deleted: csw/mgar/pkg/rcs/trunk/files/0001-sh-bails-out-if-returncode-of-grep-is-1.patch
===================================================================
--- csw/mgar/pkg/rcs/trunk/files/0001-sh-bails-out-if-returncode-of-grep-is-1.patch 2014-03-30 19:43:20 UTC (rev 23296)
+++ csw/mgar/pkg/rcs/trunk/files/0001-sh-bails-out-if-returncode-of-grep-is-1.patch 2014-03-30 19:53:22 UTC (rev 23297)
@@ -1,26 +0,0 @@
-From 8b9b824d11f30e7944dc664e7f3d4cbace871196 Mon Sep 17 00:00:00 2001
-From: Dagobert Michelsen
-Date: Sat, 19 Oct 2013 12:22:27 +0200
-Subject: [PATCH] sh bails out if returncode of grep is 1
-
----
- build-aux/extract-help | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
- mode change 100755 => 100644 build-aux/extract-help
-
-diff --git a/build-aux/extract-help b/build-aux/extract-help
-index a360e1c..7a2d33d
---- a/build-aux/extract-help
-+++ b/build-aux/extract-help
-@@ -87,7 +87,7 @@ echo 'static char const' $vprefix'help[] = ""'
- echo ';'
-
- # Pull in command support only if needed.
--if [ 0 = `grep -c 'CHECK_HV (".*")' "$in"` ] ; then
-+if [ 0 = `grep -c 'CHECK_HV (".*")' "$in";true` ] ; then
- echo '#include "b-yacmd.h"'
- fi
-
---
-1.8.3.4
-
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Mar 30 23:20:00 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 30 Mar 2014 21:20:00 +0000
Subject: SF.net SVN: gar:[23298] csw/mgar/pkg/libgnomeprintui/trunk/Makefile
Message-ID: <3fxqT61HX6z10k@mail.opencsw.org>
Revision: 23298
http://sourceforge.net/p/gar/code/23298
Author: wahwah
Date: 2014-03-30 21:19:59 +0000 (Sun, 30 Mar 2014)
Log Message:
-----------
libgnomeprintui/trunk: Let's rebuild the old version; there's a problem with dependency differences between sparc and intel
Modified Paths:
--------------
csw/mgar/pkg/libgnomeprintui/trunk/Makefile
Modified: csw/mgar/pkg/libgnomeprintui/trunk/Makefile
===================================================================
--- csw/mgar/pkg/libgnomeprintui/trunk/Makefile 2014-03-30 19:53:22 UTC (rev 23297)
+++ csw/mgar/pkg/libgnomeprintui/trunk/Makefile 2014-03-30 21:19:59 UTC (rev 23298)
@@ -13,6 +13,10 @@
UFILES_REGEX = href=\"(\d+(?:\.\d+)*)/\"
UPSTREAM_MASTER_SITES = http://ftp.acc.umu.se/pub/GNOME/sources/libgnomeprintui/
+BUILD_DEP_PKGS = CSWfontconfig-dev
+# TODO: Add more *-dev packages. Maybe we should have some automation which
+# would detect which *-dev packages to add?
+
PACKAGES += CSWlibgnomeprintui2-2-0
PKGFILES_CSWlibgnomeprintui2-2-0 += $(call baseisadirs,$(libdir),libgnomeprintui-2-2\.so\.0(\.\d+)*)
SPKG_DESC_CSWlibgnomeprintui2-2-0 += $(DESCRIPTION), libgnomeprintui-2-2.so.0
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Mon Mar 31 00:30:23 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 30 Mar 2014 22:30:23 +0000
Subject: SF.net SVN: gar:[23299] csw/mgar/pkg/easytag/trunk/Makefile
Message-ID: <3fxs2K1ClKz15p@mail.opencsw.org>
Revision: 23299
http://sourceforge.net/p/gar/code/23299
Author: wahwah
Date: 2014-03-30 22:30:21 +0000 (Sun, 30 Mar 2014)
Log Message:
-----------
easytag/trunk: update dependencies
Modified Paths:
--------------
csw/mgar/pkg/easytag/trunk/Makefile
Modified: csw/mgar/pkg/easytag/trunk/Makefile
===================================================================
--- csw/mgar/pkg/easytag/trunk/Makefile 2014-03-30 21:19:59 UTC (rev 23298)
+++ csw/mgar/pkg/easytag/trunk/Makefile 2014-03-30 22:30:21 UTC (rev 23299)
@@ -37,6 +37,7 @@
BUILD_DEP_PKGS += CSWsunx11devel
RUNTIME_DEP_PKGS_CSWeasytag += CSWlibflac8
+RUNTIME_DEP_PKGS_CSWeasytag += CSWlibfreetype6
RUNTIME_DEP_PKGS_CSWeasytag += CSWlibgdk-pixbuf2-0-0
RUNTIME_DEP_PKGS_CSWeasytag += CSWlibgdk-x11-2-0-0
RUNTIME_DEP_PKGS_CSWeasytag += CSWlibgio2-0-0
@@ -44,14 +45,15 @@
RUNTIME_DEP_PKGS_CSWeasytag += CSWlibgobject2-0-0
RUNTIME_DEP_PKGS_CSWeasytag += CSWlibgtk-x11-2-0-0
RUNTIME_DEP_PKGS_CSWeasytag += CSWlibid3-3-8-3
-RUNTIME_DEP_PKGS_CSWeasytag += CSWlibid3tag
+RUNTIME_DEP_PKGS_CSWeasytag += CSWlibid3tag0
RUNTIME_DEP_PKGS_CSWeasytag += CSWlibintl8
RUNTIME_DEP_PKGS_CSWeasytag += CSWlibogg0
+RUNTIME_DEP_PKGS_CSWeasytag += CSWlibpango1-0-0
RUNTIME_DEP_PKGS_CSWeasytag += CSWlibspeex1
RUNTIME_DEP_PKGS_CSWeasytag += CSWlibvorbis0
RUNTIME_DEP_PKGS_CSWeasytag += CSWlibvorbisfile3
RUNTIME_DEP_PKGS_CSWeasytag += CSWlibwavpack1
-RUNTIME_DEP_PKGS_CSWeasytag += CSWpango
+RUNTIME_DEP_PKGS_CSWeasytag += CSWlibz1
# This macro is being phased out of Pango, so this seems like an acceptable fix for now:
# https://bugzilla.gnome.org/show_bug.cgi?id=652202
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Mon Mar 31 01:30:53 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 30 Mar 2014 23:30:53 +0000
Subject: SF.net SVN: gar:[23300] csw/mgar/pkg/easytag/trunk/Makefile
Message-ID: <3fxtN72Hs9z1Cf@mail.opencsw.org>
Revision: 23300
http://sourceforge.net/p/gar/code/23300
Author: wahwah
Date: 2014-03-30 23:30:47 +0000 (Sun, 30 Mar 2014)
Log Message:
-----------
easytag/trunk: Updated dependencies. We're not ready for a version bump
Modified Paths:
--------------
csw/mgar/pkg/easytag/trunk/Makefile
Modified: csw/mgar/pkg/easytag/trunk/Makefile
===================================================================
--- csw/mgar/pkg/easytag/trunk/Makefile 2014-03-30 22:30:21 UTC (rev 23299)
+++ csw/mgar/pkg/easytag/trunk/Makefile 2014-03-30 23:30:47 UTC (rev 23300)
@@ -1,7 +1,7 @@
# $Id$
NAME = easytag
-VERSION = 2.1.10
+VERSION = 2.1.8
GARTYPE = v2
DESCRIPTION = Tag editor for MP3, Ogg Vorbis files and more
@@ -11,10 +11,11 @@
interface makes tagging easier under GNU/Linux or Windows.
endef
-MASTER_SITES = $(GNOME_MIRRORS)
+# MASTER_SITES = $(GNOME_MIRRORS)
+MASTER_SITES = https://download.gnome.org/sources/easytag/2.1/
DISTFILES += $(NAME)-$(VERSION).tar.xz
-VENDOR_URL = http://projects.gnome.org/easytag/
+VENDOR_URL = https://wiki.gnome.org/Apps/EasyTAG
BUILD_DEP_PKGS += CSWlibogg-dev
BUILD_DEP_PKGS += CSWlibvorbis-dev
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From cgrzemba at users.sourceforge.net Mon Mar 31 08:47:44 2014
From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net)
Date: Mon, 31 Mar 2014 06:47:44 +0000
Subject: SF.net SVN: gar:[23301] csw/mgar/pkg/transfig/trunk/Makefile
Message-ID: <3fy44C5Gg9z62@mail.opencsw.org>
Revision: 23301
http://sourceforge.net/p/gar/code/23301
Author: cgrzemba
Date: 2014-03-31 06:47:43 +0000 (Mon, 31 Mar 2014)
Log Message:
-----------
transfig/trunk: update description
Modified Paths:
--------------
csw/mgar/pkg/transfig/trunk/Makefile
Modified: csw/mgar/pkg/transfig/trunk/Makefile
===================================================================
--- csw/mgar/pkg/transfig/trunk/Makefile 2014-03-30 23:30:47 UTC (rev 23300)
+++ csw/mgar/pkg/transfig/trunk/Makefile 2014-03-31 06:47:43 UTC (rev 23301)
@@ -5,9 +5,11 @@
VERSION = 3.2.5e
GARTYPE = v2
-DESCRIPTION = Brief description
+DESCRIPTION = Create and convert graphics
define BLURB
- Long description
+ TransFig is a set of tools for creating TeX documents with graphics
+ which are portable, in the sense that they can be printed in a wide
+ variety of environments.
endef
MASTER_SITES = $(SF_MIRROR)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Mon Mar 31 12:57:44 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Mon, 31 Mar 2014 10:57:44 +0000
Subject: SF.net SVN: gar:[23302] csw/mgar/pkg/lang-python/textile/trunk
Message-ID: <3fy9cd3nWTzZN@mail.opencsw.org>
Revision: 23302
http://sourceforge.net/p/gar/code/23302
Author: wahwah
Date: 2014-03-31 10:57:43 +0000 (Mon, 31 Mar 2014)
Log Message:
-----------
lang-python/textile/trunk: Version bump
Modified Paths:
--------------
csw/mgar/pkg/lang-python/textile/trunk/Makefile
csw/mgar/pkg/lang-python/textile/trunk/checksums
Modified: csw/mgar/pkg/lang-python/textile/trunk/Makefile
===================================================================
--- csw/mgar/pkg/lang-python/textile/trunk/Makefile 2014-03-31 06:47:43 UTC (rev 23301)
+++ csw/mgar/pkg/lang-python/textile/trunk/Makefile 2014-03-31 10:57:43 UTC (rev 23302)
@@ -3,7 +3,7 @@
# $Id$
NAME = textile
-VERSION = 2.1.4
+VERSION = 2.1.5
CATEGORIES = python
GARTYPE = v2
DESCRIPTION = XHTML generator using simple markup
Modified: csw/mgar/pkg/lang-python/textile/trunk/checksums
===================================================================
--- csw/mgar/pkg/lang-python/textile/trunk/checksums 2014-03-31 06:47:43 UTC (rev 23301)
+++ csw/mgar/pkg/lang-python/textile/trunk/checksums 2014-03-31 10:57:43 UTC (rev 23302)
@@ -1 +1 @@
-05ebee989379d5930e779f85d276abed textile-2.1.4.tar.gz
+6e030e112eca1dafa1be84cf5575560d textile-2.1.5.tar.gz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From cgrzemba at users.sourceforge.net Mon Mar 31 13:26:12 2014
From: cgrzemba at users.sourceforge.net (cgrzemba at users.sourceforge.net)
Date: Mon, 31 Mar 2014 11:26:12 +0000
Subject: SF.net SVN: gar:[23303] csw/mgar/pkg/hplip/trunk
Message-ID: <3fyBFc6KBwzgH@mail.opencsw.org>
Revision: 23303
http://sourceforge.net/p/gar/code/23303
Author: cgrzemba
Date: 2014-03-31 11:26:07 +0000 (Mon, 31 Mar 2014)
Log Message:
-----------
hplip/trunk: update version, add tools
Modified Paths:
--------------
csw/mgar/pkg/hplip/trunk/Makefile
Added Paths:
-----------
csw/mgar/pkg/hplip/trunk/files/0005-set-csw-path-utils.h.patch
csw/mgar/pkg/hplip/trunk/files/0006-set-csw-path-hpps.patch
csw/mgar/pkg/hplip/trunk/files/0007-swap-ldflags-Makefile.in.patch
csw/mgar/pkg/hplip/trunk/files/0008-add-strcasestr-hp.c.patch
csw/mgar/pkg/hplip/trunk/files/0009-add-getdomainname-def-HPCupsFilter.cpp.patch
csw/mgar/pkg/hplip/trunk/files/0010-include-math.h.ErnieFilter.cpp.patch
Modified: csw/mgar/pkg/hplip/trunk/Makefile
===================================================================
--- csw/mgar/pkg/hplip/trunk/Makefile 2014-03-31 10:57:43 UTC (rev 23302)
+++ csw/mgar/pkg/hplip/trunk/Makefile 2014-03-31 11:26:07 UTC (rev 23303)
@@ -1,5 +1,5 @@
NAME = hplip
-VERSION = 3.13.3
+VERSION = 3.14.3
GARTYPE = v2
MASTER_SITES = http://prdownloads.sourceforge.net/hplip/
@@ -24,14 +24,31 @@
PATCHFILES += 0001-add-strnlen.patch
PATCHFILES += 0002-set-csw-path-hpijs.cpp.patch
PATCHFILES += 0004-set-csw-path-foomatic-rip-hplip.patch
+PATCHFILES += 0005-set-csw-path-utils.h.patch
+PATCHFILES += 0006-set-csw-path-hpps.patch
+PATCHFILES += 0007-swap-ldflags-Makefile.in.patch
+PATCHFILES += 0008-add-strcasestr-hp.c.patch
+PATCHFILES += 0009-add-getdomainname-def-HPCupsFilter.cpp.patch
+PATCHFILES += 0010-include-math.h.ErnieFilter.cpp.patch
-EXTRA_LINKER_FLAGS += -norunpath -xnorunpath
+EXTRA_LINKER_FLAGS_SOS12U3 += -norunpath -xnorunpath
+EXTRA_LINKER_FLAGS += $(EXTRA_LINKER_FLAGS_$(GARCOMPILER))
+EXTRA_INC += /usr/sfw/include
+EXTRA_LIB += /usr/sfw/lib
+EXTRA_CPPFLAGS_SOS12U3 += -features=extensions
+EXTRA_CPPFLAGS += $(EXTRA_CPPFLAGS_$(GARCOMPILER))
+STRIP_LIBTOOL = 1
CONFIGURE_ARGS = $(DIRPATHS)
-CONFIGURE_ARGS += --enable-hpijs-only-build
-CONFIGURE_ARGS += --enable-hpijs-install
+# CONFIGURE_ARGS += --enable-hpijs-only-build
+# CONFIGURE_ARGS += --enable-hpijs-install
CONFIGURE_ARGS += --with-hpppddir=/opt/csw/share/cups/model/HP
# CONFIGURE_ARGS += --enable-hpcups-only-build
+CONFIGURE_ARGS += --disable-network-build
+# CONFIGURE_ARGS += --disable-scan-build
+# CONFIGURE_ARGS += --disable-gui-build
+# CONFIGURE_ARGS += --disable-fax-build
+CONFIGURE_ARGS += --enable-libusb01_build
CHECKPKG_OVERRIDES_CSWhplip += file-with-bad-content|/usr/share|root/opt/csw/share/doc/$(NAME)-$(VERSION)/upgrading.html
CHECKPKG_OVERRIDES_CSWhplip += file-with-bad-content|/usr/share|root/opt/csw/share/doc/$(NAME)-$(VERSION)/uninstalling.html
@@ -40,6 +57,7 @@
post-install:
ginstall -m 755 -d $(DESTDIR)$(libdir)/cups/filter
+ ginstall -m 755 -d $(DESTDIR)$(sysconfdir)/hp
ginstall -m 755 $(WORKSRC)/prnt/filters/hpps $(DESTDIR)$(libdir)/cups/filter
- ginstall -m 755 $(WORKSRC)/prnt/filters/hpcac $(DESTDIR)$(libdir)/cups/filter
+ ginstall -m 644 $(WORKSRC)/hplip.conf $(DESTDIR)$(sysconfdir)/hp
$(MAKECOOKIES)
Added: csw/mgar/pkg/hplip/trunk/files/0005-set-csw-path-utils.h.patch
===================================================================
--- csw/mgar/pkg/hplip/trunk/files/0005-set-csw-path-utils.h.patch (rev 0)
+++ csw/mgar/pkg/hplip/trunk/files/0005-set-csw-path-utils.h.patch 2014-03-31 11:26:07 UTC (rev 23303)
@@ -0,0 +1,13 @@
+--- a/common/utils.h
++++ b/common/utils.h
+@@ -21,8 +21,8 @@
+ #define SCAN_PLUGIN_SOAP "bb_soap.so"
+ #define SCAN_PLUGIN_SOAPHT "bb_soapht.so"
+
+-#define HPLIP_PLUGIN_STATE "/var/lib/hp/hplip.state"
+-#define CUPS_TMP_DIR getenv("TMPDIR") ? : getenv("HOME") ?:"/tmp"
++#define HPLIP_PLUGIN_STATE "/var/opt/csw/lib/hp/hplip.state"
++#define CUPS_TMP_DIR getenv("TMPDIR") ? getenv("TMPDIR") : getenv("HOME") ? getenv("HOME") :"/tmp"
+
+ enum UTILS_CONF_RESULT
+ {
Added: csw/mgar/pkg/hplip/trunk/files/0006-set-csw-path-hpps.patch
===================================================================
--- csw/mgar/pkg/hplip/trunk/files/0006-set-csw-path-hpps.patch (rev 0)
+++ csw/mgar/pkg/hplip/trunk/files/0006-set-csw-path-hpps.patch 2014-03-31 11:26:07 UTC (rev 23303)
@@ -0,0 +1,20 @@
+--- a/prnt/filters/hpps
++++ b/prnt/filters/hpps
+@@ -44,7 +44,7 @@ output_fd = 1
+
+ job_id = 0
+ pid = os.getpid()
+-config_file = '/etc/hp/hplip.conf'
++config_file = '/etc/opt/csw/hp/hplip.conf'
+ home_dir = ''
+
+
+@@ -64,7 +64,7 @@ if os.path.exists(config_file):
+ bug("Error setting home directory: home= under [dirs] not found.")
+ sys.exit(CUPS_FILTER_FAILED)
+ else:
+- bug("Error setting home directory: /etc/hp/hplip.conf not found")
++ bug("Error setting home directory: %s not found" % config_file)
+ sys.exit(CUPS_FILTER_FAILED)
+
+ if not home_dir or not os.path.exists(home_dir):
Added: csw/mgar/pkg/hplip/trunk/files/0007-swap-ldflags-Makefile.in.patch
===================================================================
--- csw/mgar/pkg/hplip/trunk/files/0007-swap-ldflags-Makefile.in.patch (rev 0)
+++ csw/mgar/pkg/hplip/trunk/files/0007-swap-ldflags-Makefile.in.patch 2014-03-31 11:26:07 UTC (rev 23303)
@@ -0,0 +1,33 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -306,7 +306,7 @@ am__libhpmud_la_SOURCES_DIST = io/hpmud/hpmud.c io/hpmud/mlc.c \
+ libhpmud_la_OBJECTS = $(am_libhpmud_la_OBJECTS)
+ libhpmud_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libhpmud_la_CFLAGS) \
+- $(CFLAGS) $(libhpmud_la_LDFLAGS) $(LDFLAGS) -o $@
++ $(CFLAGS) $(LDFLAGS) $(libhpmud_la_LDFLAGS) -o $@
+ @HPLIP_BUILD_TRUE at am_libhpmud_la_rpath = -rpath $(libdir)
+ am__DEPENDENCIES_1 =
+ @HPLIP_BUILD_TRUE@@SCAN_BUILD_TRUE at libsane_hpaio_la_DEPENDENCIES = \
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -346,7 +346,7 @@ am__libsane_hpaio_la_SOURCES_DIST = scan/sane/hpaio.c \
+ libsane_hpaio_la_OBJECTS = $(am_libsane_hpaio_la_OBJECTS)
+ libsane_hpaio_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libsane_hpaio_la_CFLAGS) \
+- $(CFLAGS) $(libsane_hpaio_la_LDFLAGS) $(LDFLAGS) -o $@
++ $(CFLAGS) $(LDFLAGS) $(libsane_hpaio_la_LDFLAGS) -o $@
+ @HPLIP_BUILD_TRUE@@SCAN_BUILD_TRUE at am_libsane_hpaio_la_rpath = -rpath \
+ @HPLIP_BUILD_TRUE@@SCAN_BUILD_TRUE@ $(libsane_hpaiodir)
+ pcardext_la_LIBADD =
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -366,7 +366,7 @@ am__scanext_la_SOURCES_DIST = scan/scanext/scanext.c
+ scanext_la_OBJECTS = $(am_scanext_la_OBJECTS)
+ scanext_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(scanext_la_CFLAGS) \
+- $(CFLAGS) $(scanext_la_LDFLAGS) $(LDFLAGS) -o $@
++ $(CFLAGS) $(LDFLAGS) $(scanext_la_LDFLAGS) -o $@
+ @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@@SCAN_BUILD_TRUE at am_scanext_la_rpath = \
+ @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@@SCAN_BUILD_TRUE@ -rpath \
+ @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@@SCAN_BUILD_TRUE@ $(scanextdir)
Added: csw/mgar/pkg/hplip/trunk/files/0008-add-strcasestr-hp.c.patch
===================================================================
--- csw/mgar/pkg/hplip/trunk/files/0008-add-strcasestr-hp.c.patch (rev 0)
+++ csw/mgar/pkg/hplip/trunk/files/0008-add-strcasestr-hp.c.patch 2014-03-31 11:26:07 UTC (rev 23303)
@@ -0,0 +1,41 @@
+--- a/common/utils.c
++++ b/common/utils.c
+@@ -4,6 +4,8 @@
+ #include
+ #include
+ #include
++#include
++#include
+
+ extern int errno;
+
+@@ -245,4 +247,16 @@ int createTempFile(char* szFileName, FILE** pFilePtr)
+ }
+
+ return iFD;
+-}
+\ No newline at end of file
++}
++
++char *strcasestr(char *a, char *b)
++{
++ size_t l;
++ char f[3];
++
++ snprintf(f, sizeof(f), "%c%c", tolower(*b), toupper(*b));
++ for (l = strcspn(a, f); l != strlen(a); l += strcspn(a + l + 1, f) + 1)
++ if (strncasecmp(a + l, b, strlen(b)) == 0)
++ return a + l;
++ return NULL;
++}
+--- a/common/utils.h
++++ b/common/utils.h
+@@ -152,6 +152,8 @@ extern "C" {
+
+ int createTempFile(char* szFileName, FILE** pFilePtr);
+
++ char *strcasestr(char *a, char *b);
++
+ #ifdef __cplusplus
+ }
+ #endif
Added: csw/mgar/pkg/hplip/trunk/files/0009-add-getdomainname-def-HPCupsFilter.cpp.patch
===================================================================
--- csw/mgar/pkg/hplip/trunk/files/0009-add-getdomainname-def-HPCupsFilter.cpp.patch (rev 0)
+++ csw/mgar/pkg/hplip/trunk/files/0009-add-getdomainname-def-HPCupsFilter.cpp.patch 2014-03-31 11:26:07 UTC (rev 23303)
@@ -0,0 +1,24 @@
+--- a/prnt/hpcups/HPCupsFilter.cpp
++++ b/prnt/hpcups/HPCupsFilter.cpp
+@@ -34,12 +34,21 @@
+ #include
+ #include
+ #include
++#include
+ #include
+ #include "utils.h"
+
+ #define HP_FILE_VERSION_STR "03.09.08.0"
+
+ static HPCupsFilter filter;
++int
++getdomainname(char *name, size_t namelen)
++{
++ long sysinfostatus;
++
++ sysinfostatus = sysinfo(SI_SRPC_DOMAIN, name, namelen);
++ return ((sysinfostatus < 0) ? -1 : 0);
++}
+
+ int main (int argc, char *argv[])
+ {
Added: csw/mgar/pkg/hplip/trunk/files/0010-include-math.h.ErnieFilter.cpp.patch
===================================================================
--- csw/mgar/pkg/hplip/trunk/files/0010-include-math.h.ErnieFilter.cpp.patch (rev 0)
+++ csw/mgar/pkg/hplip/trunk/files/0010-include-math.h.ErnieFilter.cpp.patch 2014-03-31 11:26:07 UTC (rev 23303)
@@ -0,0 +1,13 @@
+--- a/prnt/hpcups/ErnieFilter.cpp
++++ b/prnt/hpcups/ErnieFilter.cpp
+@@ -50,10 +50,7 @@
+ #include "ErnieFilter.h"
+
+
+-#if defined(__APPLE__) || defined(__linux) || defined(__GLIBC__) || defined(__NetBSD__)
+ #include
+-#endif
+-
+
+ #if kGatherStats == 1
+ extern int blockStats[];
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From jake_goerzen at users.sourceforge.net Mon Mar 31 20:16:21 2014
From: jake_goerzen at users.sourceforge.net (jake_goerzen at users.sourceforge.net)
Date: Mon, 31 Mar 2014 18:16:21 +0000
Subject: SF.net SVN: gar:[23304] csw/mgar/pkg
Message-ID: <3fyMLm3pF4z1Cn@mail.opencsw.org>
Revision: 23304
http://sourceforge.net/p/gar/code/23304
Author: jake_goerzen
Date: 2014-03-31 18:16:15 +0000 (Mon, 31 Mar 2014)
Log Message:
-----------
gtk-gnutella: re-initial commit
Added Paths:
-----------
csw/mgar/pkg/gtk-gnutella/
csw/mgar/pkg/gtk-gnutella/Makefile
csw/mgar/pkg/gtk-gnutella/branches/
csw/mgar/pkg/gtk-gnutella/tags/
csw/mgar/pkg/gtk-gnutella/trunk/
csw/mgar/pkg/gtk-gnutella/trunk/Makefile
csw/mgar/pkg/gtk-gnutella/trunk/checksums
csw/mgar/pkg/gtk-gnutella/trunk/files/
Added: csw/mgar/pkg/gtk-gnutella/Makefile
===================================================================
--- csw/mgar/pkg/gtk-gnutella/Makefile (rev 0)
+++ csw/mgar/pkg/gtk-gnutella/Makefile 2014-03-31 18:16:15 UTC (rev 23304)
@@ -0,0 +1,2 @@
+%:
+ $(MAKE) -C trunk $*
Index: csw/mgar/pkg/gtk-gnutella/trunk
===================================================================
--- csw/mgar/pkg/gtk-gnutella/trunk 2014-03-31 11:26:07 UTC (rev 23303)
+++ csw/mgar/pkg/gtk-gnutella/trunk 2014-03-31 18:16:15 UTC (rev 23304)
Property changes on: csw/mgar/pkg/gtk-gnutella/trunk
___________________________________________________________________
Added: svn:ignore
## -0,0 +1 ##
+work
Added: csw/mgar/pkg/gtk-gnutella/trunk/Makefile
===================================================================
--- csw/mgar/pkg/gtk-gnutella/trunk/Makefile (rev 0)
+++ csw/mgar/pkg/gtk-gnutella/trunk/Makefile 2014-03-31 18:16:15 UTC (rev 23304)
@@ -0,0 +1,38 @@
+# $Id$
+# TODO (release-critical prefixed with !, non release-critical with *)
+#
+NAME = gtk-gnutella
+VERSION = 1.0.1
+GARTYPE = v2
+CATEGORIES = default
+
+DESCRIPTION = shares files in a peer to peer network
+define BLURB
+ Gtk-Gnutella is a reliable and efficient Gnutella client, supporting the latest Gnutella protocol, bandwidth limitation (both incoming and outgoing) traffic compression, and advanced search filters among other features.
+
+Gnutella is a peer-based file-sharing protocol that allows a user running a Gnutella client to search for and download files from other Gnutella users, as well as share some files of his/her own.
+
+Gtk-Gnutella offers all the extra features you expect from a modern client: persistent downloads, searches and filters, intuitive interface, upload statistics, queuing, and of course total control over many configuration parameters.
+endef
+
+MASTER_SITES = $(SF_MIRRORS)
+DISTFILES = $(DISTNAME).tar.bz2
+
+# File name regex to get notifications about upstream software releases
+# NOTE: Use this only if the automatic regex creation
+# does not work for your package
+# UFILES_REGEX = $(NAME)-(\d+(?:\.\d+)*).tar.gz
+
+# If the url used to check for software update is different of MASTER_SITES, then
+# uncomment the next line. Otherwise it is set by default to the value of MASTER_SITES
+# UPSTREAM_MASTER_SITES =
+
+CONFIGURE_ARGS = $(DIRPATHS)
+
+CONFIGURE_SCRIPTS = custom
+
+include gar/category.mk
+
+configure-custom:
+ cd $(WORKSRC) && CC=gcc ./build.sh --prefix=/opt/csw
+ @$(MAKECOOKIE)
Property changes on: csw/mgar/pkg/gtk-gnutella/trunk/Makefile
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: csw/mgar/pkg/gtk-gnutella/trunk/checksums
===================================================================
--- csw/mgar/pkg/gtk-gnutella/trunk/checksums (rev 0)
+++ csw/mgar/pkg/gtk-gnutella/trunk/checksums 2014-03-31 18:16:15 UTC (rev 23304)
@@ -0,0 +1 @@
+0ff4036ec275eb41e9b310a521c15732 gtk-gnutella-1.0.1.tar.bz2
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From jake_goerzen at users.sourceforge.net Mon Mar 31 20:47:23 2014
From: jake_goerzen at users.sourceforge.net (jake_goerzen at users.sourceforge.net)
Date: Mon, 31 Mar 2014 18:47:23 +0000
Subject: SF.net SVN: gar:[23305] csw/mgar/pkg
Message-ID: <3fyN2X5mtlz1K8@mail.opencsw.org>
Revision: 23305
http://sourceforge.net/p/gar/code/23305
Author: jake_goerzen
Date: 2014-03-31 18:47:21 +0000 (Mon, 31 Mar 2014)
Log Message:
-----------
torsocks: initial commit
Added Paths:
-----------
csw/mgar/pkg/torsocks/
csw/mgar/pkg/torsocks/Makefile
csw/mgar/pkg/torsocks/branches/
csw/mgar/pkg/torsocks/tags/
csw/mgar/pkg/torsocks/trunk/
csw/mgar/pkg/torsocks/trunk/Makefile
csw/mgar/pkg/torsocks/trunk/checksums
csw/mgar/pkg/torsocks/trunk/files/
Added: csw/mgar/pkg/torsocks/Makefile
===================================================================
--- csw/mgar/pkg/torsocks/Makefile (rev 0)
+++ csw/mgar/pkg/torsocks/Makefile 2014-03-31 18:47:21 UTC (rev 23305)
@@ -0,0 +1,2 @@
+%:
+ $(MAKE) -C trunk $*
Index: csw/mgar/pkg/torsocks/trunk
===================================================================
--- csw/mgar/pkg/torsocks/trunk 2014-03-31 18:16:15 UTC (rev 23304)
+++ csw/mgar/pkg/torsocks/trunk 2014-03-31 18:47:21 UTC (rev 23305)
Property changes on: csw/mgar/pkg/torsocks/trunk
___________________________________________________________________
Added: svn:ignore
## -0,0 +1 ##
+work
Added: csw/mgar/pkg/torsocks/trunk/Makefile
===================================================================
--- csw/mgar/pkg/torsocks/trunk/Makefile (rev 0)
+++ csw/mgar/pkg/torsocks/trunk/Makefile 2014-03-31 18:47:21 UTC (rev 23305)
@@ -0,0 +1,19 @@
+# $Id$
+# TODO (release-critical prefixed with !, non release-critical with *)
+#
+NAME = torsocks
+VERSION = 1.2
+GARTYPE = v2
+
+DESCRIPTION = use SOCKS-friendly applications with Tor
+define BLURB
+ Torsocks allows you to use most SOCKS-friendly applications in a safe way with Tor. It ensures that DNS requests are handled safely and explicitly rejects UDP traffic from the application you're using.
+endef
+
+MASTER_SITES = $(GOOGLE_MIRROR)
+DISTFILES = $(NAME)-$(VERSION).tar.gz
+
+CONFIGURE_ARGS = $(DIRPATHS)
+
+include gar/category.mk
+
Property changes on: csw/mgar/pkg/torsocks/trunk/Makefile
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: csw/mgar/pkg/torsocks/trunk/checksums
===================================================================
--- csw/mgar/pkg/torsocks/trunk/checksums (rev 0)
+++ csw/mgar/pkg/torsocks/trunk/checksums 2014-03-31 18:47:21 UTC (rev 23305)
@@ -0,0 +1 @@
+9bdc8786951e7eec6915433f324f22a4 torsocks-1.2.tar.gz
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|