From lblume at users.sourceforge.net Fri Aug 1 13:21:47 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Fri, 1 Aug 2014 11:21:47 +0000
Subject: SF.net SVN: gar:[23900] csw/mgar/pkg/znapzend/trunk
Message-ID: <3hPmKV15pdzbP@mail.opencsw.org>
Revision: 23900
http://sourceforge.net/p/gar/code/23900
Author: lblume
Date: 2014-08-01 11:21:44 +0000 (Fri, 01 Aug 2014)
Log Message:
-----------
znapzend/trunk: Bump to 0.9.1; clean up things not needed anymore
Modified Paths:
--------------
csw/mgar/pkg/znapzend/trunk/Makefile
csw/mgar/pkg/znapzend/trunk/checksums
csw/mgar/pkg/znapzend/trunk/files/cswznapzend
Modified: csw/mgar/pkg/znapzend/trunk/Makefile
===================================================================
--- csw/mgar/pkg/znapzend/trunk/Makefile 2014-07-31 20:15:57 UTC (rev 23899)
+++ csw/mgar/pkg/znapzend/trunk/Makefile 2014-08-01 11:21:44 UTC (rev 23900)
@@ -2,7 +2,7 @@
# TODO (release-critical prefixed with !, non release-critical with *)
#
NAME = znapzend
-VERSION = 0.8.7
+VERSION = 0.9.1
GARTYPE = v2
DESCRIPTION = The Multilevel Backup Tool for ZFS
@@ -21,28 +21,6 @@
INITSMF = /etc/opt/csw/init.d/cswznapzend
-REINPLACEMENTS += manifest servicename xmlloc datadir pmdir
-# Bug, incorrect part in path
-REINPLACE_MATCH_manifest = /oep/
-REINPLACE_WITH_manifest = /
-REINPLACE_FILES_manifest = init/znapzend.xml.in
-# Adjust the name for OpenCSW
-REINPLACE_MATCH_servicename = name="oep/znapzend"
-REINPLACE_WITH_servicename = name="system/cswznapzend"
-REINPLACE_FILES_servicename = init/znapzend.xml.in
-# Install that file manually in the right location
-REINPLACE_MATCH_xmlloc = nobase_data_DATA = \$$\(PM\) init/znapzend.xml
-REINPLACE_WITH_xmlloc = nobase_data_DATA = \$$\(PM\)
-REINPLACE_FILES_xmlloc = Makefile.in
-# datadir must be set
-REINPLACE_MATCH_datadir = datadir = \$$\(prefix\)
-REINPLACE_WITH_datadir = datadir = \@datadir\@
-REINPLACE_FILES_datadir = Makefile.in
-# No need for lib/ subdir
-REINPLACE_MATCH_pmdir = \$$\(DESTDIR\)\$$\(datadir\)/\$$\$$dir
-REINPLACE_WITH_pmdir = \$$\(DESTDIR\)\$$\(datadir\)/ZnapZend
-REINPLACE_FILES_pmdir = Makefile.in
-
CONFIGURE_ARGS = $(DIRPATHS)
CONFIGURE_ARGS += --datadir=$(libdir)/perl/csw/
CONFIGURE_ARGS += PERL5LIB=$(libdir)/perl/csw/
@@ -76,6 +54,3 @@
post-install:
ginstall -d $(DESTDIR)/etc/opt/csw/init.d
ginstall $(WORKDIR)/cswznapzend $(DESTDIR)/etc/opt/csw/init.d
-# ginstall -d -m 755 $(DESTDIR)/var/opt/csw/svc/manifest/system
-# ginstall -m 444 $(WORKSRC)/init/znapzend.xml $(DESTDIR)/var/opt/csw/svc/manifest/system/
-
Modified: csw/mgar/pkg/znapzend/trunk/checksums
===================================================================
--- csw/mgar/pkg/znapzend/trunk/checksums 2014-07-31 20:15:57 UTC (rev 23899)
+++ csw/mgar/pkg/znapzend/trunk/checksums 2014-08-01 11:21:44 UTC (rev 23900)
@@ -1 +1 @@
-7c68c7db9c4e0713f96e0d577248c5ee znapzend-0.8.7.tar.gz
+7ddcd3393b35e43155e36882bd192eb9 znapzend-0.9.1.tar.gz
Modified: csw/mgar/pkg/znapzend/trunk/files/cswznapzend
===================================================================
--- csw/mgar/pkg/znapzend/trunk/files/cswznapzend 2014-07-31 20:15:57 UTC (rev 23899)
+++ csw/mgar/pkg/znapzend/trunk/files/cswznapzend 2014-08-01 11:21:44 UTC (rev 23900)
@@ -1,5 +1,9 @@
#!/bin/sh
-#AUTOENABLE no # Before running always manual adjustment of smb.conf is needed
+#
+# ZnapZend SMF method script
+#
+# ### OpenCSW parameters ###
+#AUTOENABLE no # Don't enable by default
#FMRI system # FMRI path for service (S10+), default is /network.
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 Aug 2 15:24:25 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Sat, 2 Aug 2014 13:24:25 +0000
Subject: SF.net SVN: gar:[23903] csw/mgar/pkg/smartmontools/trunk/Makefile
Message-ID: <3hQR0c4Gtfz1Q9@mail.opencsw.org>
Revision: 23903
http://sourceforge.net/p/gar/code/23903
Author: lblume
Date: 2014-08-02 13:24:21 +0000 (Sat, 02 Aug 2014)
Log Message:
-----------
smartmontools/trunk: Switch to GCC4; fix typo
Modified Paths:
--------------
csw/mgar/pkg/smartmontools/trunk/Makefile
Modified: csw/mgar/pkg/smartmontools/trunk/Makefile
===================================================================
--- csw/mgar/pkg/smartmontools/trunk/Makefile 2014-08-02 13:20:38 UTC (rev 23902)
+++ csw/mgar/pkg/smartmontools/trunk/Makefile 2014-08-02 13:24:21 UTC (rev 23903)
@@ -16,10 +16,12 @@
MASTER_SITES = $(SF_MIRROR)
DISTFILES = $(NAME)-$(VERSION).tar.gz
+GARCOMPILER = GCC4
+
# smartmontools packages built on 5.9 don't work on 5.10:
# > Error SMART Thresholds Read failed: I/O error
# > Smartctl: SMART Read Thresholds failed.
-# However, packages built on 5.10 do work on 5.10.
+# However, packages built on 5.10 do work on 5.11.
PACKAGING_PLATFORMS = solaris9-sparc solaris9-i386
PACKAGING_PLATFORMS += solaris10-sparc solaris10-i386
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 Aug 3 00:10:44 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Sat, 2 Aug 2014 22:10:44 +0000
Subject: SF.net SVN: gar:[23906] csw/mgar/pkg/znapzend/trunk
Message-ID: <3hQfgn4J4Lz7N@mail.opencsw.org>
Revision: 23906
http://sourceforge.net/p/gar/code/23906
Author: lblume
Date: 2014-08-02 22:10:39 +0000 (Sat, 02 Aug 2014)
Log Message:
-----------
znapzend/trunk: Bump to 0.10.0
Modified Paths:
--------------
csw/mgar/pkg/znapzend/trunk/Makefile
csw/mgar/pkg/znapzend/trunk/checksums
Modified: csw/mgar/pkg/znapzend/trunk/Makefile
===================================================================
--- csw/mgar/pkg/znapzend/trunk/Makefile 2014-08-02 13:44:49 UTC (rev 23905)
+++ csw/mgar/pkg/znapzend/trunk/Makefile 2014-08-02 22:10:39 UTC (rev 23906)
@@ -2,7 +2,7 @@
# TODO (release-critical prefixed with !, non release-critical with *)
#
NAME = znapzend
-VERSION = 0.9.1
+VERSION = 0.10.0
GARTYPE = v2
DESCRIPTION = The Multilevel Backup Tool for ZFS
Modified: csw/mgar/pkg/znapzend/trunk/checksums
===================================================================
--- csw/mgar/pkg/znapzend/trunk/checksums 2014-08-02 13:44:49 UTC (rev 23905)
+++ csw/mgar/pkg/znapzend/trunk/checksums 2014-08-02 22:10:39 UTC (rev 23906)
@@ -1 +1 @@
-7ddcd3393b35e43155e36882bd192eb9 znapzend-0.9.1.tar.gz
+a1587cb27c841c29f689c579fbaa2c9e znapzend-0.10.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 Aug 3 03:25:56 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 3 Aug 2014 01:25:56 +0000
Subject: SF.net SVN: gar:[23907] csw/mgar/gar/v2/lib/python/package_age.py
Message-ID: <3hQl110xxRzG3@mail.opencsw.org>
Revision: 23907
http://sourceforge.net/p/gar/code/23907
Author: wahwah
Date: 2014-08-03 01:25:51 +0000 (Sun, 03 Aug 2014)
Log Message:
-----------
package-ages: Correct default output file path
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/package_age.py
Modified: csw/mgar/gar/v2/lib/python/package_age.py
===================================================================
--- csw/mgar/gar/v2/lib/python/package_age.py 2014-08-02 22:10:39 UTC (rev 23906)
+++ csw/mgar/gar/v2/lib/python/package_age.py 2014-08-03 01:25:51 UTC (rev 23907)
@@ -6,7 +6,7 @@
To draw a histogram of package ages, run this in R:
-data <- read.table(file="/media/ivy-shared/package-ages.txt", header=TRUE,
+data <- read.table(file="package-ages.txt", header=TRUE,
colClasses=c("factor", "factor", "Date"))
png(filename="package-ages.png", width=1024, height=1024)
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 Aug 3 03:26:05 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 3 Aug 2014 01:26:05 +0000
Subject: SF.net SVN: gar:[23908] csw/mgar/gar/v2/go/src
Message-ID: <3hQl1g50TPzKG@mail.opencsw.org>
Revision: 23908
http://sourceforge.net/p/gar/code/23908
Author: wahwah
Date: 2014-08-03 01:26:04 +0000 (Sun, 03 Aug 2014)
Log Message:
-----------
promote-packages: First working version.
There was one thing I didn't know about Go and making HTTP requests: You have
to call response.Body.Close(), otherwise it'll leak memory.
The program produces 3 files:
- HTML report with a timestamp, describing the state of affairs that it saw
when it last ran.
- Log from the application run with various log messages, including errors
- Log with all the performed modifications to catalogs, and information on how
to roll them back - a list of curl commands.
Modified Paths:
--------------
csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go
csw/mgar/gar/v2/go/src/promote-packages/promote-packages.go
Added Paths:
-----------
csw/mgar/gar/v2/go/src/promote-packages/report-template.css
csw/mgar/gar/v2/go/src/promote-packages/report-template.html
Modified: csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go
===================================================================
--- csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go 2014-08-03 01:25:51 UTC (rev 23907)
+++ csw/mgar/gar/v2/go/src/opencsw/diskformat/diskformat.go 2014-08-03 01:26:04 UTC (rev 23908)
@@ -120,7 +120,7 @@
Version string `json:"version"`
Pkginst string `json:"pkgname"`
Filename string `json:"basename"`
- Md5_sum string `json:"md5_sum"`
+ Md5_sum Md5Sum `json:"md5_sum"`
Size uint64 `json:"size"`
Depends PkginstSlice `json:"deps"`
Category string `json:"category"`
@@ -135,7 +135,9 @@
p.Version,
p.Pkginst,
p.Filename,
- p.Md5_sum,
+ // Md5_sum is of type which is an alias to string, but this means we have
+ // to explicitly convert it to a string.
+ fmt.Sprintf("%v", p.Md5_sum),
fmt.Sprintf("%v", p.Size),
p.Depends.FormatForIndexFile(),
p.Category,
@@ -166,6 +168,11 @@
// To avoid confusion between various things represented as strings.
type Md5Sum string
+// One more to do: pkginst as a type:
+// type PkginstType string
+// This one would require changing a number of places, including transformation
+// from []string to []PkginstType.
+
// Extra information about a package
type PackageExtra struct {
Basename string `json:"basename"`
@@ -192,6 +199,17 @@
return fmt.Sprintf("%s", p.Basename)
}
+func (p PackageExtra) UrlInCat(spec CatalogSpec) string {
+ return fmt.Sprintf("%s/catalogs/%s/%s/%s/%s/",
+ ReleasesUrl,
+ spec.Catrel, spec.Arch, spec.Osrel,
+ p.Md5_sum)
+}
+
+func (p PackageExtra) CurlInvocation(spec CatalogSpec, verb string) string {
+ return fmt.Sprintf("curl --netrc -X %s %s", verb, p.UrlInCat(spec))
+}
+
// I'm not sure if this is a good idea.
type CatalogExtra struct {
Spec CatalogSpec
@@ -667,7 +685,7 @@
fields[1],
fields[2],
fields[3],
- fields[4],
+ Md5Sum(fields[4]),
size,
deps,
fields[7],
Modified: csw/mgar/gar/v2/go/src/promote-packages/promote-packages.go
===================================================================
--- csw/mgar/gar/v2/go/src/promote-packages/promote-packages.go 2014-08-03 01:25:51 UTC (rev 23907)
+++ csw/mgar/gar/v2/go/src/promote-packages/promote-packages.go 2014-08-03 01:26:04 UTC (rev 23908)
@@ -1,6 +1,6 @@
// Command promote-packages analyzes the state of the catalogs, and promotes
-// packages from one catalog (unstable) to another one, based on a set of
-// rules.
+// packages from one catalog release (unstable) to another one (testing, but
+// needs to be called by name, e.g. bratislava), based on a set of rules.
//
// Packages are put in groups. Groups are defined as:
// - we start with a single package
@@ -15,16 +15,19 @@
// When the same group is identified across all catalog pairs, the group is
// scheduled to be promoted in all catalogs.
//
-// Features missing:
-// - adding dependencies to a group
-// - tracking the times when a package appeared or disappeared in a catalog
-// (for time accounting)
-// - making changes to the testing catalog
+// TODO:
+// - making actual changes
+// HTTP Basic auth reading credentials
+// Installing GCC-4.8.2 on experimental10s
//
-// This program has to be compiled with gcc-4.8.2, because gcc-4.9.0 produces
-// a binary which segfaults (or the go runtime segfauls, hard to tell).
-// The bug is filed in the gcc bugzilla:
-// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61303
+// Known issues:
+// - There can be a dependency cycle between package groups. In such cases
+// integration will not work, unless the two groups are merged into one.
+// There is no code to merge groups yet.
+// - This program has to be compiled with gcc-4.8.x, because gcc-4.9.{0,1}
+// produce a binary which segfaults (or the go runtime segfauls, hard to
+// tell). The bug is filed in the gcc bugzilla:
+// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61303
package main
@@ -34,9 +37,14 @@
"flag"
"fmt"
"html/template"
+ "io"
"log"
+ "net/http"
"os"
+ "os/exec"
+ "path"
"sort"
+ "strings"
"sync"
"time"
@@ -47,25 +55,40 @@
// Command line flags
var from_catrel_flag string
var to_catrel_flag string
-var htmlReportFlag string
+var htmlReportDir string
var packageTimesFilename string
+var htmlReportTemplate string
+var daysOldRequired int64
+var logFile string
+const (
+ htmlReportFile = "promote-packages.html"
+)
func init() {
flag.StringVar(&from_catrel_flag, "from-catrel", "unstable",
"Actually, only unstable makes sense here.")
flag.StringVar(&to_catrel_flag, "to-catrel", "bratislava",
"The testing release.")
- flag.StringVar(&htmlReportFlag, "html-report-path",
- "/home/maciej/public_html/promote-packages.html",
+ flag.StringVar(&htmlReportDir, "html-report-path",
+ "/home/maciej/public_html",
"Full path to the file where the HTML report will be " +
"written. If the file already exists, it will be " +
"overwritten. ")
+ flag.StringVar(&htmlReportTemplate, "html-report-template",
+ "src/promote-packages/report-template.html",
+ "HTML template used to generate the report.")
flag.StringVar(&packageTimesFilename, "package-times-json-file",
"/home/maciej/.checkpkg/package-times.json",
"JSON file with package times state. This file is used " +
"for persistence: it remembers when each of the packages " +
"was last modified in the unstable catalog.")
+ flag.Int64Var(&daysOldRequired, "required-age-in-days", 14,
+ "Packages must be this number of days old before they can " +
+ "be integrated.")
+ flag.StringVar(&logFile, "log-file",
+ "/var/tmp/promote-packages.log",
+ "The log file contains rollback information.")
}
type CatalogSpecTransition struct {
@@ -73,8 +96,6 @@
toCatspec diskformat.CatalogSpec
}
-// CONTINUE FROM HERE: The challenge is to plug in the time information. We
-// need to combine the data from REST with previously serialized data.
type CatalogWithSpecTransition struct {
fromCat diskformat.CatalogExtra
toCat diskformat.CatalogExtra
@@ -87,8 +108,7 @@
Spec diskformat.CatalogSpec
Removed *diskformat.PackageExtra
Added *diskformat.PackageExtra
- // Maybe add timing information here?
- SourceChanged *time.Time
+ SourceChanged time.Time
}
// Type used to store information about the last time package was seen.
@@ -106,12 +126,21 @@
type CatalogReleaseTimeInfo struct {
Pkgs []PackageTimeInfo `json:"pkgs"`
- // For faster operations. Indexed by MD5 sums. Not serialized.
+ // For faster operations. Indexed by MD5 sums. Not serialized directly.
catalogs map[diskformat.CatalogSpec]map[diskformat.Md5Sum]PackageTimeInfo
}
-func (t *CatalogReleaseTimeInfo) Get(spec diskformat.CatalogSpec, md5_sum string) PackageTimeInfo {
- return PackageTimeInfo{}
+func (t *CatalogReleaseTimeInfo) Time(sourceSpec diskformat.CatalogSpec, md5Sum diskformat.Md5Sum) (time.Time, error) {
+ // return PackageTimeInfo{}
+ sourceSpec.Catrel = from_catrel_flag
+
+ if catTime, ok := t.catalogs[sourceSpec]; ok {
+ if pti, ok := catTime[md5Sum]; ok {
+ return pti.ChangedAt, nil
+ }
+ return time.Time{}, fmt.Errorf("Could not find timing for %v in %v", md5Sum, sourceSpec)
+ }
+ return time.Time{}, fmt.Errorf("Could not find timing information for catalog %v", sourceSpec)
}
func (t *CatalogReleaseTimeInfo) Load() error {
@@ -162,7 +191,7 @@
}
// Updates the timing information based on a catalog.
-// Packages are matched by md5 sum. Possible states:
+// SVR4 files are identified by md5 sum. Possible states:
//
// State in cache | State in catalog | Action
// ---------------+------------------+--------
@@ -175,7 +204,6 @@
//
func (t *CatalogReleaseTimeInfo) Update(c diskformat.CatalogExtra) {
if _, ok := t.catalogs[c.Spec]; !ok {
- // Indexed by MD5 sum.
t.catalogs[c.Spec] = make(map[diskformat.Md5Sum]PackageTimeInfo)
}
inCat := make(map[diskformat.Md5Sum]bool)
@@ -198,6 +226,7 @@
if _, ok := inCat[md5]; !ok {
// Packages that aren't in the catalog (any more).
p := t.catalogs[c.Spec][md5]
+ // This field is not actually read anywhere. It's enough that an entry exists.
p.Present = false
p.ChangedAt = time.Now()
t.catalogs[c.Spec][md5] = p
@@ -206,21 +235,26 @@
}
func (c catalogOperation) String() string {
+ var t string = " (last change time unknown)"
+ if (!c.SourceChanged.IsZero()) {
+ t = (" (" + c.SourceChanged.String() + ", that is " +
+ (time.Now().Sub(c.SourceChanged)).String() + " ago)")
+ }
if c.Removed != nil && c.Added != nil {
- return fmt.Sprintf("Change: %v %v ? %v in %v",
+ return fmt.Sprintf("Change: %v %v ? %v in %v %v",
c.Removed.Catalogname, c.Removed.Version,
- c.Added.Version, c.Spec)
+ c.Added.Version, c.Spec, t)
} else if c.Removed != nil && c.Added == nil {
- return fmt.Sprintf("Removal: %v %v in %v",
+ return fmt.Sprintf("Removal: %v %v in %v %v",
c.Removed.Catalogname, c.Removed.Version,
- c.Spec)
+ c.Spec, t)
}
if c.Removed == nil && c.Added != nil {
- return fmt.Sprintf("Addition: %v %v in %v",
+ return fmt.Sprintf("Addition: %v %v in %v %v",
c.Added.Catalogname, c.Added.Version,
- c.Spec)
+ c.Spec, t)
}
- return fmt.Sprintf("What?")
+ return fmt.Sprintf("This operation does not remove nor add anything.")
}
// Returns the identifier of the group to which this operation should belong.
@@ -228,7 +262,8 @@
func (c catalogOperation) GroupKey() (string, error) {
if c.Removed != nil && c.Added != nil {
if c.Removed.Bundle == "" && c.Added.Bundle == "" {
- return "", fmt.Errorf("Either source or target package's bundle is empty, or both: %v -> %v.", c.Removed, c.Added)
+ return "", fmt.Errorf("Either source or target package's bundle is " +
+ "empty, or both: %v -> %v.", c.Removed, c.Added)
}
if c.Removed.Bundle == "" {
// The removed package doesn't have a bundle but the added package has.
@@ -272,18 +307,10 @@
func (c catalogOperation) Commands() []string {
ans := make([]string, 0)
if c.Removed != nil {
- ans = append(ans,
- fmt.Sprintf("curl --netrc -X DELETE %s/catalogs/%s/%s/%s/%s/",
- diskformat.ReleasesUrl,
- c.Spec.Catrel, c.Spec.Arch, c.Spec.Osrel,
- c.Removed.Md5_sum))
+ ans = append(ans, c.Removed.CurlInvocation(c.Spec, "DELETE"))
}
if c.Added != nil {
- ans = append(ans,
- fmt.Sprintf("curl --netrc -X PUT %s/catalogs/%s/%s/%s/%s/",
- diskformat.ReleasesUrl,
- c.Spec.Catrel, c.Spec.Arch, c.Spec.Osrel,
- c.Added.Md5_sum))
+ ans = append(ans, c.Added.CurlInvocation(c.Spec, "PUT "))
}
return ans
}
@@ -291,32 +318,92 @@
func (c catalogOperation) Rollback() []string {
rollback := make([]string, 0)
if c.Added != nil {
- rollback = append(rollback,
- fmt.Sprintf("curl --netrc -X DELETE %s/catalogs/%s/%s/%s/%s/",
- diskformat.ReleasesUrl,
- c.Spec.Catrel, c.Spec.Arch, c.Spec.Osrel,
- c.Added.Md5_sum))
+ rollback = append(rollback, c.Added.CurlInvocation(c.Spec, "DELETE"))
}
if c.Removed != nil {
- rollback = append(rollback,
- fmt.Sprintf("curl --netrc -X PUT %s/catalogs/%s/%s/%s/%s/",
- diskformat.ReleasesUrl,
- c.Spec.Catrel, c.Spec.Arch, c.Spec.Osrel,
- c.Removed.Md5_sum))
+ rollback = append(rollback, c.Removed.CurlInvocation(c.Spec, "PUT "))
}
return rollback
}
+type credentials struct {
+ username, password string
+}
+
+// One of the messier parts. We're running on web, so we need to ssh back to
+// the login host to get the password.
+func GetCredentials() credentials {
+ // os.user.Current() seems not to work.
+ u := os.Getenv("LOGNAME")
+ args := []string{"login", "cat"}
+ args = append(args, fmt.Sprintf("/etc/opt/csw/releases/auth/%s", u))
+ log.Println("Running ssh", args)
+ passwdBytes, err := exec.Command("ssh", args...).Output()
+ passwd := strings.TrimSpace(string(passwdBytes))
+ if err != nil {
+ log.Fatalln(err);
+ }
+ return credentials{
+ u,
+ passwd,
+ }
+}
+
+func RestRequest(client *http.Client, cr credentials, verb, url string) error {
+ req, err := http.NewRequest(verb, url, nil)
+ if err != nil {
+ return err
+ }
+ req.SetBasicAuth(cr.username, cr.password)
+ resp, err := client.Do(req)
+ if err != nil {
+ return err
+ }
+ defer resp.Body.Close()
+ if resp.StatusCode >= 200 && resp.StatusCode < 300 {
+ log.Println(verb, "to", url, "successful:", resp.StatusCode)
+ } else {
+ return fmt.Errorf("Response to %s is not a success: %+v", req, resp)
+ }
+ return nil
+}
+
+func (c catalogOperation) Perform(client *http.Client, cr credentials, w *os.File) error {
+ if c.Removed != nil {
+ url := c.Removed.UrlInCat(c.Spec)
+ if !diskformat.DryRun {
+ w.WriteString(fmt.Sprintf("# DELETE %s\n", url))
+ if err := RestRequest(client, cr, "DELETE", url); err != nil {
+ return err
+ }
+ } else {
+ w.WriteString(fmt.Sprintf("# (dry run) DELETE %s\n", url))
+ log.Println("Dry run: DELETE", url)
+ }
+ }
+ if c.Added != nil {
+ url := c.Added.UrlInCat(c.Spec)
+ if !diskformat.DryRun {
+ w.WriteString(fmt.Sprintf("# PUT %s\n", url))
+ if err := RestRequest(client, cr, "PUT", url); err != nil {
+ return err
+ }
+ } else {
+ w.WriteString(fmt.Sprintf("# (dry run) PUT %s\n", url))
+ log.Println("Dry run: PUT", url)
+ }
+ }
+ return nil
+}
+
+// Group of packages to be moved, specific to one catalog.
type integrationGroup struct {
Key string
Spec diskformat.CatalogSpec
Ops []catalogOperation
+ LatestMod time.Time
}
-type IntegrationResult struct {
- noidea string
-}
-
type catalogIntegration struct {
Spec diskformat.CatalogSpec
Groups map[string]*integrationGroup
@@ -330,6 +417,15 @@
Key string
Ops map[diskformat.CatalogSpec][]catalogOperation
Bugs []mantis.Bug
+ LatestMod time.Time
+ // Which other cross catalog groups this group depends on. Catalog operations
+ // which belong to this group must not be applied before applying operations
+ // from all the dependencies.
+ Dependencies map[string]*CrossCatIntGroup
+
+ Evaluated bool
+ CanBeIntegratedNow bool
+ Messages []string
}
func NewCrossCatIntGroup(key string) (*CrossCatIntGroup) {
@@ -337,9 +433,19 @@
g.Key = key
g.Ops = make(map[diskformat.CatalogSpec][]catalogOperation)
g.Bugs = make([]mantis.Bug, 0)
+ g.Dependencies = make(map[string]*CrossCatIntGroup)
return g
}
+func (g CrossCatIntGroup) HasOperations() bool {
+ for _, ops := range g.Ops {
+ if len(ops) > 0 {
+ return true
+ }
+ }
+ return false
+}
+
type reportData struct {
CatalogName string
GeneratedOn time.Time
@@ -433,8 +539,7 @@
return nil
}
-func GroupsFromCatalogPair(t CatalogWithSpecTransition) (map[string]*integrationGroup, []catalogOperation) {
- // No Mantis integration yet.
+func GroupsFromCatalogPair(t CatalogWithSpecTransition, timing *CatalogReleaseTimeInfo) (map[string]*integrationGroup, []catalogOperation) {
log.Println("GroupsFromCatalogPair from", t.fromCat.Spec,
"to", t.toCat.Spec)
@@ -453,20 +558,33 @@
continue
}
// There is a package with the same pkgname in the target catalog.
- op := catalogOperation{t.toCat.Spec, pkgDestCat, pkgSrcCat, nil}
- oplist = append(oplist, op)
+ if pkgTime, err := timing.Time(t.toCat.Spec, pkgSrcCat.Md5_sum); err == nil {
+ op := catalogOperation{t.toCat.Spec, pkgDestCat, pkgSrcCat, pkgTime}
+ oplist = append(oplist, op)
+ } else {
+ log.Fatalln(err)
+ }
} else {
// There is no package with the same pkgname in the target catalog.
- op := catalogOperation{t.toCat.Spec, nil, pkgSrcCat, nil}
- oplist = append(oplist, op)
+ if pkgTime, err := timing.Time(t.toCat.Spec, pkgSrcCat.Md5_sum); err == nil {
+ op := catalogOperation{t.toCat.Spec, nil, pkgSrcCat, pkgTime}
+ oplist = append(oplist, op)
+ } else {
+ log.Fatalln(err)
+ }
}
}
// Packages that are only in the target catalog.
for pkgname, topkg := range toByPkgname {
if _, ok := fromByPkgname[pkgname]; !ok {
- op := catalogOperation{t.toCat.Spec, topkg, nil, nil}
- oplist = append(oplist, op)
+ if pkgTime, err := timing.Time(t.toCat.Spec, topkg.Md5_sum); err == nil {
+ // Deleted package information is still in the timing information.
+ op := catalogOperation{t.toCat.Spec, topkg, nil, pkgTime}
+ oplist = append(oplist, op)
+ } else {
+ log.Fatalln("Could not get timing information for", topkg.Md5_sum)
+ }
}
}
log.Println("Found", len(oplist), "oplist")
@@ -483,12 +601,23 @@
}
if intgroup, ok := groups[key]; !ok {
oplist := make([]catalogOperation, 0)
- intgroup = &integrationGroup{key, op.Spec, oplist}
+ intgroup = &integrationGroup{key, op.Spec, oplist, time.Time{}}
groups[key] = intgroup
}
groups[key].Ops = append(groups[key].Ops, op)
}
+ for key := range groups {
+ // Set the group's latest change.
+ var youngest time.Time
+ for _, op := range groups[key].Ops {
+ if youngest.IsZero() || op.SourceChanged.Before(youngest) {
+ youngest = op.SourceChanged
+ }
+ }
+ groups[key].LatestMod = youngest
+ }
+
// We need to make sure that all the dependencies are present in the target
// catalog. We need to mock-apply the group change, and then verify that
// there aren't any missing dependencies there.
@@ -496,6 +625,7 @@
if err := intGroupSane(t.toCat, group); err != nil {
log.Println("Group", key, "it not sane:", err)
}
+
}
return groups, badops
}
@@ -543,19 +673,18 @@
}
func writeReport(rd reportData) {
- t := template.Must(template.ParseFiles(
- "src/promote-packages/report-template.html"))
- fo, err := os.Create(htmlReportFlag)
+ t := template.Must(template.ParseFiles(htmlReportTemplate))
+ outFile := path.Join(htmlReportDir, htmlReportFile)
+ fo, err := os.Create(outFile)
if err != nil {
- log.Println("Could not open", htmlReportFlag)
+ log.Println("Could not open", outFile)
panic(err)
}
defer fo.Close()
- log.Println("Writing HTML")
if err := t.Execute(fo, rd); err != nil {
log.Fatal("Could not write the report:", err)
}
- log.Println("The report has been written.")
+ log.Println("The report has been written to", outFile)
}
type ByKey []*CrossCatIntGroup
@@ -564,9 +693,167 @@
func (a ByKey) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
func (a ByKey) Less(i, j int) bool { return a[i].Key < a[j].Key }
+func addBlockingBugs(groups map[string]*CrossCatIntGroup, mantisBugs <-chan mantis.Bug) {
+ // Severities from mantis that don't block package promotions.
+ lowSeverities := [...]string{
+ "Trivial",
+ "Minor",
+ "Feature",
+ }
+
+ // Add blocking Mantis Bugs.
+ bugsByCatname := make(map[string][]mantis.Bug)
+ for bug := range mantisBugs {
+ // Bugs that aren't blockers.
+ if bug.Status == "Closed" || bug.Status == "Resolved" {
+ continue
+ }
+ shouldSkip := false
+ for _, sev := range lowSeverities {
+ if bug.Severity == sev {
+ shouldSkip = true
+ break
+ }
+ }
+ if shouldSkip {
+ continue
+ }
+ c := bug.Catalogname
+ if _, ok := bugsByCatname[c]; !ok {
+ bugsByCatname[c] = make([]mantis.Bug, 0)
+ }
+ bugsByCatname[c] = append(bugsByCatname[c], bug)
+ }
+
+ for _, g := range groups {
+ catNames := make(map[string]bool)
+ for _, ops := range g.Ops {
+ for _, op := range ops {
+ catNames[op.Catalogname()] = true
+ }
+ }
+ for catName, _ := range catNames {
+ g.Bugs = append(g.Bugs, bugsByCatname[catName]...)
+ }
+ }
+}
+
+// Find the last time.
+func setLatestModifications(groups map[string]*CrossCatIntGroup) {
+ // The latest operation in the group is the time of the whole group.
+ for key := range groups {
+ var t time.Time
+ for _, opslice := range groups[key].Ops {
+ for _, op := range opslice {
+ if t.IsZero() || t.Before(op.SourceChanged) {
+ t = op.SourceChanged
+ }
+ }
+ }
+ groups[key].LatestMod = t
+ }
+}
+
+// Add dependencies. In every group:
+// - For each catalog
+// - For each added package
+// - For each dependency of an added package
+// - If there is another group which changes/adds this package,
+// that group must be included in this group.
+// - If there isn't another group which adds the package, the package
+// must be already in the target catalog.
+//
+// Ingredients needed:
+// - groups to modify
+// - contents of the target catalog
+func addDependencies(groups map[string]*CrossCatIntGroup, targetCatByPkgname map[diskformat.CatalogSpec]map[string]*diskformat.PackageExtra) {
+ groupProvides := make(map[diskformat.CatalogSpec]map[string]*CrossCatIntGroup)
+ for _, group := range groups {
+ for spec, ops := range group.Ops {
+ for _, op := range ops {
+ if _, ok := groupProvides[spec]; !ok {
+ groupProvides[spec] = make(map[string]*CrossCatIntGroup)
+ }
+ if op.Added != nil {
+ groupProvides[spec][op.Added.Pkgname] = group
+ }
+ }
+ }
+ }
+
+ for _, group := range groups {
+ for spec, ops := range group.Ops {
+ for _, op := range ops {
+ if op.Added != nil {
+ for _, dep := range op.Added.Deps {
+ // A dependency of this group
+ //
+ // What if one group removes a package and another group depends on it?
+ // This is only possible if the source catalog is broken.
+ // Maybe we should still add some checks for it?
+
+ if pkgByPkgname, ok := targetCatByPkgname[spec]; ok {
+ if _, ok := pkgByPkgname[dep]; !ok {
+ // No catalog provides this dependency. But there is stil hope!
+ // Maybe one of the groups provides the package?
+ if groupByPkgname, ok := groupProvides[spec]; ok {
+ if groupProviding, ok := groupByPkgname[dep]; ok {
+ if groupProviding.Key != group.Key {
+ group.Dependencies[groupProviding.Key] = groupProviding
+ // We could also add some information why this dependency is needed here.
+ }
+ } else {
+ log.Fatalln("The", groupProviding.Key, "group doesn't provide", dep)
+ }
+ } else {
+ log.Fatalln("Catalog", spec, "does not provide package", dep,
+ "which is required by package",
+ op.Added.Basename, op.Added.Md5_sum)
+ }
+ }
+ } else {
+ log.Fatalln("targetCatByPkgname does not provide catalog", spec)
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+func canBeIntegrated(groups map[string]*CrossCatIntGroup) {
+ requiredAge := time.Duration(time.Hour * (-24) * time.Duration(daysOldRequired))
+ now := time.Now()
+ for key := range groups {
+ problems := make([]string, 0)
+ // I can't make sense of the Before/After thing here.
+ if now.Add(requiredAge).Before(groups[key].LatestMod) {
+ msg := fmt.Sprintf("Not old enough: %v, but %v age is required (%v days)",
+ now.Sub(groups[key].LatestMod), (-1) * requiredAge,
+ daysOldRequired)
+ problems = append(problems, msg)
+ }
+ if len(groups[key].Bugs) > 0 {
+ msg := fmt.Sprintf("Critical bugs")
+ problems = append(problems, msg)
+ }
+ if len(groups[key].Dependencies) > 0 {
+ msg := ("This group depends on other groups. We cannot " +
+ "evaluate all groups recursively because of a potential graph " +
+ "cycle. " +
+ "You will need to integrate the dependencies first, and then " +
+ "proceed to this group in the next iteration.")
+ problems = append(problems, msg)
+ }
+ groups[key].CanBeIntegratedNow = len(problems) == 0
+ groups[key].Evaluated = true
+ groups[key].Messages = append(groups[key].Messages, problems...)
+ }
+}
+
// Analyzes the data.
-func pipeStage3(in <-chan CatalogWithSpecTransition, mantisBugs <-chan mantis.Bug) <-chan IntegrationResult {
- out := make(chan IntegrationResult)
+func pipeStage3(in <-chan CatalogWithSpecTransition, mantisBugs <-chan mantis.Bug) <-chan reportData {
+ out := make(chan reportData)
go func() {
// Catalog timing information
timing := new(CatalogReleaseTimeInfo)
@@ -575,7 +862,6 @@
"-- If this is the first run, please create an empty file with",
"the '{}' contents, location:", packageTimesFilename)
}
-
rd := reportData{
to_catrel_flag,
time.Now(),
@@ -583,15 +869,26 @@
make([]*CrossCatIntGroup, 0),
timing.catalogs,
}
+
+ // To discover dependencies later.
+ // We need to go from package name to md5 sum
+ // Then from package name to another integration group
+ //
+ // Pointer business again, to save memory. It will probably not work as expected.
+ targetCatByPkgname := make(map[diskformat.CatalogSpec]map[string]*diskformat.PackageExtra)
+
for t := range in {
timing.Update(t.fromCat)
- groups, badops := GroupsFromCatalogPair(t)
+ groups, badops := GroupsFromCatalogPair(t, timing)
rd.Catalogs = append(
rd.Catalogs,
catalogIntegration{t.fromCat.Spec, groups, badops})
- msg := fmt.Sprintf("Processed data for: %+v ? %+v",
- t.fromCat.Spec, t.toCat.Spec)
- out <-IntegrationResult{msg}
+ if _, ok := targetCatByPkgname[t.toCat.Spec]; !ok {
+ targetCatByPkgname[t.toCat.Spec] = make(map[string]*diskformat.PackageExtra)
+ }
+ for i := range t.toCat.PkgsExtra {
+ targetCatByPkgname[t.toCat.Spec][t.toCat.PkgsExtra[i].Pkgname] = &t.toCat.PkgsExtra[i]
+ }
}
// We're walking the reportData structure and populating the
@@ -606,7 +903,7 @@
group = NewCrossCatIntGroup(key)
groups[key] = group
}
- // We have our CrossCatIntGroup here
+ // We have our CrossCatIntGroup now.
if _, ok := group.Ops[srcIntGroup.Spec]; !ok {
group.Ops[srcIntGroup.Spec] = make([]catalogOperation, 0)
}
@@ -615,63 +912,18 @@
}
}
- // Severities from mantis that don't block package promotions.
- lowSeverities := [...]string{
- "Trivial",
- "Minor",
- "Feature",
- }
+ setLatestModifications(groups)
+ addBlockingBugs(groups, mantisBugs)
+ addDependencies(groups, targetCatByPkgname)
+ canBeIntegrated(groups)
- // Add blocking Mantis Bugs.
- bugsByCatname := make(map[string][]mantis.Bug)
- for bug := range mantisBugs {
- // Bugs that aren't blockers.
- if bug.Status == "Closed" || bug.Status == "Resolved" {
- continue
- }
- shouldSkip := false
- for _, sev := range lowSeverities {
- if bug.Severity == sev {
- shouldSkip = true
- break
- }
- }
- if shouldSkip {
- continue
- }
- c := bug.Catalogname
- if _, ok := bugsByCatname[c]; !ok {
- bugsByCatname[c] = make([]mantis.Bug, 0)
- }
- bugsByCatname[c] = append(bugsByCatname[c], bug)
- }
-
+ // Sort by group / bundle name
for _, g := range groups {
- catNames := make(map[string]bool)
- for _, ops := range g.Ops {
- for _, op := range ops {
- catNames[op.Catalogname()] = true
- }
- }
- for catName, _ := range catNames {
- g.Bugs = append(g.Bugs, bugsByCatname[catName]...)
- }
- }
-
- for _, g := range groups {
rd.CrossCatGroups = append(rd.CrossCatGroups, g)
}
sort.Sort(ByKey(rd.CrossCatGroups))
- // Let's write the HTML report.
- var wg sync.WaitGroup
- wg.Add(1)
- go func(rd reportData) {
- log.Println("Starting a goroutine to write the report.")
- defer wg.Done()
- writeReport(rd)
- }(rd)
- wg.Wait()
+ out <- rd
if err := timing.Save(); err != nil {
log.Fatalln("Could not save the timing information:", err)
@@ -728,16 +980,94 @@
return out
}
+func maybeApplyChanges(rd reportData, cr credentials) {
+ // Depends on dry_run.
+ logBasename := fmt.Sprintf(time.Now().Format("catalog-integrations-2006-01.log"))
+ runLog := path.Join(htmlReportDir, logBasename)
+ fo, err := os.OpenFile(runLog, os.O_RDWR | os.O_CREATE | os.O_APPEND, 0644)
+ if err != nil {
+ log.Fatalln("Could not write to", runLog)
+ }
+ defer fo.Close()
+
+ timestampWritten := false
+ client := new(http.Client)
+ for _, group := range rd.CrossCatGroups {
+ if !group.Evaluated {
+ log.Println("Group", group.Key, "was not evaluated, changes will not be applied.")
+ continue
+ }
+ if !group.CanBeIntegratedNow {
+ log.Println("Group", group.Key, "is not marked for integration now.")
+ continue
+ }
+ if !group.HasOperations() {
+ log.Println("Group", group.Key, "has no operations to perform.")
+ continue
+ }
+ if !timestampWritten {
+ fo.WriteString(fmt.Sprintf("# STARTED %s\n", rd.GeneratedOn))
+ timestampWritten = true
+ }
+ log.Println("Continuing to process changes for", group.Key)
+ fo.WriteString(fmt.Sprintf("# PERFORMING %s\n", group.Key))
+ for _, ops := range group.Ops {
+ for _, op := range ops {
+ if err := op.Perform(client, cr, fo); err != nil {
+ // This error contains auth info.
+ // fo.WriteString(fmt.Sprintf("# ERROR: %s\n", err))
+ log.Fatalf("Performing '%s' has failed: %s", op, err)
+ }
+ }
+ }
+ fo.WriteString(fmt.Sprintf("# ROLLBACK FOR %s\n", group.Key))
+ for _, ops := range group.Ops {
+ for _, op := range ops {
+ for _, line := range op.Rollback() {
+ fo.WriteString(fmt.Sprintf("%s\n", line))
+ }
+ }
+ }
+ }
+ if timestampWritten {
+ fo.WriteString(fmt.Sprintf("# FINISHED %s\n", rd.GeneratedOn))
+ }
+}
+
func main() {
+ programStart := time.Now()
flag.Parse()
+
+ log.SetFlags(log.Llongfile | log.Ldate | log.Ltime)
+ if logFile != "-" {
+ fo, err := os.OpenFile(logFile, os.O_RDWR | os.O_CREATE | os.O_APPEND, 0644)
+ if err != nil {
+ log.Println("Could not create the log file:", err)
+ return
+ }
+ defer fo.Close()
+ log.Println("Writing an additional copy of the log to", logFile)
+ log.SetOutput(io.MultiWriter(os.Stdout, fo))
+ }
+
log.Println("Program start")
+ crch := make(chan credentials)
+ go func(crch chan credentials) {
+ crch <- GetCredentials()
+ }(crch)
+
mch := mantisChan()
tch := pipeStage1()
+ // Parallelization of the pipeline.
cch1 := pipeStage2(tch)
cch2 := pipeStage2(tch)
- rch := pipeStage3(merge(cch1, cch2), mch)
- for r := range rch {
- log.Println("Result:", r)
+ cch3 := pipeStage2(tch)
+ rch := pipeStage3(merge(cch1, cch2, cch3), mch)
+
+ for rd := range rch {
+ writeReport(rd)
+ maybeApplyChanges(rd, <-crch)
}
+ log.Println("Finished, running time: ", time.Since(programStart))
}
Added: csw/mgar/gar/v2/go/src/promote-packages/report-template.css
===================================================================
--- csw/mgar/gar/v2/go/src/promote-packages/report-template.css (rev 0)
+++ csw/mgar/gar/v2/go/src/promote-packages/report-template.css 2014-08-03 01:26:04 UTC (rev 23908)
@@ -0,0 +1,77 @@
+body, p, li, h1, h2, h3, h4, h5 {
+ font-family: sans-serif;
+}
+body, p, li {
+ font-size: 12px;
+}
+span.group-name {
+ font-weight: bold;
+}
+ul.commands-to-run {
+ list-style: none;
+ background-color: #DDD;
+}
+table.grid {
+ border-collapse: collapse;
+}
+table.grid td, table.grid th {
+ border: 1px solid #DDD;
+}
+
+/* Blocking bugs */
+table.blocking-bugs {
+ width: 100%;
+ margin: 0;
+ padding: 0;
+}
+table.blocking-bugs th {
+ background-color: #FDD7E4;
+ font-size: 120%;
+ font-weight: bold;
+}
+
+ul.commands-to-run li code {
+ white-space: pre;
+}
+table.ccatgroup {
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+table.ccatgroup th {
+ font-size: 120%;
+}
+table.ccatgroup th.key {
+ font-size: 250%;
+ font-weight: bold;
+}
+ul.group-summary-list {
+ list-style-type: none;
+}
+ul.group-summary-list li {
+ margin: 1px;
+ float: left;
+ width: 10em;
+}
+.can-be-integrated {
+ background-color: lightgreen;
+}
+.cannot-be-integrated {
+ background-color: pink;
+}
+.not-evaluated {
+ background-color: #EEE;
+}
+table.ccatgroup td.spec {
+ background-color: white;
+}
+table.ccatgroup td.spec a {
+ color: #AAA;
+ font-weight: bold;
+ text-decoration: none;
+}
+table.ccatgroup td.comment {
+ color: #AAA;
+}
+ul.cross-cat-groups {
+ list-style-type: none;
+}
Added: csw/mgar/gar/v2/go/src/promote-packages/report-template.html
===================================================================
--- csw/mgar/gar/v2/go/src/promote-packages/report-template.html (rev 0)
+++ csw/mgar/gar/v2/go/src/promote-packages/report-template.html 2014-08-03 01:26:04 UTC (rev 23908)
@@ -0,0 +1,189 @@
+
+
+
+ {{ range $spec, $ops := $ccg.Ops }}
+ {{ range $op := $ops }}
+ {{ range $command := $op.Commands }}
+
+ {{ $command }}
+
+ {{ end }}
+ {{ end }}
+ {{ end }}
+
+
+ If you need to roll back:
+
+ {{ range $spec, $ops := $ccg.Ops }}
+ {{ range $op := $ops }}
+ {{ range $command := $op.Rollback }}
+
+ {{ $command }}
+
+ {{ end }}
+ {{ end }}
+ {{ end }}
+
+
+
+ {{ end }}
+
+
Not handled by automation
+
These packages don't have a defined bundle.
+
+ {{ range $catalogReport := .Catalogs }}
+ {{ range $badop := $catalogReport.Badops }}
+
+ {{ $badop }}
+
+ {{ end }}
+ {{ end }}
+
+ Commands to run:
+
+ {{ range $catalogReport := .Catalogs }}
+ {{ range $badop := $catalogReport.Badops }}
+ {{ range $command := $badop.Commands }}
+
+ {{ $command }}
+
+ {{ end }}
+ {{ end }}
+ {{ end }}
+
+
+
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 Aug 3 07:18:08 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 3 Aug 2014 05:18:08 +0000
Subject: SF.net SVN: gar:[23910] csw/mgar/gar/v2/go/src/promote-packages/
promote-packages.go
Message-ID: <3hQr9014WLzS2@mail.opencsw.org>
Revision: 23910
http://sourceforge.net/p/gar/code/23910
Author: wahwah
Date: 2014-08-03 05:18:05 +0000 (Sun, 03 Aug 2014)
Log Message:
-----------
promote-packages: Support for package deletions
This fixes 2 bugs:
When a package goes from present to absent, we only update the timestamp the
first time we see it's absent. If it continues to be absent, let's not touch
the timestamp.
When a package from from absent to present, but was previously in the timing
data structure, we do need to erase the previous entry and create a new one.
This is the !pti.Present condition.
Modified Paths:
--------------
csw/mgar/gar/v2/go/src/promote-packages/promote-packages.go
Modified: csw/mgar/gar/v2/go/src/promote-packages/promote-packages.go
===================================================================
--- csw/mgar/gar/v2/go/src/promote-packages/promote-packages.go 2014-08-03 05:11:22 UTC (rev 23909)
+++ csw/mgar/gar/v2/go/src/promote-packages/promote-packages.go 2014-08-03 05:18:05 UTC (rev 23910)
@@ -208,7 +208,7 @@
}
inCat := make(map[diskformat.Md5Sum]bool)
for _, p := range c.PkgsExtra {
- if _, ok := t.catalogs[c.Spec][p.Md5_sum]; !ok {
+ if pti, ok := t.catalogs[c.Spec][p.Md5_sum]; !ok || !pti.Present {
// Packages we haven't seen yet that are in the catalog.
t.catalogs[c.Spec][p.Md5_sum] = PackageTimeInfo{
c.Spec,
@@ -226,10 +226,13 @@
if _, ok := inCat[md5]; !ok {
// Packages that aren't in the catalog (any more).
p := t.catalogs[c.Spec][md5]
- // This field is not actually read anywhere. It's enough that an entry exists.
- p.Present = false
- p.ChangedAt = time.Now()
- t.catalogs[c.Spec][md5] = p
+ // Only update the last-seen time the first time the package goes from
+ // present to absent. Otherwise the entry wouldn't age.
+ if p.Present {
+ p.Present = false
+ p.ChangedAt = time.Now()
+ t.catalogs[c.Spec][md5] = p
+ }
}
}
}
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 Aug 3 07:18:15 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 3 Aug 2014 05:18:15 +0000
Subject: SF.net SVN: gar:[23911] csw/mgar/gar/v2/lib/python
Message-ID: <3hQr973WHGzTX@mail.opencsw.org>
Revision: 23911
http://sourceforge.net/p/gar/code/23911
Author: wahwah
Date: 2014-08-03 05:18:15 +0000 (Sun, 03 Aug 2014)
Log Message:
-----------
checkpkg: New packages should not depend on stubs
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/checkpkg_lib.py
csw/mgar/gar/v2/lib/python/package_checks.py
csw/mgar/gar/v2/lib/python/package_checks_test.py
csw/mgar/gar/v2/lib/python/rest.py
Modified: csw/mgar/gar/v2/lib/python/checkpkg_lib.py
===================================================================
--- csw/mgar/gar/v2/lib/python/checkpkg_lib.py 2014-08-03 05:18:05 UTC (rev 23910)
+++ csw/mgar/gar/v2/lib/python/checkpkg_lib.py 2014-08-03 05:18:15 UTC (rev 23911)
@@ -445,6 +445,10 @@
self.pkgs_by_path_cache[key] = pkgs
return self.pkgs_by_path_cache[key]
+ def GetPkgByPkgname(self, pkgname):
+ return self.rest_client.Srv4ByCatalogAndPkgname(
+ self.catrel, self.arch, self.osrel, pkgname)
+
def GetInstalledPackages(self):
return self.catalog.GetInstalledPackages(
self.osrel, self.arch, self.catrel)
Modified: csw/mgar/gar/v2/lib/python/package_checks.py
===================================================================
--- csw/mgar/gar/v2/lib/python/package_checks.py 2014-08-03 05:18:05 UTC (rev 23910)
+++ csw/mgar/gar/v2/lib/python/package_checks.py 2014-08-03 05:18:15 UTC (rev 23911)
@@ -1320,3 +1320,40 @@
"in the usual locations. "
"Locations checked for 64-bit binaries: %s."
% (binaries[0], paths_64_str))
+
+def CheckShouldNotDependOnStub(pkg_data, error_mgr, logger, messenger):
+ """Newly built packages should not declare stubs as dependencies.
+
+ Example data structure:
+ {
+ "arch": "sparc",
+ "basename": "bash-4.3.0,REV=2014.03.15-SunOS5.10-sparc-CSW.pkg.gz",
+ "catalogname": "bash",
+ "file_basename": "bash-4.3.0,REV=2014.03.15-SunOS5.10-sparc-CSW.pkg.gz",
+ "filename_arch": "sparc",
+ "maintainer_email": "yann at opencsw.org",
+ "maintainer_full_name": "Yann Rouillard",
+ "maintainer_id": 50,
+ "md5_sum": "5556f5bb4317267f5b3b4c51a9a13d25",
+ "mtime": "2014-03-15T21:05:47",
+ "osrel": "SunOS5.10",
+ "pkgname": "CSWbash",
+ "repository_url": "https://chninkel/Makefile",
+ "rev": "2014.03.15",
+ "size": 2323045,
+ "vendor_url": "http://tiswww.case.edu/php/chet/bash/bashtop.html",
+ "version": "4.3.0,REV=2014.03.15",
+ "version_string": "4.3.0,REV=2014.03.15"
+ }
+ """
+ for dep_pkgname, _ in pkg_data['depends']:
+ # This package better not be a stub.
+ # But how do we know it's a stub? We test for the presence of...
+ dep_data = error_mgr.GetPkgByPkgname(dep_pkgname)
+ if dep_data['catalogname'].endswith('_stub'):
+ error_mgr.ReportError(
+ 'dependency-on-stub',
+ dep_data['catalogname'],
+ 'Please not declare dependencies on stubs in newly built packages. '
+ 'There is another dependency which you should use. '
+ 'You need to find it in e.g. http://www.opencsw.org/packages/')
Modified: csw/mgar/gar/v2/lib/python/package_checks_test.py
===================================================================
--- csw/mgar/gar/v2/lib/python/package_checks_test.py 2014-08-03 05:18:05 UTC (rev 23910)
+++ csw/mgar/gar/v2/lib/python/package_checks_test.py 2014-08-03 05:18:15 UTC (rev 23911)
@@ -15,8 +15,6 @@
import os.path
import pprint
-from lib.python.testdata.djvulibre_rt_stats import pkgstats as djvulibre_rt_stats
-
from lib.python import checkpkg_lib
from lib.python import fake_pkgstats_composer
from lib.python import package_checks as pc
@@ -26,10 +24,7 @@
from lib.python.testdata import stubs
from lib.python.testdata.berkeleydb48_stats import pkgstats as bdb48_stats
-# from lib.python.testdata.cadaver_stats import pkgstats as cadaver_stats
-# from lib.python.testdata.ivtools_stats import pkgstats as ivtools_stats
-# from lib.python.testdata.javasvn_stats import pkgstats as javasvn_stats
-# from lib.python.testdata.mercurial_stats import pkgstats as mercurial_stats
+from lib.python.testdata.djvulibre_rt_stats import pkgstats as djvulibre_rt_stats
from lib.python.testdata.neon_stats import pkgstats as neon_stats
from lib.python.testdata.rsync_stats import pkgstats as rsync_stats
from lib.python.testdata.sudo_stats import pkgstats as sudo_stats
Modified: csw/mgar/gar/v2/lib/python/rest.py
===================================================================
--- csw/mgar/gar/v2/lib/python/rest.py 2014-08-03 05:18:05 UTC (rev 23910)
+++ csw/mgar/gar/v2/lib/python/rest.py 2014-08-03 05:18:15 UTC (rev 23911)
@@ -70,7 +70,9 @@
self.ValidateMd5(md5_sum)
return self.GetBlob('pkgstats', md5_sum)
- @retry_decorator.Retry(tries=DEFAULT_TRIES, exceptions=(RestCommunicationError, httplib.BadStatusLine))
+ @retry_decorator.Retry(tries=DEFAULT_TRIES,
+ exceptions=(RestCommunicationError,
+ httplib.BadStatusLine))
def GetCatalogData(self, md5_sum):
self.ValidateMd5(md5_sum)
url = self.pkgdb_url + "/srv4/%s/catalog-data/" % md5_sum
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From wahwah at users.sourceforge.net Sun Aug 3 13:04:48 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 3 Aug 2014 11:04:48 +0000
Subject: SF.net SVN: gar:[23913] csw/mgar/gar/v2/lib/python
Message-ID: <3hQzry21CZzhB@mail.opencsw.org>
Revision: 23913
http://sourceforge.net/p/gar/code/23913
Author: wahwah
Date: 2014-08-03 11:04:47 +0000 (Sun, 03 Aug 2014)
Log Message:
-----------
checkpkg: A dependency might not exist.
Modified Paths:
--------------
csw/mgar/gar/v2/lib/python/checkpkg_lib.py
csw/mgar/gar/v2/lib/python/package_checks.py
Modified: csw/mgar/gar/v2/lib/python/checkpkg_lib.py
===================================================================
--- csw/mgar/gar/v2/lib/python/checkpkg_lib.py 2014-08-03 10:24:24 UTC (rev 23912)
+++ csw/mgar/gar/v2/lib/python/checkpkg_lib.py 2014-08-03 11:04:47 UTC (rev 23913)
@@ -981,8 +981,7 @@
]
res = m.Pkginst.select(oac, join=join)
- pkgs = [x.pkgname for x in res]
- return pkgs
+ return [x.pkgname for x in res]
def GetPathsAndPkgnamesByBasename(self, basename, osrel, arch, catrel):
"""Retrieves pkginst names of packages that have certain files.
Modified: csw/mgar/gar/v2/lib/python/package_checks.py
===================================================================
--- csw/mgar/gar/v2/lib/python/package_checks.py 2014-08-03 10:24:24 UTC (rev 23912)
+++ csw/mgar/gar/v2/lib/python/package_checks.py 2014-08-03 11:04:47 UTC (rev 23913)
@@ -1350,6 +1350,8 @@
# This package better not be a stub.
# But how do we know it's a stub? We test for the presence of...
dep_data = error_mgr.GetPkgByPkgname(dep_pkgname)
+ if dep_data is None:
+ continue
if dep_data['catalogname'].endswith('_stub'):
error_mgr.ReportError(
'dependency-on-stub',
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 Aug 3 19:41:31 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 3 Aug 2014 17:41:31 +0000
Subject: SF.net SVN: gar:[23915] csw/mgar/pkg/libyaml/branches/libyaml-1.x
Message-ID: <3hR8fr2D3tz15H@mail.opencsw.org>
Revision: 23915
http://sourceforge.net/p/gar/code/23915
Author: wahwah
Date: 2014-08-03 17:41:30 +0000 (Sun, 03 Aug 2014)
Log Message:
-----------
libyaml/branches/libyaml-1.x: libyaml0-1 for Solaris 9
Modified Paths:
--------------
csw/mgar/pkg/libyaml/branches/libyaml-1.x/Makefile
csw/mgar/pkg/libyaml/branches/libyaml-1.x/checksums
Modified: csw/mgar/pkg/libyaml/branches/libyaml-1.x/Makefile
===================================================================
--- csw/mgar/pkg/libyaml/branches/libyaml-1.x/Makefile 2014-08-03 11:26:02 UTC (rev 23914)
+++ csw/mgar/pkg/libyaml/branches/libyaml-1.x/Makefile 2014-08-03 17:41:30 UTC (rev 23915)
@@ -3,37 +3,35 @@
# $Id$
NAME = libyaml
-VERSION = 0.1.4
+VERSION = 0.1.2
GARTYPE = v2
DESCRIPTION = A YAML 1.1 parser and emitter written in C
-define BLURB
-endef
VENDOR_URL = http://pyyaml.org/wiki/LibYAML?version=20
MASTER_SITES = http://pyyaml.org/download/libyaml/
-DISTFILES = yaml-$(VERSION).tar.gz
-UFILES_REGEX = $(NAME)-(\d+(?:\.\d+)*).tar.gz
+DISTNAME = yaml-$(VERSION)
+DISTFILES = $(DISTNAME).tar.gz
TEST_SCRIPTS =
-PACKAGES += CSWlibyaml0-2
-CATALOGNAME_CSWlibyaml0-2 = libyaml0_2
-PKGFILES_CSWlibyaml0-2 += $(call baseisadirs,$(libdir),libyaml-0\.so\.2\.0\.2)
-PKGFILES_CSWlibyaml0-2 += $(call baseisadirs,$(libdir),libyaml-0\.so\.2(\.\d+)*)
-SPKG_DESC_CSWlibyaml0-2 += $(DESCRIPTION), libyaml-0.so.2
-OBSOLETED_BY_CSWlibyaml0-2 = CSWlibyaml
+PACKAGING_PLATFORMS = solaris9-i386 solaris9-sparc
+PACKAGING_PLATFORMS += solaris10-i386 solaris10-sparc
+PACKAGES += CSWlibyaml0-1
+CATALOGNAME_CSWlibyaml0-1 = libyaml0_1
+PKGFILES_CSWlibyaml0-1 += $(call baseisadirs,$(libdir),libyaml-0\.so\.1(\.\d+)*)
+SPKG_DESC_CSWlibyaml0-1 += $(DESCRIPTION), libyaml-0.so.1
+OBSOLETED_BY_CSWlibyaml0-1 = CSWlibyaml
+
PACKAGES += CSWlibyaml-dev
CATALOGNAME_CSWlibyaml-dev = libyaml_dev
SPKG_DESC_CSWlibyaml-dev += $(DESCRIPTION), development files
-RUNTIME_DEP_PKGS_CSWlibyaml-dev += CSWlibyaml0-2
+RUNTIME_DEP_PKGS_CSWlibyaml-dev += CSWlibyaml0-1
+OBSOLETED_BY_CSWlibyaml-dev = CSWlibyaml
# PKGFILES is catchall
-CATALOGNAME_CSWlibyaml = libyaml_stub
-
CONFIGURE_ARGS = $(DIRPATHS)
BUILD64_LIBS_ONLY = 1
-WORKSRC = $(WORKDIR)/yaml-$(VERSION)
include gar/category.mk
Modified: csw/mgar/pkg/libyaml/branches/libyaml-1.x/checksums
===================================================================
--- csw/mgar/pkg/libyaml/branches/libyaml-1.x/checksums 2014-08-03 11:26:02 UTC (rev 23914)
+++ csw/mgar/pkg/libyaml/branches/libyaml-1.x/checksums 2014-08-03 17:41:30 UTC (rev 23915)
@@ -1 +1 @@
-36c852831d02cf90508c29852361d01b yaml-0.1.4.tar.gz
+f6c9b5c2b0f6919abd79f5fd059b01dc yaml-0.1.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 Aug 3 21:45:47 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 3 Aug 2014 19:45:47 +0000
Subject: SF.net SVN: gar:[23917] csw/mgar/pkg/libyaml/trunk
Message-ID: <3hRCQ52XDqz1CD@mail.opencsw.org>
Revision: 23917
http://sourceforge.net/p/gar/code/23917
Author: wahwah
Date: 2014-08-03 19:45:38 +0000 (Sun, 03 Aug 2014)
Log Message:
-----------
libyaml/trunk: Version bump plus a stupid patch
Modified Paths:
--------------
csw/mgar/pkg/libyaml/trunk/Makefile
csw/mgar/pkg/libyaml/trunk/checksums
Added Paths:
-----------
csw/mgar/pkg/libyaml/trunk/files/0001-Solaris-headers-are-different.patch
Modified: csw/mgar/pkg/libyaml/trunk/Makefile
===================================================================
--- csw/mgar/pkg/libyaml/trunk/Makefile 2014-08-03 19:15:58 UTC (rev 23916)
+++ csw/mgar/pkg/libyaml/trunk/Makefile 2014-08-03 19:45:38 UTC (rev 23917)
@@ -3,7 +3,7 @@
# $Id$
NAME = libyaml
-VERSION = 0.1.4
+VERSION = 0.1.6
GARTYPE = v2
DESCRIPTION = A YAML 1.1 parser and emitter written in C
@@ -17,6 +17,8 @@
PACKAGING_PLATFORMS = solaris9-i386 solaris9-sparc
PACKAGING_PLATFORMS += solaris10-i386 solaris10-sparc
+PATCHFILES += 0001-Solaris-headers-are-different.patch
+
PACKAGES += CSWlibyaml0-2
CATALOGNAME_CSWlibyaml0-2 = libyaml0_2
PKGFILES_CSWlibyaml0-2 += $(call baseisadirs,$(libdir),libyaml-0\.so\.2(\.\d+)*)
Modified: csw/mgar/pkg/libyaml/trunk/checksums
===================================================================
--- csw/mgar/pkg/libyaml/trunk/checksums 2014-08-03 19:15:58 UTC (rev 23916)
+++ csw/mgar/pkg/libyaml/trunk/checksums 2014-08-03 19:45:38 UTC (rev 23917)
@@ -1 +1 @@
-36c852831d02cf90508c29852361d01b yaml-0.1.4.tar.gz
+5fe00cda18ca5daeb43762b80c38e06e yaml-0.1.6.tar.gz
Added: csw/mgar/pkg/libyaml/trunk/files/0001-Solaris-headers-are-different.patch
===================================================================
--- csw/mgar/pkg/libyaml/trunk/files/0001-Solaris-headers-are-different.patch (rev 0)
+++ csw/mgar/pkg/libyaml/trunk/files/0001-Solaris-headers-are-different.patch 2014-08-03 19:45:38 UTC (rev 23917)
@@ -0,0 +1,33 @@
+From 4b174c3e9d937ea5276341c2e2bda7392d8a4571 Mon Sep 17 00:00:00 2001
+From: Maciej Blizinski
+Date: Sun, 3 Aug 2014 21:40:27 +0200
+Subject: [PATCH] Solaris headers are different
+
+---
+ src/yaml_private.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/yaml_private.h b/src/yaml_private.h
+index f0e1001..1d3fc7f 100644
+--- a/src/yaml_private.h
++++ b/src/yaml_private.h
+@@ -10,7 +10,7 @@
+ #include
+
+ #ifndef _MSC_VER
+-#include
++#include
+ #else
+ #ifdef _WIN64
+ #define PTRDIFF_MAX _I64_MAX
+@@ -18,6 +18,7 @@
+ #define PTRDIFF_MAX INT_MAX
+ #endif
+ #endif
++#define PTRDIFF_MAX INT_MAX
+
+ /*
+ * Memory management.
+--
+1.7.10.3
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From rthurner at users.sourceforge.net Mon Aug 4 07:44:42 2014
From: rthurner at users.sourceforge.net (rthurner at users.sourceforge.net)
Date: Mon, 4 Aug 2014 05:44:42 +0000
Subject: SF.net SVN: gar:[23918] csw/mgar/pkg/mercurial/trunk
Message-ID: <3hRSj80gLBz1Sj@mail.opencsw.org>
Revision: 23918
http://sourceforge.net/p/gar/code/23918
Author: rthurner
Date: 2014-08-04 05:44:37 +0000 (Mon, 04 Aug 2014)
Log Message:
-----------
mercurial/trunk: mercurial upgrade to hg-3.1
Modified Paths:
--------------
csw/mgar/pkg/mercurial/trunk/Makefile
csw/mgar/pkg/mercurial/trunk/checksums
Modified: csw/mgar/pkg/mercurial/trunk/Makefile
===================================================================
--- csw/mgar/pkg/mercurial/trunk/Makefile 2014-08-03 19:45:38 UTC (rev 23917)
+++ csw/mgar/pkg/mercurial/trunk/Makefile 2014-08-04 05:44:37 UTC (rev 23918)
@@ -1,5 +1,5 @@
NAME = mercurial
-VERSION = 3.0.2
+VERSION = 3.1
CATEGORIES = python
GARTYPE = v2
Modified: csw/mgar/pkg/mercurial/trunk/checksums
===================================================================
--- csw/mgar/pkg/mercurial/trunk/checksums 2014-08-03 19:45:38 UTC (rev 23917)
+++ csw/mgar/pkg/mercurial/trunk/checksums 2014-08-04 05:44:37 UTC (rev 23918)
@@ -1 +1 @@
-c5be4265745a8140fec777a4dfc40e0e mercurial-3.0.2.tar.gz
+d3916736a9d356899191409e546b5964 mercurial-3.1.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 Aug 4 10:46:33 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Mon, 4 Aug 2014 08:46:33 +0000
Subject: SF.net SVN: gar:[23919] csw/mgar/pkg/ImageMagick/trunk
Message-ID: <3hRXkz0lb1zM7@mail.opencsw.org>
Revision: 23919
http://sourceforge.net/p/gar/code/23919
Author: lblume
Date: 2014-08-04 08:46:30 +0000 (Mon, 04 Aug 2014)
Log Message:
-----------
ImageMagick/trunk: Bump to 6.8.9-6; remove OBSOLETED_BY
Modified Paths:
--------------
csw/mgar/pkg/ImageMagick/trunk/Makefile
csw/mgar/pkg/ImageMagick/trunk/checksums
Modified: csw/mgar/pkg/ImageMagick/trunk/Makefile
===================================================================
--- csw/mgar/pkg/ImageMagick/trunk/Makefile 2014-08-04 05:44:37 UTC (rev 23918)
+++ csw/mgar/pkg/ImageMagick/trunk/Makefile 2014-08-04 08:46:30 UTC (rev 23919)
@@ -1,6 +1,6 @@
NAME = imagemagick
VERSION = 6.8.9
-GARSUBREV = 2
+GARSUBREV = 6
#BETAREV = beta20140518
GARTYPE = v2
@@ -61,7 +61,6 @@
RUNTIME_DEP_PKGS_CSWlibmagickcore6q16hdri2 += CSWlibfftw3-3
RUNTIME_DEP_PKGS_CSWlibmagickcore6q16hdri2 += CSWlibgomp1
RUNTIME_DEP_PKGS_CSWlibmagickcore6q16hdri2 += CSWlibgcc-s1
-OBSOLETED_BY_CSWlibmagickcore6q16hdri2 += CSWlibmagickcore6q16hdri1
PACKAGES += CSWlibmagickwand6q16hdri2
CATALOGNAME_CSWlibmagickwand6q16hdri2 = libmagickwand6q16hdri2
@@ -73,7 +72,6 @@
RUNTIME_DEP_PKGS_CSWlibmagickwand6q16hdri2 += CSWlibmagickcore6q16hdri2
RUNTIME_DEP_PKGS_CSWlibmagickwand6q16hdri2 += CSWlibgomp1
RUNTIME_DEP_PKGS_CSWlibmagickwand6q16hdri2 += CSWlibgcc-s1
-OBSOLETED_BY_CSWlibmagickwand6q16hdri2 += CSWlibmagickwand6q16hdri1
PACKAGES += CSWlibmagick++6q16hdri4
CATALOGNAME_CSWlibmagick++6q16hdri4 = libmagick++6q16hdri4
@@ -186,10 +184,8 @@
REINPLACE_USRLOCAL += config/mime.xml
-#EXTRA_LINKER_FLAGS = -lsocket -lnsl
-#EXTRA_LD_OPTIONS = -z nolazyload
-EXTRA_LINKER_FLAGS = -lsocket -lnsl -Wl,-z,nolazyload -Wl,-Bdirect
-EXTRA_LD_OPTIONS = -z nolazyload -Bdirect
+EXTRA_LINKER_FLAGS = -lsocket -lnsl
+EXTRA_LD_OPTIONS = -z nolazyload
# We especially don't want ISALIST for the above /usr/openwin/lib
# This should be reworked after a general rework of ISALIST in GAR
Modified: csw/mgar/pkg/ImageMagick/trunk/checksums
===================================================================
--- csw/mgar/pkg/ImageMagick/trunk/checksums 2014-08-04 05:44:37 UTC (rev 23918)
+++ csw/mgar/pkg/ImageMagick/trunk/checksums 2014-08-04 08:46:30 UTC (rev 23919)
@@ -1 +1 @@
-c4bbc23fc209e7d43628d28296616cac ImageMagick-6.8.9-2.tar.xz
+97f24ab74f1e42ac90d337b073f99799 ImageMagick-6.8.9-6.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 Mon Aug 4 12:02:59 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Mon, 4 Aug 2014 10:02:59 +0000
Subject: SF.net SVN: gar:[23922] csw/mgar/pkg/smartmontools/trunk/Makefile
Message-ID: <3hRZR83YRyz1T6@mail.opencsw.org>
Revision: 23922
http://sourceforge.net/p/gar/code/23922
Author: lblume
Date: 2014-08-04 10:02:58 +0000 (Mon, 04 Aug 2014)
Log Message:
-----------
smartmontools/trunk: Disable building on S9
Modified Paths:
--------------
csw/mgar/pkg/smartmontools/trunk/Makefile
Modified: csw/mgar/pkg/smartmontools/trunk/Makefile
===================================================================
--- csw/mgar/pkg/smartmontools/trunk/Makefile 2014-08-04 09:47:59 UTC (rev 23921)
+++ csw/mgar/pkg/smartmontools/trunk/Makefile 2014-08-04 10:02:58 UTC (rev 23922)
@@ -16,13 +16,12 @@
MASTER_SITES = $(SF_MIRROR)
DISTFILES = $(NAME)-$(VERSION).tar.gz
-GARCOMPILER = GCC4
-
# smartmontools packages built on 5.9 don't work on 5.10:
# > Error SMART Thresholds Read failed: I/O error
# > Smartctl: SMART Read Thresholds failed.
# However, packages built on 5.10 do work on 5.11.
-PACKAGING_PLATFORMS = solaris9-sparc solaris9-i386
+# update: from 6.3, doesn't build on S9 anymore. Disabling.
+#PACKAGING_PLATFORMS = solaris9-sparc solaris9-i386
PACKAGING_PLATFORMS += solaris10-sparc solaris10-i386
CONFIGURE_ARGS = $(DIRPATHS)
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 Aug 4 14:47:52 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Mon, 4 Aug 2014 12:47:52 +0000
Subject: SF.net SVN: gar:[23923] csw/mgar/pkg/ImageMagick/trunk/Makefile
Message-ID: <3hRf5Q6dpHzXQ@mail.opencsw.org>
Revision: 23923
http://sourceforge.net/p/gar/code/23923
Author: lblume
Date: 2014-08-04 12:47:51 +0000 (Mon, 04 Aug 2014)
Log Message:
-----------
ImageMagick/trunk: Adjust for soname change
Modified Paths:
--------------
csw/mgar/pkg/ImageMagick/trunk/Makefile
Modified: csw/mgar/pkg/ImageMagick/trunk/Makefile
===================================================================
--- csw/mgar/pkg/ImageMagick/trunk/Makefile 2014-08-04 10:02:58 UTC (rev 23922)
+++ csw/mgar/pkg/ImageMagick/trunk/Makefile 2014-08-04 12:47:51 UTC (rev 23923)
@@ -73,15 +73,15 @@
RUNTIME_DEP_PKGS_CSWlibmagickwand6q16hdri2 += CSWlibgomp1
RUNTIME_DEP_PKGS_CSWlibmagickwand6q16hdri2 += CSWlibgcc-s1
-PACKAGES += CSWlibmagick++6q16hdri4
-CATALOGNAME_CSWlibmagick++6q16hdri4 = libmagick++6q16hdri4
-PKGFILES_CSWlibmagick++6q16hdri4 += $(call baseisadirs,$(libdir),libMagick\+\+-6\.Q16HDRI\.so\.4\.0\.0)
-PKGFILES_CSWlibmagick++6q16hdri4 += $(call baseisadirs,$(libdir),libMagick\+\+-6\.Q16HDRI\.so\.4(\.\d+)*)
-SPKG_DESC_CSWlibmagick++6q16hdri4 += Library from ImageMagick, libMagick++-6.Q16HDRI.so.4
-RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri4 += CSWlibmagickcore6q16hdri2
-RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri4 += CSWlibmagickwand6q16hdri2
-RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri4 += CSWlibgcc-s1
-RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri4 += CSWlibstdc++6
+PACKAGES += CSWlibmagick++6q16hdri5
+CATALOGNAME_CSWlibmagick++6q16hdri5 = libmagick++6q16hdri5
+PKGFILES_CSWlibmagick++6q16hdri5 += $(call baseisadirs,$(libdir),libMagick\+\+-6\.Q16HDRI\.so\.5\.0\.0)
+PKGFILES_CSWlibmagick++6q16hdri5 += $(call baseisadirs,$(libdir),libMagick\+\+-6\.Q16HDRI\.so\.5(\.\d+)*)
+SPKG_DESC_CSWlibmagick++6q16hdri5 += Library from ImageMagick, libMagick++-6.Q16HDRI.so.5
+RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri5 += CSWlibmagickcore6q16hdri2
+RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri5 += CSWlibmagickwand6q16hdri2
+RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri5 += CSWlibgcc-s1
+RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri5 += CSWlibstdc++6
PACKAGES += CSWimagemagick-dev
SPKG_DESC_CSWimagemagick-dev = Development files for ImageMagick libraries
@@ -92,7 +92,7 @@
RUNTIME_DEP_PKGS_CSWimagemagick-dev += CSWimagemagick
RUNTIME_DEP_PKGS_CSWimagemagick-dev += CSWlibmagickcore6q16hdri2
RUNTIME_DEP_PKGS_CSWimagemagick-dev += CSWlibmagickwand6q16hdri2
-RUNTIME_DEP_PKGS_CSWimagemagick-dev += CSWlibmagick++6q16hdri4
+RUNTIME_DEP_PKGS_CSWimagemagick-dev += CSWlibmagick++6q16hdri5
RUNTIME_DEP_PKGS_CSWimagemagick-dev += CSWperl
PACKAGES += CSWimagemagick
@@ -157,17 +157,17 @@
RUNTIME_DEP_PKGS_CSWimagemagick += CSWlibgdk-pixbuf2-0-0
RUNTIME_DEP_PKGS_CSWimagemagick += CSWlibgio2-0-0
RUNTIME_DEP_PKGS_CSWimagemagick += CSWlibstdc++6
-RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri4 += CSWlibltdl7
-RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri4 += CSWlibbz2-1-0
-RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri4 += CSWlibz1
-RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri4 += CSWlibintl8
-RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri4 += CSWlibfftw3-3
-RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri4 += CSWlibfreetype6
-RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri4 += CSWliblcms2-2
-RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri4 += CSWliblqr1-0
-RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri4 += CSWlibfontconfig1
-RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri4 += CSWlibgomp1
-RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri4 += CSWlibglib2-0-0
+RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri5 += CSWlibltdl7
+RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri5 += CSWlibbz2-1-0
+RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri5 += CSWlibz1
+RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri5 += CSWlibintl8
+RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri5 += CSWlibfftw3-3
+RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri5 += CSWlibfreetype6
+RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri5 += CSWliblcms2-2
+RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri5 += CSWliblqr1-0
+RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri5 += CSWlibfontconfig1
+RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri5 += CSWlibgomp1
+RUNTIME_DEP_PKGS_CSWlibmagick++6q16hdri5 += CSWlibglib2-0-0
endif
###
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 Aug 6 09:12:08 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Wed, 6 Aug 2014 07:12:08 +0000
Subject: SF.net SVN: gar:[23925] csw/mgar/pkg/pidgin-sipe/trunk
Message-ID: <3hSkYC2ypNzJp@mail.opencsw.org>
Revision: 23925
http://sourceforge.net/p/gar/code/23925
Author: lblume
Date: 2014-08-06 07:12:04 +0000 (Wed, 06 Aug 2014)
Log Message:
-----------
pidgin-sipe/trunk: Bump to 1.18.2; remove useless dep; add needed LD_OPTIONS
Modified Paths:
--------------
csw/mgar/pkg/pidgin-sipe/trunk/Makefile
csw/mgar/pkg/pidgin-sipe/trunk/checksums
Modified: csw/mgar/pkg/pidgin-sipe/trunk/Makefile
===================================================================
--- csw/mgar/pkg/pidgin-sipe/trunk/Makefile 2014-08-05 12:37:11 UTC (rev 23924)
+++ csw/mgar/pkg/pidgin-sipe/trunk/Makefile 2014-08-06 07:12:04 UTC (rev 23925)
@@ -1,5 +1,5 @@
NAME = pidgin-sipe
-VERSION = 1.15.1
+VERSION = 1.18.2
GARTYPE = v2
DESCRIPTION = The SIPE Project - A third-party Pidgin plugin for Microsoft LCS/OCS
@@ -25,7 +25,6 @@
RUNTIME_DEP_PKGS_CSWpidgin-sipe += CSWpidgin
RUNTIME_DEP_PKGS_CSWpidgin-sipe += CSWlibsmime3
RUNTIME_DEP_PKGS_CSWpidgin-sipe += CSWlibintl8
-RUNTIME_DEP_PKGS_CSWpidgin-sipe += CSWlibgssapi-krb5-2
RUNTIME_DEP_PKGS_CSWpidgin-sipe += CSWlibkrb5-3
RUNTIME_DEP_PKGS_CSWpidgin-sipe += CSWlibglib2-0-0
RUNTIME_DEP_PKGS_CSWpidgin-sipe += CSWlibxml2-2
@@ -48,4 +47,6 @@
BUILD_DEP_PKGS += CSWggettext-dev
BUILD_DEP_PKGS += CSWpidgin
+EXTRA_LD_OPTIONS = -lsocket -lnsl
+
include gar/category.mk
Modified: csw/mgar/pkg/pidgin-sipe/trunk/checksums
===================================================================
--- csw/mgar/pkg/pidgin-sipe/trunk/checksums 2014-08-05 12:37:11 UTC (rev 23924)
+++ csw/mgar/pkg/pidgin-sipe/trunk/checksums 2014-08-06 07:12:04 UTC (rev 23925)
@@ -1 +1 @@
-a08af4ad94a8df901ad01dc05792bec0 pidgin-sipe-1.15.1.tar.bz2
+c1a9d00170bc264e722d71834082ba25 pidgin-sipe-1.18.2.tar.bz2
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 Aug 6 09:26:39 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Wed, 6 Aug 2014 07:26:39 +0000
Subject: SF.net SVN: gar:[23926] csw/mgar/pkg/pidgin-sipe/trunk/Makefile
Message-ID: <3hSksq00fnzbV@mail.opencsw.org>
Revision: 23926
http://sourceforge.net/p/gar/code/23926
Author: lblume
Date: 2014-08-06 07:26:31 +0000 (Wed, 06 Aug 2014)
Log Message:
-----------
pidgin-sipe/trunk: Add ld bug workaround
Modified Paths:
--------------
csw/mgar/pkg/pidgin-sipe/trunk/Makefile
Modified: csw/mgar/pkg/pidgin-sipe/trunk/Makefile
===================================================================
--- csw/mgar/pkg/pidgin-sipe/trunk/Makefile 2014-08-06 07:12:04 UTC (rev 23925)
+++ csw/mgar/pkg/pidgin-sipe/trunk/Makefile 2014-08-06 07:26:31 UTC (rev 23926)
@@ -34,6 +34,18 @@
CHECKPKG_OVERRIDES_CSWpidgin-sipe += surplus-dependency|CSWpidgin
+###
+# Needed for the Solaris ld bug
+ifeq ($(shell /usr/bin/uname -p),sparc)
+RUNTIME_DEP_PKGS_CSWpidgin-sipe += CSWlibplc4
+RUNTIME_DEP_PKGS_CSWpidgin-sipe += CSWlibcom-err3
+RUNTIME_DEP_PKGS_CSWpidgin-sipe += CSWlibk5crypto3
+RUNTIME_DEP_PKGS_CSWpidgin-sipe += CSWlibssl3
+RUNTIME_DEP_PKGS_CSWpidgin-sipe += CSWlibnssutil3
+RUNTIME_DEP_PKGS_CSWpidgin-sipe += CSWlibplds4
+endif
+###
+
BUILD_DEP_PKGS += CSWintltool
BUILD_DEP_PKGS += CSWpkgconfig
BUILD_DEP_PKGS += CSWlibgtk2-dev
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 Aug 6 15:51:35 2014
From: dmichelsen at users.sourceforge.net (dmichelsen at users.sourceforge.net)
Date: Wed, 6 Aug 2014 13:51:35 +0000
Subject: SF.net SVN: gar:[23929] csw/mgar/pkg
Message-ID: <3hSvQ01MTJzrQ@mail.opencsw.org>
Revision: 23929
http://sourceforge.net/p/gar/code/23929
Author: dmichelsen
Date: 2014-08-06 13:51:33 +0000 (Wed, 06 Aug 2014)
Log Message:
-----------
apache24: Fix directory structure
Added Paths:
-----------
csw/mgar/pkg/apache24/
csw/mgar/pkg/apache24/Makefile
csw/mgar/pkg/apache24/branches/
csw/mgar/pkg/apache24/tags/
csw/mgar/pkg/apache24/trunk/
Removed Paths:
-------------
csw/mgar/pkg/apache24/
Copied: csw/mgar/pkg/apache24/Makefile (from rev 23923, csw/mgar/pkg/apache2/Makefile)
===================================================================
--- csw/mgar/pkg/apache24/Makefile (rev 0)
+++ csw/mgar/pkg/apache24/Makefile 2014-08-06 13:51:33 UTC (rev 23929)
@@ -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)
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 Aug 6 20:24:29 2014
From: jake_goerzen at users.sourceforge.net (jake_goerzen at users.sourceforge.net)
Date: Wed, 6 Aug 2014 18:24:29 +0000
Subject: SF.net SVN: gar:[23930] csw/mgar/pkg/mailman/trunk
Message-ID: <3hT1Sv0RfBzyY@mail.opencsw.org>
Revision: 23930
http://sourceforge.net/p/gar/code/23930
Author: jake_goerzen
Date: 2014-08-06 18:24:29 +0000 (Wed, 06 Aug 2014)
Log Message:
-----------
mailman: add CONFIGURE_ARGS options; add system USERGROUP entry
Modified Paths:
--------------
csw/mgar/pkg/mailman/trunk/Makefile
Added Paths:
-----------
csw/mgar/pkg/mailman/trunk/files/cswusergroup
Modified: csw/mgar/pkg/mailman/trunk/Makefile
===================================================================
--- csw/mgar/pkg/mailman/trunk/Makefile 2014-08-06 13:51:33 UTC (rev 23929)
+++ csw/mgar/pkg/mailman/trunk/Makefile 2014-08-06 18:24:29 UTC (rev 23930)
@@ -26,6 +26,8 @@
CONFIGURE_ARGS += $(DIRPATHS)
CONFIGURE_ARGS += --without-permcheck
CONFIGURE_ARGS += --with-python=/opt/csw/bin/python2.7
+CONFIGURE_ARGS += --with-mailhost=mailhost
+CONFIGURE_ARGS += --with-urlhost=example.com
# There is no testsuite
TEST_SCRIPTS =
@@ -33,6 +35,8 @@
PYCOMPILE = 1
EXTRA_MERGE_EXCLUDE_FILES = .*\.py[co]
+USERGROUP = /etc/opt/csw/pkg/CSWmailman/cswusergroup
+
CHECKPKG_OVERRIDES_CSWmailman += binary-architecture-does-not-match-placement|file=opt/csw/mailman/mail/mailman|arch_id=18|arch_name=sparcv8+
CHECKPKG_OVERRIDES_CSWmailman += binary-architecture-does-not-match-placement|file=opt/csw/mailman/mail/mailman|arch_id=3|arch_name=i386
CHECKPKG_OVERRIDES_CSWmailman += file-with-bad-content|/usr/share|root/opt/csw/mailman/Mailman/Defaults.py
Added: csw/mgar/pkg/mailman/trunk/files/cswusergroup
===================================================================
--- csw/mgar/pkg/mailman/trunk/files/cswusergroup (rev 0)
+++ csw/mgar/pkg/mailman/trunk/files/cswusergroup 2014-08-06 18:24:29 UTC (rev 23930)
@@ -0,0 +1 @@
+mailman:mailman:GNU Mailman:/dev/null:/bin/false:::NP
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From rmottola at users.sourceforge.net Thu Aug 7 11:46:50 2014
From: rmottola at users.sourceforge.net (rmottola at users.sourceforge.net)
Date: Thu, 7 Aug 2014 09:46:50 +0000
Subject: SF.net SVN: gar:[23932] csw/mgar/pkg
Message-ID: <3hTPxF0nM7z1RY@mail.opencsw.org>
Revision: 23932
http://sourceforge.net/p/gar/code/23932
Author: rmottola
Date: 2014-08-07 09:46:45 +0000 (Thu, 07 Aug 2014)
Log Message:
-----------
gs_gorm/trunk: GNUstep interface builder, first package
Added Paths:
-----------
csw/mgar/pkg/gs_gorm/
csw/mgar/pkg/gs_gorm/Makefile
csw/mgar/pkg/gs_gorm/branches/
csw/mgar/pkg/gs_gorm/tags/
csw/mgar/pkg/gs_gorm/trunk/
csw/mgar/pkg/gs_gorm/trunk/Makefile
csw/mgar/pkg/gs_gorm/trunk/checksums
csw/mgar/pkg/gs_gorm/trunk/files/
Added: csw/mgar/pkg/gs_gorm/Makefile
===================================================================
--- csw/mgar/pkg/gs_gorm/Makefile (rev 0)
+++ csw/mgar/pkg/gs_gorm/Makefile 2014-08-07 09:46:45 UTC (rev 23932)
@@ -0,0 +1,2 @@
+%:
+ $(MAKE) -C trunk $*
Index: csw/mgar/pkg/gs_gorm/trunk
===================================================================
--- csw/mgar/pkg/gs_gorm/trunk 2014-08-07 06:59:38 UTC (rev 23931)
+++ csw/mgar/pkg/gs_gorm/trunk 2014-08-07 09:46:45 UTC (rev 23932)
Property changes on: csw/mgar/pkg/gs_gorm/trunk
___________________________________________________________________
Added: svn:ignore
## -0,0 +1 ##
+work
Added: csw/mgar/pkg/gs_gorm/trunk/Makefile
===================================================================
--- csw/mgar/pkg/gs_gorm/trunk/Makefile (rev 0)
+++ csw/mgar/pkg/gs_gorm/trunk/Makefile 2014-08-07 09:46:45 UTC (rev 23932)
@@ -0,0 +1,47 @@
+# $Id$
+# TODO (release-critical prefixed with !, non release-critical with *)
+#
+NAME = gorm
+VERSION = 1.2.20
+GARTYPE = v2
+
+DESCRIPTION = GNUstep graphical interface builder
+define BLURB
+ GORM (Graphical Object Relationship Modeller) is GNUstep Interface Builder equivalent to build graphically interface files.
+endef
+
+BUILD_DEP_PKGS = CSWgmake CSWgcc4objc
+DEP_PKGS = CSWgnustep-make CSWgnustep-base CSWgnustep-gui CSWgnustep-back
+
+MASTER_SITES = ftp://ftp.gnustep.org/pub/gnustep/dev-apps/
+DISTFILES = $(DISTNAME).tar.gz
+
+#we absolutely need GCC for Objective-C support. The only alternative in the future would be clang
+GARCOMPILER = GNU
+
+CONFIGURE_ARGS = $(DIRPATHS)
+
+
+# now special targets for build and install so that we can source
+# GNUstep.sh before
+# configure is skipped
+CONFIGURE_SCRIPTS =
+BUILD_SCRIPTS = sourcegs
+INSTALL_SCRIPTS = sourcegs
+
+# Disable test scripts for now
+TEST_SCRIPTS = none
+SKIPTEST = 1
+
+include gar/category.mk
+
+build-sourcegs:
+ . $(BUILD_PREFIX)/GNUstep/System/Library/Makefiles/GNUstep.sh && cd $(WORKSRC) && /usr/bin/env -i $(BUILD_ENV) && $(MAKE)
+ @$(MAKECOOKIE)
+
+install-sourcegs:
+ . $(BUILD_PREFIX)/GNUstep/System/Library/Makefiles/GNUstep.sh && cd $(WORKSRC) && /usr/bin/env -i $(INSTALL_ENV) && $(MAKE) install DESTDIR=$(DESTDIR)
+ @$(MAKECOOKIE)
+
+test-none :
+ @$(MAKECOOKIE)
Property changes on: csw/mgar/pkg/gs_gorm/trunk/Makefile
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: csw/mgar/pkg/gs_gorm/trunk/checksums
===================================================================
--- csw/mgar/pkg/gs_gorm/trunk/checksums (rev 0)
+++ csw/mgar/pkg/gs_gorm/trunk/checksums 2014-08-07 09:46:45 UTC (rev 23932)
@@ -0,0 +1 @@
+099c2e749e6871c8ea2f8e68b9fe87b5 gorm-1.2.20.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 Thu Aug 7 11:52:00 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Thu, 7 Aug 2014 09:52:00 +0000
Subject: SF.net SVN: gar:[23933] csw/mgar/pkg/znapzend/trunk
Message-ID: <3hTQ340bQVz1Vn@mail.opencsw.org>
Revision: 23933
http://sourceforge.net/p/gar/code/23933
Author: lblume
Date: 2014-08-07 09:51:58 +0000 (Thu, 07 Aug 2014)
Log Message:
-----------
znapzend/trunk: Bump to 0.11.1
Modified Paths:
--------------
csw/mgar/pkg/znapzend/trunk/Makefile
csw/mgar/pkg/znapzend/trunk/checksums
Modified: csw/mgar/pkg/znapzend/trunk/Makefile
===================================================================
--- csw/mgar/pkg/znapzend/trunk/Makefile 2014-08-07 09:46:45 UTC (rev 23932)
+++ csw/mgar/pkg/znapzend/trunk/Makefile 2014-08-07 09:51:58 UTC (rev 23933)
@@ -2,7 +2,7 @@
# TODO (release-critical prefixed with !, non release-critical with *)
#
NAME = znapzend
-VERSION = 0.11.0
+VERSION = 0.11.1
GARTYPE = v2
DESCRIPTION = The Multilevel Backup Tool for ZFS
Modified: csw/mgar/pkg/znapzend/trunk/checksums
===================================================================
--- csw/mgar/pkg/znapzend/trunk/checksums 2014-08-07 09:46:45 UTC (rev 23932)
+++ csw/mgar/pkg/znapzend/trunk/checksums 2014-08-07 09:51:58 UTC (rev 23933)
@@ -1 +1 @@
-b7b990d607ccdbf46e59a4178248a593 znapzend-0.11.0.tar.gz
+5de8dafef90e07a293375bef931055be znapzend-0.11.1.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 Thu Aug 7 11:58:53 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Thu, 7 Aug 2014 09:58:53 +0000
Subject: SF.net SVN: gar:[23934] csw/mgar/pkg/znapzend/trunk
Message-ID: <3hTQC06rBQzDl@mail.opencsw.org>
Revision: 23934
http://sourceforge.net/p/gar/code/23934
Author: lblume
Date: 2014-08-07 09:58:52 +0000 (Thu, 07 Aug 2014)
Log Message:
-----------
znapzend/trunk: Bump to 0.11.2 - OEtiker is on a roll
Modified Paths:
--------------
csw/mgar/pkg/znapzend/trunk/Makefile
csw/mgar/pkg/znapzend/trunk/checksums
Modified: csw/mgar/pkg/znapzend/trunk/Makefile
===================================================================
--- csw/mgar/pkg/znapzend/trunk/Makefile 2014-08-07 09:51:58 UTC (rev 23933)
+++ csw/mgar/pkg/znapzend/trunk/Makefile 2014-08-07 09:58:52 UTC (rev 23934)
@@ -2,7 +2,7 @@
# TODO (release-critical prefixed with !, non release-critical with *)
#
NAME = znapzend
-VERSION = 0.11.1
+VERSION = 0.11.2
GARTYPE = v2
DESCRIPTION = The Multilevel Backup Tool for ZFS
Modified: csw/mgar/pkg/znapzend/trunk/checksums
===================================================================
--- csw/mgar/pkg/znapzend/trunk/checksums 2014-08-07 09:51:58 UTC (rev 23933)
+++ csw/mgar/pkg/znapzend/trunk/checksums 2014-08-07 09:58:52 UTC (rev 23934)
@@ -1 +1 @@
-5de8dafef90e07a293375bef931055be znapzend-0.11.1.tar.gz
+4c6649f0f0b702382e3d0a6884d00ed1 znapzend-0.11.2.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 Aug 7 22:52:23 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Thu, 7 Aug 2014 20:52:23 +0000
Subject: SF.net SVN: gar:[23936] csw/mgar/pkg/openssl1/trunk/Makefile
Message-ID: <3hThj41yFGzTG@mail.opencsw.org>
Revision: 23936
http://sourceforge.net/p/gar/code/23936
Author: chninkel
Date: 2014-08-07 20:52:21 +0000 (Thu, 07 Aug 2014)
Log Message:
-----------
openssl1/trunk: move OPENSSLDIR in /etc/opt/csw/ssl
Modified Paths:
--------------
csw/mgar/pkg/openssl1/trunk/Makefile
Modified: csw/mgar/pkg/openssl1/trunk/Makefile
===================================================================
--- csw/mgar/pkg/openssl1/trunk/Makefile 2014-08-07 19:28:42 UTC (rev 23935)
+++ csw/mgar/pkg/openssl1/trunk/Makefile 2014-08-07 20:52:21 UTC (rev 23936)
@@ -245,6 +245,7 @@
LIBDIR = $(LIBDIR_$(MEMORYMODEL))
CONFIGURE_ARGS = --prefix=$(prefix)
+CONFIGURE_ARGS += --openssldir=$(sysconfdir)/ssl
CONFIGURE_ARGS += --install_prefix=$(DESTDIR) $(LIBDIR)
CONFIGURE_ARGS += $(CONFIGURE_FLAGS)
CONFIGURE_ARGS += $($(ISA)_$(GARCOMPILER_TYPE)_CONFIGURE_TARGET)
@@ -306,13 +307,10 @@
@$(MAKECOOKIE)
install-conf-misc:
- if [ -f "$(PKGROOT)$(prefix)/ssl/openssl.cnf" ] && [ ! -h "$(PKGROOT)$(prefix)/ssl/openssl.cnf" ]; then \
- ginstall -d "$(PKGROOT)$(sysconfdir)/ssl"; \
- mv "$(PKGROOT)$(prefix)/ssl/openssl.cnf" $(PKGROOT)$(sysconfdir)/ssl/openssl.cnf.CSW; \
- ln -sf ../../..$(sysconfdir)/ssl/openssl.cnf $(PKGROOT)$(prefix)/ssl/openssl.cnf; \
- fi
+ [ ! -f "$(PKGROOT)$(sysconfdir)/ssl/openssl.cnf" ] || \
+ mv "$(PKGROOT)$(sysconfdir)/ssl/openssl.cnf" $(PKGROOT)$(sysconfdir)/ssl/openssl.cnf.CSW
[ ! -d "$(PKGROOT)$(sysconfdir)/ssl/misc" ] || \
- mv "$(PKGROOT)$(sysconfdir)/ssl/misc" "$(PKGROOT)/$(prefix)/ssl/"
+ ( ginstall -d "$(PKGROOT)/$(prefix)/ssl/" && mv "$(PKGROOT)$(sysconfdir)/ssl/misc/" "$(PKGROOT)/$(prefix)/ssl/" )
merge-doc:
for CATALOGNAME in $(foreach PKG, $(PACKAGES), $(call catalogname,$(PKG))); do \
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 Aug 7 22:55:32 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Thu, 7 Aug 2014 20:55:32 +0000
Subject: SF.net SVN: gar:[23937] csw/mgar/pkg/openssl1/trunk/Makefile
Message-ID: <3hThmh1c4qzXW@mail.opencsw.org>
Revision: 23937
http://sourceforge.net/p/gar/code/23937
Author: chninkel
Date: 2014-08-07 20:55:32 +0000 (Thu, 07 Aug 2014)
Log Message:
-----------
openssl1/trunk: remove bad @$(MAKECOOKIE) line
Modified Paths:
--------------
csw/mgar/pkg/openssl1/trunk/Makefile
Modified: csw/mgar/pkg/openssl1/trunk/Makefile
===================================================================
--- csw/mgar/pkg/openssl1/trunk/Makefile 2014-08-07 20:52:21 UTC (rev 23936)
+++ csw/mgar/pkg/openssl1/trunk/Makefile 2014-08-07 20:55:32 UTC (rev 23937)
@@ -318,7 +318,6 @@
(cd $(DOWNLOADDIR)/ && ginstall -m 0644 README.CSW changelog.CSW $(PKGROOT)/$(docdir)/$$CATALOGNAME/); \
(cd $(WORKSRC_FIRSTMOD)/ && ginstall -m 0644 $(DOCFILES) $(PKGROOT)/$(docdir)/$$CATALOGNAME/); \
done
- @$(MAKECOOKIE)
post-merge-all: merge-doc install-conf-misc
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 Aug 7 22:58:01 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Thu, 7 Aug 2014 20:58:01 +0000
Subject: SF.net SVN: gar:[23938] csw/mgar/pkg/openssl1/trunk
Message-ID: <3hThqh5ZvTzbk@mail.opencsw.org>
Revision: 23938
http://sourceforge.net/p/gar/code/23938
Author: chninkel
Date: 2014-08-07 20:57:51 +0000 (Thu, 07 Aug 2014)
Log Message:
-----------
openssl1/trunk: updated to 1.0.1i
Modified Paths:
--------------
csw/mgar/pkg/openssl1/trunk/Makefile
csw/mgar/pkg/openssl1/trunk/checksums
csw/mgar/pkg/openssl1/trunk/files/changelog.CSW
Modified: csw/mgar/pkg/openssl1/trunk/Makefile
===================================================================
--- csw/mgar/pkg/openssl1/trunk/Makefile 2014-08-07 20:55:32 UTC (rev 23937)
+++ csw/mgar/pkg/openssl1/trunk/Makefile 2014-08-07 20:57:51 UTC (rev 23938)
@@ -13,7 +13,7 @@
###### Package information #######
NAME = openssl
-VERSION = 1.0.1h
+VERSION = 1.0.1i
GARTYPE = v2
SONAME=$(shell echo $(VERSION) | tr -d '[a-z]')
Modified: csw/mgar/pkg/openssl1/trunk/checksums
===================================================================
--- csw/mgar/pkg/openssl1/trunk/checksums 2014-08-07 20:55:32 UTC (rev 23937)
+++ csw/mgar/pkg/openssl1/trunk/checksums 2014-08-07 20:57:51 UTC (rev 23938)
@@ -1 +1 @@
-8d6d684a9430d5cc98a62a5d8fbda8cf openssl-1.0.1h.tar.gz
+c8dc151a671b9b92ff3e4c118b174972 openssl-1.0.1i.tar.gz
Modified: csw/mgar/pkg/openssl1/trunk/files/changelog.CSW
===================================================================
--- csw/mgar/pkg/openssl1/trunk/files/changelog.CSW 2014-08-07 20:55:32 UTC (rev 23937)
+++ csw/mgar/pkg/openssl1/trunk/files/changelog.CSW 2014-08-07 20:57:51 UTC (rev 23938)
@@ -1,3 +1,9 @@
+openssl (1.0.1i,rev=2014.08.07) unstable
+
+ * New upstream release.
+
+ -- yann rouillard Thu, 07 Aug 2014 22:57:06 +0200
+
openssl (1.0.1h,rev=2014.06.08) unstable
* Add the 0011-link-heartbeat_test-with-static-libraries patch to solve a
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 Aug 7 23:23:33 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Thu, 7 Aug 2014 21:23:33 +0000
Subject: SF.net SVN: gar:[23939] csw/mgar/pkg/openssl1/trunk
Message-ID: <3hTjP42XzfzgJ@mail.opencsw.org>
Revision: 23939
http://sourceforge.net/p/gar/code/23939
Author: chninkel
Date: 2014-08-07 21:23:32 +0000 (Thu, 07 Aug 2014)
Log Message:
-----------
openssl1/trunk: remove patch 0011-link-heartbeat_test-with-static-libraries.patch that has been applied upstream
Modified Paths:
--------------
csw/mgar/pkg/openssl1/trunk/Makefile
csw/mgar/pkg/openssl1/trunk/files/changelog.CSW
Removed Paths:
-------------
csw/mgar/pkg/openssl1/trunk/files/0011-link-heartbeat_test-with-static-libraries.patch
Modified: csw/mgar/pkg/openssl1/trunk/Makefile
===================================================================
--- csw/mgar/pkg/openssl1/trunk/Makefile 2014-08-07 20:57:51 UTC (rev 23938)
+++ csw/mgar/pkg/openssl1/trunk/Makefile 2014-08-07 21:23:32 UTC (rev 23939)
@@ -160,16 +160,6 @@
PATCHFILES += $(PATCHFILES.$(GARCH).$(GAROSREL))
-# Currently the heartbeat_test test file doesn't compile because it is linked
-# dynamically and try to use an internal symbol of libssl.
-# See bug report http://rt.openssl.org/Ticket/Display.html?id=3378
-# This patch solves the problem by linking to the static libraries instead of
-# dynamic ones (it doesn't matter for a test).
-# It has been sent upstream by the Debian Maintainer of the openssl package
-# see: https://github.com/openssl/openssl/pull/125
-PATCHFILES += 0011-link-heartbeat_test-with-static-libraries.patch
-
-
# Building openssl with "-j" option doesn't work properly because of dependencies
# in the Makefile.
# This patch fixes this problem, it's taken from gentoo and adapted so that it works
Deleted: csw/mgar/pkg/openssl1/trunk/files/0011-link-heartbeat_test-with-static-libraries.patch
===================================================================
--- csw/mgar/pkg/openssl1/trunk/files/0011-link-heartbeat_test-with-static-libraries.patch 2014-08-07 20:57:51 UTC (rev 23938)
+++ csw/mgar/pkg/openssl1/trunk/files/0011-link-heartbeat_test-with-static-libraries.patch 2014-08-07 21:23:32 UTC (rev 23939)
@@ -1,40 +0,0 @@
-From 2e251ba8feaa696f9408a19336d1fbab148df55e Mon Sep 17 00:00:00 2001
-From: Kurt Roeckx
-Date: Sat, 7 Jun 2014 13:32:23 +0200
-Subject: [PATCH] Link heartbeat_test with the static version of the libraries
-
-It's using an internal API that that might not be available in the shared
-library.
----
- test/Makefile | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/test/Makefile b/test/Makefile
-index 005f2e8..d68e8b0 100644
---- a/test/Makefile
-+++ b/test/Makefile
-@@ -358,6 +358,13 @@ BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
- LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
- link_app.$${shlib_target}
-
-+BUILD_CMD_STATIC=shlib_target=; \
-+ LIBRARIES="$(DLIBSSL) $(DLIBCRYPTO) $(LIBKRB5)"; \
-+ $(MAKE) -f $(TOP)/Makefile.shared -e \
-+ APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o" \
-+ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
-+ link_app.$${shlib_target}
-+
- FIPS_BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
- shlib_target="$(SHLIB_TARGET)"; \
- fi; \
-@@ -476,7 +483,7 @@ $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
- @target=$(SRPTEST); $(BUILD_CMD)
-
- $(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO)
-- @target=$(HEARTBEATTEST); $(BUILD_CMD)
-+ @target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
-
- #$(AESTEST).o: $(AESTEST).c
- # $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
---
-1.9.3
Modified: csw/mgar/pkg/openssl1/trunk/files/changelog.CSW
===================================================================
--- csw/mgar/pkg/openssl1/trunk/files/changelog.CSW 2014-08-07 20:57:51 UTC (rev 23938)
+++ csw/mgar/pkg/openssl1/trunk/files/changelog.CSW 2014-08-07 21:23:32 UTC (rev 23939)
@@ -1,6 +1,8 @@
openssl (1.0.1i,rev=2014.08.07) unstable
* New upstream release.
+ * Remove patch 0011-link-heartbeat_test-with-static-libraries
+ that has been applied upstream.
-- yann rouillard Thu, 07 Aug 2014 22:57:06 +0200
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 Aug 7 23:58:52 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Thu, 7 Aug 2014 21:58:52 +0000
Subject: SF.net SVN: gar:[23940] csw/mgar/pkg/openssl/trunk
Message-ID: <3hTk9p4FnYzlL@mail.opencsw.org>
Revision: 23940
http://sourceforge.net/p/gar/code/23940
Author: chninkel
Date: 2014-08-07 21:58:45 +0000 (Thu, 07 Aug 2014)
Log Message:
-----------
openssl/trunk: remove 0005-add-missing-limits.h-header-inclusion-for-INT_MAX.patch
Modified Paths:
--------------
csw/mgar/pkg/openssl/trunk/Makefile
csw/mgar/pkg/openssl/trunk/files/changelog.CSW
Modified: csw/mgar/pkg/openssl/trunk/Makefile
===================================================================
--- csw/mgar/pkg/openssl/trunk/Makefile 2014-08-07 21:23:32 UTC (rev 23939)
+++ csw/mgar/pkg/openssl/trunk/Makefile 2014-08-07 21:58:45 UTC (rev 23940)
@@ -94,11 +94,6 @@
# (patchs taken from Debian Package)
PATCHFILES += block_bad_certificates.patch
-# the ssl/s3_pkt.c file uses the INT_MAX macro, this requires
-# limits.h to be included on Solaris
-PATCHFILES += 0005-add-missing-limits.h-header-inclusion-for-INT_MAX.patch
-
-
LICENSE=LICENSE
##### Build and installation information #####
Modified: csw/mgar/pkg/openssl/trunk/files/changelog.CSW
===================================================================
--- csw/mgar/pkg/openssl/trunk/files/changelog.CSW 2014-08-07 21:23:32 UTC (rev 23939)
+++ csw/mgar/pkg/openssl/trunk/files/changelog.CSW 2014-08-07 21:58:45 UTC (rev 23940)
@@ -1,6 +1,8 @@
openssl (0.9.8zb,REV=2014.08.07) unstable
* New upstream release.
+ * Removed patch applied upstream:
+ 0005-add-missing-limits.h-header-inclusion-for-INT_MAX.patch
-- Yann Rouillard Thu, 07 Aug 2014 21:20:12 +0200
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 Aug 8 01:50:22 2014
From: chninkel at users.sourceforge.net (chninkel at users.sourceforge.net)
Date: Thu, 7 Aug 2014 23:50:22 +0000
Subject: SF.net SVN: gar:[23941] csw/mgar/pkg/openssl1/trunk/Makefile
Message-ID: <3hTmfS2BNxzql@mail.opencsw.org>
Revision: 23941
http://sourceforge.net/p/gar/code/23941
Author: chninkel
Date: 2014-08-07 23:50:19 +0000 (Thu, 07 Aug 2014)
Log Message:
-----------
openssl1/trunk: remove now useless override and make maciej happy
Modified Paths:
--------------
csw/mgar/pkg/openssl1/trunk/Makefile
Modified: csw/mgar/pkg/openssl1/trunk/Makefile
===================================================================
--- csw/mgar/pkg/openssl1/trunk/Makefile 2014-08-07 21:58:45 UTC (rev 23940)
+++ csw/mgar/pkg/openssl1/trunk/Makefile 2014-08-07 23:50:19 UTC (rev 23941)
@@ -67,11 +67,6 @@
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
-# This is a false alarm, this is a configuration file added at install time
-# through the preserveconf class
-CHECKPKG_OVERRIDES_CSWopenssl-utils += file-needed-but-no-package-satisfies-it|/etc/opt/csw/ssl/openssl.cnf|CSWopenssl-utils|contains|symlink|/opt/csw/ssl/openssl.cnf|which|needs|the|target|file:|/etc/opt/csw/ssl/openssl.cnf
-
-
# We use SUN perl, not the opencsw one
CHECKPKG_OVERRIDES_CSWopenssl-utils += missing-dependency|CSWperl
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 Aug 8 10:07:05 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Fri, 8 Aug 2014 08:07:05 +0000
Subject: SF.net SVN: gar:[23943] csw/mgar/pkg/cpan/Mail-IMAPClient/trunk
Message-ID: <3hTzgc1mDLz11r@mail.opencsw.org>
Revision: 23943
http://sourceforge.net/p/gar/code/23943
Author: wahwah
Date: 2014-08-08 08:07:04 +0000 (Fri, 08 Aug 2014)
Log Message:
-----------
cpan/Mail-IMAPClient/trunk: Bump version
Modified Paths:
--------------
csw/mgar/pkg/cpan/Mail-IMAPClient/trunk/Makefile
csw/mgar/pkg/cpan/Mail-IMAPClient/trunk/checksums
Modified: csw/mgar/pkg/cpan/Mail-IMAPClient/trunk/Makefile
===================================================================
--- csw/mgar/pkg/cpan/Mail-IMAPClient/trunk/Makefile 2014-08-08 08:06:10 UTC (rev 23942)
+++ csw/mgar/pkg/cpan/Mail-IMAPClient/trunk/Makefile 2014-08-08 08:07:04 UTC (rev 23943)
@@ -1,5 +1,5 @@
NAME = Mail-IMAPClient
-VERSION = 3.15
+VERSION = 3.16
CATEGORIES = cpan
GARTYPE = v2
AUTHOR = MARKOV
@@ -10,10 +10,15 @@
scripts to interact with IMAP message stores.
endef
-PACKAGES = CSWpmmailimapclient
-CATALOGNAME = pm_mailimapclient
+PACKAGES = CSWpm-mailimapclient
+SPKG_DESC_CSWpm-mailimapclient = $(DESCRIPTION)
ARCHALL = 1
+OBSOLETED_BY_CSWpm-mailimapclient = CSWpmmailimapclient
+CATALOGNAME_CSWpmmailimapclient = pm_mailimapclient_stub
+
+PACKAGING_PLATFORMS = solaris9-i386 solaris9-sparc
+
LICENSE = COPYRIGHT
# Don't know about those yet
Modified: csw/mgar/pkg/cpan/Mail-IMAPClient/trunk/checksums
===================================================================
--- csw/mgar/pkg/cpan/Mail-IMAPClient/trunk/checksums 2014-08-08 08:06:10 UTC (rev 23942)
+++ csw/mgar/pkg/cpan/Mail-IMAPClient/trunk/checksums 2014-08-08 08:07:04 UTC (rev 23943)
@@ -1 +1 @@
-85450b57f77f92f8dda9ecf8ff046a1e download/Mail-IMAPClient-3.15.tar.gz
+2f20bc70351bce6da15194cd7ebbf538 Mail-IMAPClient-3.16.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 Sat Aug 9 14:22:52 2014
From: lblume at users.sourceforge.net (lblume at users.sourceforge.net)
Date: Sat, 9 Aug 2014 12:22:52 +0000
Subject: SF.net SVN: gar:[23951] csw/mgar/pkg/mysql5/branches/mysql-5.6.x
Message-ID: <3hVjJw5VNWzl5@mail.opencsw.org>
Revision: 23951
http://sourceforge.net/p/gar/code/23951
Author: lblume
Date: 2014-08-09 12:22:48 +0000 (Sat, 09 Aug 2014)
Log Message:
-----------
mysql5/branches/mysql-5.6.x: Bump to 5.6.20; add subversion to the suffix; switch to GCC4
Modified Paths:
--------------
csw/mgar/pkg/mysql5/branches/mysql-5.6.x/Makefile
csw/mgar/pkg/mysql5/branches/mysql-5.6.x/checksums
Added Paths:
-----------
csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/CSWmysql56.postinstall
csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/CSWmysql56.preinstall
csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/cswmysql56.tpl
Removed Paths:
-------------
csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/CSWmysql5.postinstall
csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/CSWmysql5.preinstall
csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/cswmysql5.tpl
Modified: csw/mgar/pkg/mysql5/branches/mysql-5.6.x/Makefile
===================================================================
--- csw/mgar/pkg/mysql5/branches/mysql-5.6.x/Makefile 2014-08-09 09:16:14 UTC (rev 23950)
+++ csw/mgar/pkg/mysql5/branches/mysql-5.6.x/Makefile 2014-08-09 12:22:48 UTC (rev 23951)
@@ -10,16 +10,17 @@
# http://forge.mysql.com/wiki/Autotools_to_CMake_Transition_Guide
#
# !!WARNING!!
-# From 5.6.4, stlport is used by default.
+# From 5.6.4, stlport is used by default with Solaris Studio.
+# It should not affect GCC4.
# It appears to not be used by libmysql*, so there should not be any binary
# incompatibility there. However, care must be taken that it does not creep
# in, either in the lib*.so or in the mysql_config script.
PROJ_NAME = mysql
-NAME = $(PROJ_NAME)5
+NAME = $(PROJ_NAME)56
BASE_VERSION = 5.6
-PATCHLEVEL = 14
+PATCHLEVEL = 20
ALTS_PRIO = 56
VERSION = $(BASE_VERSION).$(PATCHLEVEL)
@@ -28,7 +29,7 @@
PACKAGING_PLATFORMS = solaris10-sparc solaris10-i386
-GARCOMPILER = SOS12U3
+GARCOMPILER = GCC4
# Solaris 10 needs a special map file since we need libnsl Version 1.9.1
# and libc 1.22.5
@@ -43,27 +44,36 @@
(Structured Query Language) database server.
endef
-# Those options follow those of the official builds
-EXTRA_CFLAGS-sparc = -Xa -xstrconst
-EXTRA_CFLAGS-i386 = -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -xlibmil -xlibmopt
-EXTRA_CXXFLAGS-sparc = -noex
-EXTRA_CXXFLAGS-i386 = -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -features=no%except -xlibmil -xlibmopt
-EXTRA_CFLAGS += $(EXTRA_CFLAGS-$(GARCH)) -g -mt -KPIC -DDBUG_OFF -DHAVE_OPENSSL -DMULTI_THREADED -lm -xnorunpath
-EXTRA_CXXFLAGS += $(EXTRA_CXXFLAGS-$(GARCH)) -g0 -mt -KPIC -DDBUG_OFF -DHAVE_OPENSSL -DMULTI_THREADED -lm -norunpath
-EXTRA_LDFLAGS += -Bdirect
+# Comes from the MySQL5.5 recipe, though only one compiler will be kept in 5.6
+### For GCC4
+EXTRA_CFLAGS_GCC4_sparc += -mno-app-regs
-# The official build used -xO2 on 32 bit x86, -xO3 for 64 bit
-# Use that for all builds
-OPT_FLAGS_SOS-32 = -xO2
-OPT_FLAGS_SOS-64 = -xO3
-OPT_FLAGS_SOS = $(OPT_FLAGS_SOS-$(MEMORYMODEL))
+EXTRA_CFLAGS_GCC4 += -pthread -fPIC -DPIC -DDBUG_OFF -DHAVE_OPENSSL -DMULTI_THREADED -lm $(EXTRA_CFLAGS_GCC4_$(GARCH))
+EXTRA_CXXFLAGS_GCC4 += -pthread -fPIC -DPIC -DDBUG_OFF -DHAVE_OPENSSL -DMULTI_THREADED -lm $(EXTRA_CXXFLAGS_GCC4_$(MEMORYMODEL))
+###
+EXTRA_CFLAGS = $(EXTRA_CFLAGS_$(GARCOMPILER))
+###
+EXTRA_LINKER_FLAGS = -lm
+
+OPT_FLAGS_GCC4_32 = -O3
+OPT_FLAGS_GCC4_64 = -O3
+OPT_FLAGS_GCC4 += $(OPT_FLAGS_GCC4_$(MEMORYMODEL)) $(OPT_FLAGS_GCC4_$(GARCH)_$(MEMORYMODEL)) $(OPT_FLAGS_GCC4_$(ISA))
+
INITSMF = $(sysconfdir)/init\.d/csw$(NAME)
MYSQL_LIB_VER = 18
-MERGE_DIRS_isa-extra = $(bindir) $(libdir) $(sbindir) $(libexecdir)
+# The daemon to launch is selected by script, should not be automatic
+# Some other files too should probably not be isaexec'd
+EXTRA_ISAEXEC_EXCLUDE_FILES = /opt/csw/libexec/mysqld
+EXTRA_ISAEXEC_EXCLUDE_FILES += /opt/csw/bin/mysql_config
+EXTRA_ISAEXEC_EXCLUDE_FILES += /opt/csw/bin/mysqld_safe
+EXTRA_ISAEXEC_EXCLUDE_FILES += /opt/csw/bin/mysqld_multi
+EXTRA_ISAEXEC_EXCLUDE_FILES += /opt/csw/bin/my_print_defaults
+EXTRA_ISAEXEC_EXCLUDE_FILES += /opt/csw/bin/mysqlaccess
+EXTRA_ISAEXEC_EXCLUDE_FILES += /opt/csw/bin/mysqlaccess.conf
PACKAGES += CSWmysql-dev
SPKG_DESC_CSWmysql-dev = MySQL development files
@@ -84,11 +94,6 @@
RUNTIME_DEP_PKGS_CSWlibmysqlclient$(MYSQL_LIB_VER) += CSWlibz1
RUNTIME_DEP_PKGS_CSWlibmysqlclient$(MYSQL_LIB_VER) += CSWlibssl1-0-0
-PACKAGES += CSWlibmysqlclient-r$(MYSQL_LIB_VER)
-PKGFILES_CSWlibmysqlclient-r$(MYSQL_LIB_VER) += $(call baseisadirs,$(libdir),libmysqlclient_r\.so\.$(MYSQL_LIB_VER)(\.\d+)*)
-SPKG_DESC_CSWlibmysqlclient-r$(MYSQL_LIB_VER) += MySQL $(BASE_VERSION) client library, libmysqlclient_r.so.$(MYSQL_LIB_VER)
-RUNTIME_DEP_PKGS_CSWlibmysqlclient-r18 += CSWlibmysqlclient18
-
# Defining the client programs, which are going to pick up the 32- and 64-bit
# binaries, symbolic links, isaexec stuff and man pages.
client_programs += myisamlog
@@ -108,7 +113,6 @@
client_programs += perror
client_programs += replace
-ISAEXEC_CSW$(NAME)client = 1
PACKAGES += CSW$(NAME)client
SPKG_DESC_CSW$(NAME)client = MySQL $(BASE_VERSION) client binaries
PKGFILES_CSW$(NAME)client = $(bindir)
@@ -126,13 +130,13 @@
SPKG_DESC_CSW$(NAME) = Multithreaded SQL database
RUNTIME_DEP_PKGS_CSW$(NAME) += CSW$(NAME)client
RUNTIME_DEP_PKGS_CSW$(NAME) += CSWlibz1
-RUNTIME_DEP_PKGS_CSW$(NAME) += CSWlibstlport1
RUNTIME_DEP_PKGS_CSW$(NAME) += CSWlibssl1-0-0
CHECKPKG_OVERRIDES_CSW$(NAME) += bad-rpath-entry
CHECKPKG_OVERRIDES_CSW$(NAME) += file-with-bad-content
CHECKPKG_OVERRIDES_CSW$(NAME) += no-direct-binding|/opt/csw/libexec/mysqld|is|not|directly|bound|to|soname|libmtmalloc.so.1
CHECKPKG_OVERRIDES_CSW$(NAME) += no-direct-binding|/opt/csw/libexec/sparcv9/mysqld|is|not|directly|bound|to|soname|libmtmalloc.so.1
CHECKPKG_OVERRIDES_CSW$(NAME) += no-direct-binding|/opt/csw/libexec/amd64/mysqld|is|not|directly|bound|to|soname|libmtmalloc.so.1
+INCOMPATIBLE_PKGS_CSW$(NAME) = CSWmysql5
# An example:
# s9_preload.so.1|is|needed|by|/opt/csw/bin/innochecksum|but|never|used
@@ -143,6 +147,7 @@
EXTRA_MERGE_EXCLUDE_FILES += $(datadir)/mysql-test.*
BUILD64 = 1
+ISAEXEC = 1
MASTER_SITES = http://ftp.heanet.ie/mirrors/www.mysql.com/Downloads/MySQL-$(BASE_VERSION)/
MASTER_SITES += http://mysql.skynet.be/Downloads/MySQL-$(BASE_VERSION)/
@@ -168,6 +173,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
@@ -176,7 +182,6 @@
CMAKE_ARGS += -DINSTALL_INFODIR=$(subst $(prefix)/,,$(infodir))/$(NAME)
CMAKE_ARGS += -DINSTALL_MYSQLSHAREDIR=$(subst $(prefix)/,,$(sharedstatedir))/$(NAME)
CMAKE_ARGS += -DINSTALL_SUPPORTFILESDIR=$(subst $(prefix)/,,$(sharedstatedir))/$(NAME)/support-files
-CMAKE_ARGS += -DWITH_LIBWRAP=1
CMAKE_ARGS += -DWITH_SSL=system
CMAKE_ARGS += -DWITH_ZLIB=system
CMAKE_ARGS += -DDEFAULT_CHARSET=utf8
@@ -184,8 +189,8 @@
CMAKE_ARGS += -DCOMPILATION_COMMENT='OpenCSW'
CMAKE_ARGS += -DBUILD_CONFIG=mysql_release
CMAKE_ARGS += -DOPENSSL_ROOT_DIR=$(prefix)
-CMAKE_ARGS += -DC_FLAGS="$(CFLAGS)"
-CMAKE_ARGS += -DCXX_FLAGS="$(CXXFLAGS)"
+CMAKE_ARGS += -DCMAKE_C_FLAGS="$(CFLAGS)"
+CMAKE_ARGS += -DCMAKE_CXX_FLAGS="$(CXXFLAGS)"
CMAKE_ARGS += -DCMAKE_C_LINK_FLAGS="$(LDFLAGS)"
CMAKE_ARGS += -DCMAKE_CXX_LINK_FLAGS="$(LDFLAGS)"
CMAKE_ARGS += -DCMAKE_LIBRARY_PATH="$(libdir)"
@@ -222,7 +227,6 @@
CMAKE_ARGS += "-DWITH_PARTITION_STORAGE_ENGINE:BOOL=ON"
CMAKE_ARGS += "-DWITH_PERFSCHEMA_STORAGE_ENGINE:BOOL=ON"
CMAKE_ARGS += "-DWITH_PIC:BOOL=ON"
-CMAKE_ARGS += "-DWITH_READLINE:BOOL=ON"
CMAKE_ARGS += "-DWITH_UNIT_TESTS:BOOL=ON"
CMAKE_ARGS += "-DWITH_VALGRIND:BOOL=OFF"
CMAKE_ARGS += "-DENABLE_DTRACE:BOOL=ON"
@@ -315,12 +319,41 @@
post-install-modulated:
ginstall -m 755 -d $(DESTDIR)$(sysconfdir)/init.d
ginstall -m 755 $(WORKDIR)/csw$(NAME) $(DESTDIR)$(sysconfdir)/init.d
- (cd $(DESTDIR)$(libdir); rm libmysqlclient_r.so.18; \
- ln -s libmysqlclient.so.18 libmysqlclient_r.so.18)
- (cd $(DESTDIR)$(libdir); rm libmysqlclient_r.so.18.0.0; \
- ln -s libmysqlclient.so.18.0.0 libmysqlclient_r.so.18.0.0)
- # Do not distribute libstlport with MySQL, use a separate one
- (cd $(DESTDIR)$(libdir); rm libstlport.*)
+ # Make sure the proper binary is called by the script since
+ # mgar does the configure part using only the base arch name, w/o
+ # the special instructions part
+ # Only needed for 64 bit
+ if [ "$(MEMORYMODEL)" = 64 ]; then \
+ for file in mysqld_safe mysqld_multi; do \
+ perl -pi \
+ -e 'if (/^[^#]/) { s|/bin(?!/$(ISABINDIR))|/bin/$(ISABINDIR)|g }' \
+ -e 'if (/^[^#]/) { s|/sbin(?!/$(ISABINDIR))|/sbin/$(ISABINDIR)|g }' \
+ -e 'if (/^[^#]/) { s|/libexec(?!/$(ISABINDIR))|/libexec/$(ISABINDIR)|g }' \
+ $(DESTDIR)$(bindir)/$$file; \
+ done; \
+ fi
+
+ # Remove compiler-specific parameters
+ gsed -i \
+ -e '/^[^#]/s/-xO[0-5][^ ]* *//g' \
+ -e '/^[^#]/s/-xarch=[^ ]* *//g' \
+ -e '/^[^#]/s/-xchip=[^ ]* *//g' \
+ -e '/^[^#]/s/-norunpath[^ ]* *//g' \
+ -e '/^[^#]/s/-lCrun[^ ]* *//g' \
+ -e '/^[^#]/s/-lCstd[^ ]* *//g' \
+ -e '/^[^#]/s/-mtune=[^ ]* *//g' \
+ -e '/^[^#]/s/-march=[^ ]* *//g' \
+ -e '/^[^#]/s/-Wall *//g' \
+ -e '/^[^#]/s/-pipe *//g' \
+ -e '/^[^#]/s/-KPIC/-fPIC/g' \
+ -e '/^[^#]/s/-mno-app-regs//g' \
+ -e '/^[^#]/s/-fno-omit-frame-pointer//g' \
+ -e '/^[^#]/s/-fno-strict-aliasing//g' \
+ -e '/^[^#]/s/-Wa[^ ]*//g' \
+ -e '/^[^#]/s/-static-libgcc//g' \
+ -e '/^[^#]/s/-pthread//g' \
+ $(DESTDIR)$(bindir)/mysql_config
+
@$(MAKECOOKIE)
post-merge:
Modified: csw/mgar/pkg/mysql5/branches/mysql-5.6.x/checksums
===================================================================
--- csw/mgar/pkg/mysql5/branches/mysql-5.6.x/checksums 2014-08-09 09:16:14 UTC (rev 23950)
+++ csw/mgar/pkg/mysql5/branches/mysql-5.6.x/checksums 2014-08-09 12:22:48 UTC (rev 23951)
@@ -1 +1 @@
-52224ce51dbf6ffbcef82be30688cc04 mysql-5.6.14.tar.gz
+71ed71ecc53222a2f03523cd13cf2141 mysql-5.6.20.tar.gz
Deleted: csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/CSWmysql5.postinstall
===================================================================
--- csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/CSWmysql5.postinstall 2014-08-09 09:16:14 UTC (rev 23950)
+++ csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/CSWmysql5.postinstall 2014-08-09 12:22:48 UTC (rev 23951)
@@ -1,93 +0,0 @@
-#!/bin/ksh -p
-#
-# $Id$
-#
-# initial version for blastwave.org by Alex Moore 2006.02.25
-# Revised 2006.03.25 - see bug report 0001542
-#
-# This script creates a default database with the small-memory footprint.
-# Input may be provided for DATADIR and DEFAULTS_FILE
-#
-# http://dev.mysql.com/doc/refman/5.0/en/option-files.html
-#
-prefix="/opt/csw"
-BASEDIR="${prefix}"
-MYSQL_HOME="/var${prefix}/mysql5"
-sysconfdir="/etc${prefix}"
-# https://www.opencsw.org/mantis/view.php?id=4646
-DEFAULTS_FILE="${prefix}/share/mysql5/support-files/my-small.cnf
-MYSQLD_USER="mysql"
-MYSQLD_GROUP="mysql"
-# Provide the default data directory
-MYSQLD_DATADIR="${MYSQL_HOME}"
-DEPRECATED_DEFAULTS_FILE="${BASEDIR}/my.cnf"
-
-# http://bugs.mysql.com/bug.php?id=31164
-# ERROR: 1004 Can't create file '/var/tmp//installRJaiQ3/#sql6fee_1_0.frm' (errno: 13)
-unset TMPDIR
-
-if [ -r "${DEPRECATED_DEFAULTS_FILE}" ]; then
- echo "*** WARNING ***"
- echo "File '${DEPRECATED_DEFAULTS_FILE}' found. This location is deprecated."
- echo "This file takes no effect."
-fi
-
-if [ ! -f "$DEFAULTS_FILE" ]; then
- IN_DEFAULTS_FILE=$BASEDIR/share/mysql5/support-files/my-small.cnf
- echo "Using $IN_DEFAULTS_FILE to create the options file."
-else
- IN_DEFAULTS_FILE=$DEFAULTS_FILE
- echo "Using $DEFAULTS_FILE as the options file."
-fi
-
-if [ -d "$MYSQLD_DATADIR/mysql" ]; then
- echo "mysql database already exists."
- echo "Leaving script without initializing a database."
- exit 0
-fi
-
-echo "Setting up the database"
-# Create the database directory and set the permissions if needed
-if [ ! -d "$MYSQLD_DATADIR" ] ; then
- mkdir -p $MYSQLD_DATADIR
- chown -R ${MYSQLD_USER}:${MYSQLD_GROUP} $MYSQLD_DATADIR
- chmod 0700 $MYSQLD_DATADIR
-fi
-#
-# copy the configuration file if not exists.
-CNFCOPIED=no
-if [ ! -f "$DEFAULTS_FILE" ] ; then
- cp -p $IN_DEFAULTS_FILE $DEFAULTS_FILE
- CNFCOPIED=yes
-fi
-#
-# Run the mysql script to create the database
-echo "Creating MySQL core database in $MYSQLD_DATADIR"
-echo
-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"
-
-# Fix permissions on the data directory, since mysql_install_db was run as
-# root.
-chown -R ${MYSQLD_USER}:${MYSQLD_GROUP} $MYSQLD_DATADIR
-
-# Update --datadir in the cnf file with the correct value if file was copied
-if [ x"$CNFCOPIED" = xyes ]; then
- sed -e "s|/var/opt/csw/mysql5|$MYSQLD_DATADIR|g" $DEFAULTS_FILE >$DEFAULTS_FILE.new
- mv $DEFAULTS_FILE.new $DEFAULTS_FILE
-fi
-
-# Ending message
-echo
-echo "### The following messages are from $0."
-echo "See ${prefix}/share/doc/mysql5/README.CSW for packaging changes."
-echo "Please ignore references to starting mysqld_safe in the messages above."
-echo " These messages are from mysql_install_db."
-
-exit 0
-
-# vim:set ts=2 sw=2 sts=2 expandtab:
Deleted: csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/CSWmysql5.preinstall
===================================================================
--- csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/CSWmysql5.preinstall 2014-08-09 09:16:14 UTC (rev 23950)
+++ csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/CSWmysql5.preinstall 2014-08-09 12:22:48 UTC (rev 23951)
@@ -1,40 +0,0 @@
-#!/bin/sh
-# vim:set sw=2 ts=2 sts=2 expandtab:
-#
-# $Id$
-#
-
-obsolete_directories="/opt/csw/mysql5/var:/var/opt/csw/mysql5"
-
-obsolete_dir_information="
-This directory is obsolete. Files in this directory are going to be ignored.
-Please move your data to the new location.
-
-Feel free to remove this file afterwards.
-"
-obsolete_dir_file_name="README.THIS_DIRECTORY_IS_OBSOLETE"
-
-for dirpair in ${obsolete_directories}; do
- obsolete_dir=`echo ${dirpair} | cut -d: -f1`
- new_dir=`echo ${dirpair} | cut -d: -f2`
- if [ -d "${PKG_INSTALL_ROOT}${obsolete_dir}" ]; then
- echo
- echo "*******************************************************************"
- echo "* The old configuration directory ${obsolete_dir} still exists. "
- echo "* Please move your configuration to ${new_dir}. "
- echo "* "
- echo "* Installation will continue in 10 seconds. "
- echo "* Press CTRL+C if you want to stop now. "
- echo "*******************************************************************"
- echo
- sleep 10
-
- # Leaving a note for the sysadmin if the they proceed with the installation.
- fn="${PKG_INSTALL_ROOT}${obsolete_dir}/${obsolete_dir_file_name}"
- if touch "${fn}" 2>/dev/null; then
- echo "${obsolete_dir_information}" > "${fn}"
- fi
- fi
-done
-
-exit 0
Copied: csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/CSWmysql56.postinstall (from rev 23950, csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/CSWmysql5.postinstall)
===================================================================
--- csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/CSWmysql56.postinstall (rev 0)
+++ csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/CSWmysql56.postinstall 2014-08-09 12:22:48 UTC (rev 23951)
@@ -0,0 +1,93 @@
+#!/bin/ksh -p
+#
+# $Id$
+#
+# initial version for blastwave.org by Alex Moore 2006.02.25
+# Revised 2006.03.25 - see bug report 0001542
+#
+# This script creates a default database with the small-memory footprint.
+# Input may be provided for DATADIR and DEFAULTS_FILE
+#
+# http://dev.mysql.com/doc/refman/5.0/en/option-files.html
+#
+prefix="/opt/csw"
+BASEDIR="${prefix}"
+MYSQL_HOME="/var${prefix}/mysql5"
+sysconfdir="/etc${prefix}"
+# https://www.opencsw.org/mantis/view.php?id=4646
+DEFAULTS_FILE="${prefix}/share/mysql5/support-files/my-small.cnf
+MYSQLD_USER="mysql"
+MYSQLD_GROUP="mysql"
+# Provide the default data directory
+MYSQLD_DATADIR="${MYSQL_HOME}"
+DEPRECATED_DEFAULTS_FILE="${BASEDIR}/my.cnf"
+
+# http://bugs.mysql.com/bug.php?id=31164
+# ERROR: 1004 Can't create file '/var/tmp//installRJaiQ3/#sql6fee_1_0.frm' (errno: 13)
+unset TMPDIR
+
+if [ -r "${DEPRECATED_DEFAULTS_FILE}" ]; then
+ echo "*** WARNING ***"
+ echo "File '${DEPRECATED_DEFAULTS_FILE}' found. This location is deprecated."
+ echo "This file takes no effect."
+fi
+
+if [ ! -f "$DEFAULTS_FILE" ]; then
+ IN_DEFAULTS_FILE=$BASEDIR/share/mysql5/support-files/my-small.cnf
+ echo "Using $IN_DEFAULTS_FILE to create the options file."
+else
+ IN_DEFAULTS_FILE=$DEFAULTS_FILE
+ echo "Using $DEFAULTS_FILE as the options file."
+fi
+
+if [ -d "$MYSQLD_DATADIR/mysql" ]; then
+ echo "mysql database already exists."
+ echo "Leaving script without initializing a database."
+ exit 0
+fi
+
+echo "Setting up the database"
+# Create the database directory and set the permissions if needed
+if [ ! -d "$MYSQLD_DATADIR" ] ; then
+ mkdir -p $MYSQLD_DATADIR
+ chown -R ${MYSQLD_USER}:${MYSQLD_GROUP} $MYSQLD_DATADIR
+ chmod 0700 $MYSQLD_DATADIR
+fi
+#
+# copy the configuration file if not exists.
+CNFCOPIED=no
+if [ ! -f "$DEFAULTS_FILE" ] ; then
+ cp -p $IN_DEFAULTS_FILE $DEFAULTS_FILE
+ CNFCOPIED=yes
+fi
+#
+# Run the mysql script to create the database
+echo "Creating MySQL core database in $MYSQLD_DATADIR"
+echo
+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"
+
+# Fix permissions on the data directory, since mysql_install_db was run as
+# root.
+chown -R ${MYSQLD_USER}:${MYSQLD_GROUP} $MYSQLD_DATADIR
+
+# Update --datadir in the cnf file with the correct value if file was copied
+if [ x"$CNFCOPIED" = xyes ]; then
+ sed -e "s|/var/opt/csw/mysql5|$MYSQLD_DATADIR|g" $DEFAULTS_FILE >$DEFAULTS_FILE.new
+ mv $DEFAULTS_FILE.new $DEFAULTS_FILE
+fi
+
+# Ending message
+echo
+echo "### The following messages are from $0."
+echo "See ${prefix}/share/doc/mysql5/README.CSW for packaging changes."
+echo "Please ignore references to starting mysqld_safe in the messages above."
+echo " These messages are from mysql_install_db."
+
+exit 0
+
+# vim:set ts=2 sw=2 sts=2 expandtab:
Copied: csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/CSWmysql56.preinstall (from rev 23950, csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/CSWmysql5.preinstall)
===================================================================
--- csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/CSWmysql56.preinstall (rev 0)
+++ csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/CSWmysql56.preinstall 2014-08-09 12:22:48 UTC (rev 23951)
@@ -0,0 +1,40 @@
+#!/bin/sh
+# vim:set sw=2 ts=2 sts=2 expandtab:
+#
+# $Id$
+#
+
+obsolete_directories="/opt/csw/mysql5/var:/var/opt/csw/mysql5"
+
+obsolete_dir_information="
+This directory is obsolete. Files in this directory are going to be ignored.
+Please move your data to the new location.
+
+Feel free to remove this file afterwards.
+"
+obsolete_dir_file_name="README.THIS_DIRECTORY_IS_OBSOLETE"
+
+for dirpair in ${obsolete_directories}; do
+ obsolete_dir=`echo ${dirpair} | cut -d: -f1`
+ new_dir=`echo ${dirpair} | cut -d: -f2`
+ if [ -d "${PKG_INSTALL_ROOT}${obsolete_dir}" ]; then
+ echo
+ echo "*******************************************************************"
+ echo "* The old configuration directory ${obsolete_dir} still exists. "
+ echo "* Please move your configuration to ${new_dir}. "
+ echo "* "
+ echo "* Installation will continue in 10 seconds. "
+ echo "* Press CTRL+C if you want to stop now. "
+ echo "*******************************************************************"
+ echo
+ sleep 10
+
+ # Leaving a note for the sysadmin if the they proceed with the installation.
+ fn="${PKG_INSTALL_ROOT}${obsolete_dir}/${obsolete_dir_file_name}"
+ if touch "${fn}" 2>/dev/null; then
+ echo "${obsolete_dir_information}" > "${fn}"
+ fi
+ fi
+done
+
+exit 0
Deleted: csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/cswmysql5.tpl
===================================================================
--- csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/cswmysql5.tpl 2014-08-09 09:16:14 UTC (rev 23950)
+++ csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/cswmysql5.tpl 2014-08-09 12:22:48 UTC (rev 23951)
@@ -1,424 +0,0 @@
-#!/bin/sh
-# vim:ft=sh:
-#
-# Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
-# This file is public domain and comes with NO WARRANTY of any kind
-
-# MySQL daemon start/stop script.
-
-# Usually this is put in /etc/init.d (at least on machines SYSV R4 based
-# systems) and linked to /etc/rc3.d/S99mysql and /etc/rc0.d/K01mysql.
-# When this is done the mysql server will be started when the machine is
-# started and shut down when the systems goes down.
-
-# Comments for OpenCSW's CAS scripts
-#RC_KNUM 01
-#RC_SNUM 99
-#RC_KLEV 0,1,2,S
-#RC_SLEV 3
-#FMRI network
-#AUTOENABLE no
-
-# If you install MySQL on some other places than @prefix@, then you
-# have to do one of the following things for this script to work:
-#
-# - Run this script from within the MySQL installation directory
-# - Create a @sysconfdir@/my.cnf file with the following information:
-# [mysqld]
-# basedir=
-# - Add the above to any other configuration file (for example ~/.my.ini)
-# and copy my_print_defaults to /usr/bin
-# - Add the path to the mysql-installation-directory to the basedir variable
-# below.
-#
-# If you want to affect other MySQL variables, you should make your changes
-# in the @sysconfdir@/my.cnf, ~/.my.cnf or other MySQL configuration files.
-
-# If you change base dir, you must also change datadir. These may get
-# overwritten by settings in the MySQL configuration files.
-
-basedir=
-datadir=
-
-# Default value, in seconds, afterwhich the script should timeout waiting
-# for server start.
-# Value here is overriden by value in my.cnf.
-# 0 means don't wait at all
-# Negative numbers mean to wait indefinitely
-service_startup_timeout=900
-
-# Lock directory for RedHat / SuSE.
-lockdir='/var/lock/subsys'
-lock_file_path="$lockdir/mysql"
-
-# The following variables are only set for letting mysql.server find things.
-
-# Set some defaults
-mysqld_pid_file_path=
-if test -z "$basedir"
-then
- basedir=@prefix@
- bindir=@bindir@
- if test -z "$datadir"
- then
- datadir=@localstatedir@
- fi
- sbindir=@prefix@/libexec
- libexecdir=@prefix@/libexec
-else
- bindir="$basedir/bin"
- if test -z "$datadir"
- then
- datadir="$basedir/data"
- fi
- sbindir="$basedir/libexec"
- libexecdir="$basedir/libexec"
-fi
-
-# datadir_set is used to determine if datadir was set (and so should be
-# *not* set inside of the --basedir= handler.)
-datadir_set=
-
-#
-# Use LSB init script functions for printing messages, if possible
-#
-lsb_functions="/lib/lsb/init-functions"
-if test -f $lsb_functions ; then
- . $lsb_functions
-else
- log_success_msg()
- {
- echo " SUCCESS! $@"
- }
- log_failure_msg()
- {
- echo " ERROR! $@"
- }
-fi
-
-PATH="/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin"
-export PATH
-
-mode=$1 # start or stop
-
-[ $# -ge 1 ] && shift
-
-
-other_args="$*" # uncommon, but needed when called from an RPM upgrade action
- # Expected: "--skip-networking --skip-grant-tables"
- # They are not checked here, intentionally, as it is the resposibility
- # of the "spec" file author to give correct arguments only.
-
-case `echo "testing\c"`,`echo -n testing` in
- *c*,-n*) echo_n= echo_c= ;;
- *c*,*) echo_n=-n echo_c= ;;
- *) echo_n= echo_c='\c' ;;
-esac
-
-parse_server_arguments() {
- for arg do
- case "$arg" in
- # $mysql5_arch must have been set (or left empty) for Solaris
- # by the OpenCSW architecture selection bit
- --basedir=*) basedir=`echo "$arg" | sed -e 's/^[^=]*=//'`
- bindir="$basedir/bin/$mysql5_arch"
- if test -z "$datadir_set"; then
- datadir="$basedir/data"
- fi
- sbindir="$basedir/sbin/$mysql5_arch"
- libexecdir="$basedir/libexec/$mysql5_arch"
- ;;
- --datadir=*) datadir=`echo "$arg" | sed -e 's/^[^=]*=//'`
- datadir_set=1
- ;;
- --pid-file=*) mysqld_pid_file_path=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
- --service-startup-timeout=*) service_startup_timeout=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
- esac
- done
-}
-
-wait_for_pid () {
- verb="$1" # created | removed
- pid="$2" # process ID of the program operating on the pid-file
- pid_file_path="$3" # path to the PID file.
-
- i=0
- avoid_race_condition="by checking again"
-
- while test $i -ne $service_startup_timeout ; do
-
- case "$verb" in
- 'created')
- # wait for a PID-file to pop into existence.
- test -s "$pid_file_path" && i='' && break
- ;;
- 'removed')
- # wait for this PID-file to disappear
- test ! -s "$pid_file_path" && i='' && break
- ;;
- *)
- echo "wait_for_pid () usage: wait_for_pid created|removed pid pid_file_path"
- exit 1
- ;;
- esac
-
- # if server isn't running, then pid-file will never be updated
- if test -n "$pid"; then
- if kill -0 "$pid" 2>/dev/null; then
- : # the server still runs
- else
- # The server may have exited between the last pid-file check and now.
- if test -n "$avoid_race_condition"; then
- avoid_race_condition=""
- continue # Check again.
- fi
-
- # there's nothing that will affect the file.
- log_failure_msg "The server quit without updating PID file ($pid_file_path)."
- return 1 # not waiting any more.
- fi
- fi
-
- echo $echo_n ".$echo_c"
- i=`expr $i + 1`
- sleep 1
-
- done
-
- if test -z "$i" ; then
- log_success_msg
- return 0
- else
- log_failure_msg
- return 1
- fi
-}
-
-### START OPENCSW ARCHITECTURE SELECTION
-# Source the configuration
-# This is used to define the binary architeture to run
-
-# Check the old location first
-[ -r @prefix@/etc/csw.conf ] && . @prefix@/etc/csw.conf
-
-# Check the current location, its content overrides the previous one
-[ -r @sysconfdir@/csw.conf ] && . @sysconfdir@/csw.conf
-
-# If the package-specific variable is not set, try the default
-if [ -z "$mysql5_arch" ]; then
- if [ -n "$default_arch" ]; then
- mysql5_arch="$default_arch"
- fi
-else
- # In that specific case, by default, there is no subdir
- if [ "$mysql5_arch" = "i386" -o "$mysql5_arch" = "sparc" ]; then
- mysql5_arch=""
- fi
-fi
-
-# If a value was found
-if [ -n "$mysql5_arch" ]; then
- if [ "$mysql5_arch" = "kernel" ]; then
- # Use the system's default arch
- mysql5_arch=`isainfo -k`
- fi
-
- # Add the architecture suffix to the executables' directories, if it exists
- # The binaries themselves are tested below, so the script should fail
- # mostly gracefully if a non-present arch is set up.
- if [ -d "$bindir/$mysql5_arch" -a \
- -d "$sbindir/$mysql5_arch" -a \
- -d "$libexecdir/$mysql5_arch" ]; then
- bindir="$bindir/$mysql5_arch"
- sbindir="$sbindir/$mysql5_arch"
- libexecdir="$libexecdir/$mysql5_arch"
- fi
-fi
-### END OPENCSW ARCHITECTURE SELECTION
-
-# Get arguments from the my.cnf file,
-# the only group, which is read from now on is [mysqld]
-if test -x ./bin/my_print_defaults
-then
- print_defaults="./bin/my_print_defaults"
-elif test -x $bindir/my_print_defaults
-then
- print_defaults="$bindir/my_print_defaults"
-elif test -x $bindir/mysql_print_defaults
-then
- print_defaults="$bindir/mysql_print_defaults"
-else
- # Try to find basedir in @sysconfdir@/my.cnf
- conf=@sysconfdir@/my.cnf
- print_defaults=
- if test -r $conf
- then
- subpat='^[^=]*basedir[^=]*=\(.*\)$'
- dirs=`sed -e "/$subpat/!d" -e 's//\1/' $conf`
- for d in $dirs
- do
- d=`echo $d | sed -e 's/[ ]//g'`
- if test -x "$d/bin/my_print_defaults"
- then
- print_defaults="$d/bin/my_print_defaults"
- break
- fi
- if test -x "$d/bin/mysql_print_defaults"
- then
- print_defaults="$d/bin/mysql_print_defaults"
- break
- fi
- done
- fi
-
- # Hope it's in the PATH ... but I doubt it
- test -z "$print_defaults" && print_defaults="my_print_defaults"
-fi
-
-#
-# Read defaults file from 'basedir'. If there is no defaults file there
-# check if it's in the old (depricated) place (datadir) and read it from there
-#
-
-extra_args=""
-if test -r "$basedir/my.cnf"
-then
- extra_args="-e $basedir/my.cnf"
-else
- if test -r "$datadir/my.cnf"
- then
- extra_args="-e $datadir/my.cnf"
- fi
-fi
-
-parse_server_arguments `$print_defaults $extra_args mysqld server mysql_server mysql.server`
-
-#
-# Set pid file if not given
-#
-if test -z "$mysqld_pid_file_path"
-then
- mysqld_pid_file_path=$datadir/`hostname`.pid
-else
- case "$mysqld_pid_file_path" in
- /* ) ;;
- * ) mysqld_pid_file_path="$datadir/$mysqld_pid_file_path" ;;
- esac
-fi
-
-case "$mode" in
- 'start')
- # Start daemon
-
- # Safeguard (relative paths, core dumps..)
- # Changed to /opt for OpenCSW to avoid mysqld_safe picking the 32 bit
- # binary in libexec/
- cd /opt
-
- echo $echo_n "Starting MySQL"
- if test -x $bindir/mysqld_safe
- then
- # Give extra arguments to mysqld with the my.cnf file. This script
- # may be overwritten at next upgrade.
- $bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &
- wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?
-
- # Make lock for RedHat / SuSE
- if test -w "$lockdir"
- then
- touch "$lock_file_path"
- fi
-
- exit $return_value
- else
- log_failure_msg "Couldn't find MySQL server ($bindir/mysqld_safe)"
- fi
- ;;
-
- 'stop')
- # Stop daemon. We use a signal here to avoid having to know the
- # root password.
-
- if test -s "$mysqld_pid_file_path"
- then
- mysqld_pid=`cat "$mysqld_pid_file_path"`
-
- if (kill -0 $mysqld_pid 2>/dev/null)
- then
- echo $echo_n "Shutting down MySQL"
- kill $mysqld_pid
- # mysqld should remove the pid file when it exits, so wait for it.
- wait_for_pid removed "$mysqld_pid" "$mysqld_pid_file_path"; return_value=$?
- else
- log_failure_msg "MySQL server process #$mysqld_pid is not running!"
- rm "$mysqld_pid_file_path"
- fi
-
- # Delete lock for RedHat / SuSE
- if test -f "$lock_file_path"
- then
- rm -f "$lock_file_path"
- fi
- exit $return_value
- else
- log_failure_msg "MySQL server PID file could not be found!"
- fi
- ;;
-
- 'restart')
- # Stop the service and regardless of whether it was
- # running or not, start it again.
- if $0 stop $other_args; then
- $0 start $other_args
- else
- log_failure_msg "Failed to stop running server, so refusing to try to start."
- exit 1
- fi
- ;;
-
- 'reload'|'force-reload')
- if test -s "$mysqld_pid_file_path" ; then
- read mysqld_pid < "$mysqld_pid_file_path"
- kill -HUP $mysqld_pid && log_success_msg "Reloading service MySQL"
- touch "$mysqld_pid_file_path"
- else
- log_failure_msg "MySQL PID file could not be found!"
- exit 1
- fi
- ;;
- 'status')
- # First, check to see if pid file exists
- if test -s "$mysqld_pid_file_path" ; then
- read mysqld_pid < "$mysqld_pid_file_path"
- if kill -0 $mysqld_pid 2>/dev/null ; then
- log_success_msg "MySQL running ($mysqld_pid)"
- exit 0
- else
- log_failure_msg "MySQL is not running, but PID file exists"
- exit 1
- fi
- else
- # Try to find appropriate mysqld process
- mysqld_pid=`pgrep $libexecdir/mysqld`
- if test -z "$mysqld_pid" ; then
- if test -f "$lock_file_path" ; then
- log_failure_msg "MySQL is not running, but lock file ($lock_file_path) exists"
- exit 2
- fi
- log_failure_msg "MySQL is not running"
- exit 3
- else
- log_failure_msg "MySQL is running but PID file could not be found"
- exit 4
- fi
- fi
- ;;
- *)
- # usage
- basename=`basename "$0"`
- echo "Usage: $basename {start|stop|restart|reload|force-reload|status} [ MySQL server options ]"
- exit 1
- ;;
-esac
-
-exit 0
Copied: csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/cswmysql56.tpl (from rev 23950, csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/cswmysql5.tpl)
===================================================================
--- csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/cswmysql56.tpl (rev 0)
+++ csw/mgar/pkg/mysql5/branches/mysql-5.6.x/files/cswmysql56.tpl 2014-08-09 12:22:48 UTC (rev 23951)
@@ -0,0 +1,424 @@
+#!/bin/sh
+# vim:ft=sh:
+#
+# Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+# This file is public domain and comes with NO WARRANTY of any kind
+
+# MySQL daemon start/stop script.
+
+# Usually this is put in /etc/init.d (at least on machines SYSV R4 based
+# systems) and linked to /etc/rc3.d/S99mysql and /etc/rc0.d/K01mysql.
+# When this is done the mysql server will be started when the machine is
+# started and shut down when the systems goes down.
+
+# Comments for OpenCSW's CAS scripts
+#RC_KNUM 01
+#RC_SNUM 99
+#RC_KLEV 0,1,2,S
+#RC_SLEV 3
+#FMRI network
+#AUTOENABLE no
+
+# If you install MySQL on some other places than @prefix@, then you
+# have to do one of the following things for this script to work:
+#
+# - Run this script from within the MySQL installation directory
+# - Create a @sysconfdir@/my.cnf file with the following information:
+# [mysqld]
+# basedir=
+# - Add the above to any other configuration file (for example ~/.my.ini)
+# and copy my_print_defaults to /usr/bin
+# - Add the path to the mysql-installation-directory to the basedir variable
+# below.
+#
+# If you want to affect other MySQL variables, you should make your changes
+# in the @sysconfdir@/my.cnf, ~/.my.cnf or other MySQL configuration files.
+
+# If you change base dir, you must also change datadir. These may get
+# overwritten by settings in the MySQL configuration files.
+
+basedir=
+datadir=
+
+# Default value, in seconds, afterwhich the script should timeout waiting
+# for server start.
+# Value here is overriden by value in my.cnf.
+# 0 means don't wait at all
+# Negative numbers mean to wait indefinitely
+service_startup_timeout=900
+
+# Lock directory for RedHat / SuSE.
+lockdir='/var/lock/subsys'
+lock_file_path="$lockdir/mysql"
+
+# The following variables are only set for letting mysql.server find things.
+
+# Set some defaults
+mysqld_pid_file_path=
+if test -z "$basedir"
+then
+ basedir=@prefix@
+ bindir=@bindir@
+ if test -z "$datadir"
+ then
+ datadir=@localstatedir@
+ fi
+ sbindir=@prefix@/libexec
+ libexecdir=@prefix@/libexec
+else
+ bindir="$basedir/bin"
+ if test -z "$datadir"
+ then
+ datadir="$basedir/data"
+ fi
+ sbindir="$basedir/libexec"
+ libexecdir="$basedir/libexec"
+fi
+
+# datadir_set is used to determine if datadir was set (and so should be
+# *not* set inside of the --basedir= handler.)
+datadir_set=
+
+#
+# Use LSB init script functions for printing messages, if possible
+#
+lsb_functions="/lib/lsb/init-functions"
+if test -f $lsb_functions ; then
+ . $lsb_functions
+else
+ log_success_msg()
+ {
+ echo " SUCCESS! $@"
+ }
+ log_failure_msg()
+ {
+ echo " ERROR! $@"
+ }
+fi
+
+PATH="/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin"
+export PATH
+
+mode=$1 # start or stop
+
+[ $# -ge 1 ] && shift
+
+
+other_args="$*" # uncommon, but needed when called from an RPM upgrade action
+ # Expected: "--skip-networking --skip-grant-tables"
+ # They are not checked here, intentionally, as it is the resposibility
+ # of the "spec" file author to give correct arguments only.
+
+case `echo "testing\c"`,`echo -n testing` in
+ *c*,-n*) echo_n= echo_c= ;;
+ *c*,*) echo_n=-n echo_c= ;;
+ *) echo_n= echo_c='\c' ;;
+esac
+
+parse_server_arguments() {
+ for arg do
+ case "$arg" in
+ # $mysql5_arch must have been set (or left empty) for Solaris
+ # by the OpenCSW architecture selection bit
+ --basedir=*) basedir=`echo "$arg" | sed -e 's/^[^=]*=//'`
+ bindir="$basedir/bin/$mysql5_arch"
+ if test -z "$datadir_set"; then
+ datadir="$basedir/data"
+ fi
+ sbindir="$basedir/sbin/$mysql5_arch"
+ libexecdir="$basedir/libexec/$mysql5_arch"
+ ;;
+ --datadir=*) datadir=`echo "$arg" | sed -e 's/^[^=]*=//'`
+ datadir_set=1
+ ;;
+ --pid-file=*) mysqld_pid_file_path=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
+ --service-startup-timeout=*) service_startup_timeout=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
+ esac
+ done
+}
+
+wait_for_pid () {
+ verb="$1" # created | removed
+ pid="$2" # process ID of the program operating on the pid-file
+ pid_file_path="$3" # path to the PID file.
+
+ i=0
+ avoid_race_condition="by checking again"
+
+ while test $i -ne $service_startup_timeout ; do
+
+ case "$verb" in
+ 'created')
+ # wait for a PID-file to pop into existence.
+ test -s "$pid_file_path" && i='' && break
+ ;;
+ 'removed')
+ # wait for this PID-file to disappear
+ test ! -s "$pid_file_path" && i='' && break
+ ;;
+ *)
+ echo "wait_for_pid () usage: wait_for_pid created|removed pid pid_file_path"
+ exit 1
+ ;;
+ esac
+
+ # if server isn't running, then pid-file will never be updated
+ if test -n "$pid"; then
+ if kill -0 "$pid" 2>/dev/null; then
+ : # the server still runs
+ else
+ # The server may have exited between the last pid-file check and now.
+ if test -n "$avoid_race_condition"; then
+ avoid_race_condition=""
+ continue # Check again.
+ fi
+
+ # there's nothing that will affect the file.
+ log_failure_msg "The server quit without updating PID file ($pid_file_path)."
+ return 1 # not waiting any more.
+ fi
+ fi
+
+ echo $echo_n ".$echo_c"
+ i=`expr $i + 1`
+ sleep 1
+
+ done
+
+ if test -z "$i" ; then
+ log_success_msg
+ return 0
+ else
+ log_failure_msg
+ return 1
+ fi
+}
+
+### START OPENCSW ARCHITECTURE SELECTION
+# Source the configuration
+# This is used to define the binary architeture to run
+
+# Check the old location first
+[ -r @prefix@/etc/csw.conf ] && . @prefix@/etc/csw.conf
+
+# Check the current location, its content overrides the previous one
+[ -r @sysconfdir@/csw.conf ] && . @sysconfdir@/csw.conf
+
+# If the package-specific variable is not set, try the default
+if [ -z "$mysql5_arch" ]; then
+ if [ -n "$default_arch" ]; then
+ mysql5_arch="$default_arch"
+ fi
+else
+ # In that specific case, by default, there is no subdir
+ if [ "$mysql5_arch" = "i386" -o "$mysql5_arch" = "sparc" ]; then
+ mysql5_arch=""
+ fi
+fi
+
+# If a value was found
+if [ -n "$mysql5_arch" ]; then
+ if [ "$mysql5_arch" = "kernel" ]; then
+ # Use the system's default arch
+ mysql5_arch=`isainfo -k`
+ fi
+
+ # Add the architecture suffix to the executables' directories, if it exists
+ # The binaries themselves are tested below, so the script should fail
+ # mostly gracefully if a non-present arch is set up.
+ if [ -d "$bindir/$mysql5_arch" -a \
+ -d "$sbindir/$mysql5_arch" -a \
+ -d "$libexecdir/$mysql5_arch" ]; then
+ bindir="$bindir/$mysql5_arch"
+ sbindir="$sbindir/$mysql5_arch"
+ libexecdir="$libexecdir/$mysql5_arch"
+ fi
+fi
+### END OPENCSW ARCHITECTURE SELECTION
+
+# Get arguments from the my.cnf file,
+# the only group, which is read from now on is [mysqld]
+if test -x ./bin/my_print_defaults
+then
+ print_defaults="./bin/my_print_defaults"
+elif test -x $bindir/my_print_defaults
+then
+ print_defaults="$bindir/my_print_defaults"
+elif test -x $bindir/mysql_print_defaults
+then
+ print_defaults="$bindir/mysql_print_defaults"
+else
+ # Try to find basedir in @sysconfdir@/my.cnf
+ conf=@sysconfdir@/my.cnf
+ print_defaults=
+ if test -r $conf
+ then
+ subpat='^[^=]*basedir[^=]*=\(.*\)$'
+ dirs=`sed -e "/$subpat/!d" -e 's//\1/' $conf`
+ for d in $dirs
+ do
+ d=`echo $d | sed -e 's/[ ]//g'`
+ if test -x "$d/bin/my_print_defaults"
+ then
+ print_defaults="$d/bin/my_print_defaults"
+ break
+ fi
+ if test -x "$d/bin/mysql_print_defaults"
+ then
+ print_defaults="$d/bin/mysql_print_defaults"
+ break
+ fi
+ done
+ fi
+
+ # Hope it's in the PATH ... but I doubt it
+ test -z "$print_defaults" && print_defaults="my_print_defaults"
+fi
+
+#
+# Read defaults file from 'basedir'. If there is no defaults file there
+# check if it's in the old (depricated) place (datadir) and read it from there
+#
+
+extra_args=""
+if test -r "$basedir/my.cnf"
+then
+ extra_args="-e $basedir/my.cnf"
+else
+ if test -r "$datadir/my.cnf"
+ then
+ extra_args="-e $datadir/my.cnf"
+ fi
+fi
+
+parse_server_arguments `$print_defaults $extra_args mysqld server mysql_server mysql.server`
+
+#
+# Set pid file if not given
+#
+if test -z "$mysqld_pid_file_path"
+then
+ mysqld_pid_file_path=$datadir/`hostname`.pid
+else
+ case "$mysqld_pid_file_path" in
+ /* ) ;;
+ * ) mysqld_pid_file_path="$datadir/$mysqld_pid_file_path" ;;
+ esac
+fi
+
+case "$mode" in
+ 'start')
+ # Start daemon
+
+ # Safeguard (relative paths, core dumps..)
+ # Changed to /opt for OpenCSW to avoid mysqld_safe picking the 32 bit
+ # binary in libexec/
+ cd /opt
+
+ echo $echo_n "Starting MySQL"
+ if test -x $bindir/mysqld_safe
+ then
+ # Give extra arguments to mysqld with the my.cnf file. This script
+ # may be overwritten at next upgrade.
+ $bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &
+ wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?
+
+ # Make lock for RedHat / SuSE
+ if test -w "$lockdir"
+ then
+ touch "$lock_file_path"
+ fi
+
+ exit $return_value
+ else
+ log_failure_msg "Couldn't find MySQL server ($bindir/mysqld_safe)"
+ fi
+ ;;
+
+ 'stop')
+ # Stop daemon. We use a signal here to avoid having to know the
+ # root password.
+
+ if test -s "$mysqld_pid_file_path"
+ then
+ mysqld_pid=`cat "$mysqld_pid_file_path"`
+
+ if (kill -0 $mysqld_pid 2>/dev/null)
+ then
+ echo $echo_n "Shutting down MySQL"
+ kill $mysqld_pid
+ # mysqld should remove the pid file when it exits, so wait for it.
+ wait_for_pid removed "$mysqld_pid" "$mysqld_pid_file_path"; return_value=$?
+ else
+ log_failure_msg "MySQL server process #$mysqld_pid is not running!"
+ rm "$mysqld_pid_file_path"
+ fi
+
+ # Delete lock for RedHat / SuSE
+ if test -f "$lock_file_path"
+ then
+ rm -f "$lock_file_path"
+ fi
+ exit $return_value
+ else
+ log_failure_msg "MySQL server PID file could not be found!"
+ fi
+ ;;
+
+ 'restart')
+ # Stop the service and regardless of whether it was
+ # running or not, start it again.
+ if $0 stop $other_args; then
+ $0 start $other_args
+ else
+ log_failure_msg "Failed to stop running server, so refusing to try to start."
+ exit 1
+ fi
+ ;;
+
+ 'reload'|'force-reload')
+ if test -s "$mysqld_pid_file_path" ; then
+ read mysqld_pid < "$mysqld_pid_file_path"
+ kill -HUP $mysqld_pid && log_success_msg "Reloading service MySQL"
+ touch "$mysqld_pid_file_path"
+ else
+ log_failure_msg "MySQL PID file could not be found!"
+ exit 1
+ fi
+ ;;
+ 'status')
+ # First, check to see if pid file exists
+ if test -s "$mysqld_pid_file_path" ; then
+ read mysqld_pid < "$mysqld_pid_file_path"
+ if kill -0 $mysqld_pid 2>/dev/null ; then
+ log_success_msg "MySQL running ($mysqld_pid)"
+ exit 0
+ else
+ log_failure_msg "MySQL is not running, but PID file exists"
+ exit 1
+ fi
+ else
+ # Try to find appropriate mysqld process
+ mysqld_pid=`pgrep $libexecdir/mysqld`
+ if test -z "$mysqld_pid" ; then
+ if test -f "$lock_file_path" ; then
+ log_failure_msg "MySQL is not running, but lock file ($lock_file_path) exists"
+ exit 2
+ fi
+ log_failure_msg "MySQL is not running"
+ exit 3
+ else
+ log_failure_msg "MySQL is running but PID file could not be found"
+ exit 4
+ fi
+ fi
+ ;;
+ *)
+ # usage
+ basename=`basename "$0"`
+ echo "Usage: $basename {start|stop|restart|reload|force-reload|status} [ MySQL server options ]"
+ exit 1
+ ;;
+esac
+
+exit 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 Sun Aug 10 11:01:35 2014
From: wahwah at users.sourceforge.net (wahwah at users.sourceforge.net)
Date: Sun, 10 Aug 2014 09:01:35 +0000
Subject: SF.net SVN: gar:[23955] csw/mgar/gar/v2/go/src/promote-packages/
report-template.html
Message-ID: <3hWDnX70G3z19K@mail.opencsw.org>
Revision: 23955
http://sourceforge.net/p/gar/code/23955
Author: wahwah
Date: 2014-08-10 09:01:33 +0000 (Sun, 10 Aug 2014)
Log Message:
-----------
package-promotions: Correct a template bug
The documentation[1] says that you can do:
{{ if x }} ... {{ else if y }} ... {{ else }} ... {{ end }}
In practice, it doesn't work.
[1] http://godoc.org/text/template
Modified Paths:
--------------
csw/mgar/gar/v2/go/src/promote-packages/report-template.html
Modified: csw/mgar/gar/v2/go/src/promote-packages/report-template.html
===================================================================
--- csw/mgar/gar/v2/go/src/promote-packages/report-template.html 2014-08-10 08:30:10 UTC (rev 23954)
+++ csw/mgar/gar/v2/go/src/promote-packages/report-template.html 2014-08-10 09:01:33 UTC (rev 23955)
@@ -14,7 +14,7 @@
{{ range $ccg := .CrossCatGroups }}