[csw-devel] SF.net SVN: gar:[15826] csw/mgar/pkg/examples

wahwah at users.sourceforge.net wahwah at users.sourceforge.net
Sun Oct 2 11:45:16 CEST 2011


Revision: 15826
          http://gar.svn.sourceforge.net/gar/?rev=15826&view=rev
Author:   wahwah
Date:     2011-10-02 09:45:15 +0000 (Sun, 02 Oct 2011)
Log Message:
-----------
64-bit: An example 64-bit build

Modified Paths:
--------------
    csw/mgar/pkg/examples/64-bit/trunk/Makefile
    csw/mgar/pkg/examples/64-bit/trunk/checksums

Added Paths:
-----------
    csw/mgar/pkg/examples/64-bit/
    csw/mgar/pkg/examples/64-bit/trunk/files/check_pkgroot.sh

Modified: csw/mgar/pkg/examples/64-bit/trunk/Makefile
===================================================================
--- csw/mgar/pkg/template/trunk/Makefile	2011-09-24 08:01:34 UTC (rev 15728)
+++ csw/mgar/pkg/examples/64-bit/trunk/Makefile	2011-10-02 09:45:15 UTC (rev 15826)
@@ -2,186 +2,28 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-## This file contains comments to guide you through various GAR settings.
-## Please remove unnecessary comments before committing your code to the code
-## repository. The comments to remove are marked with double hashes.
-## If you want to remove them all in-place, use:
-## gsed -i -e '/^##/d' Makefile
-##
-## For more information about GAR variables, please see:
-## https://sourceforge.net/apps/trac/gar/wiki/GAR%20Variable%20Reference
-##
-NAME = mypkg
-VERSION = 1.0
-##
-## The category that your software fits in. This is not a descriptive field, but
-## influences the build process. Depending on the CATEGORIES setting, different
-## Makefiles are included from gar/categories/ in your trunk directory, which
-## adjust the build settings for the respective category.
-##
-## Possible settings are:
-## apps, cpan, devel, gnome, java, kde, lang, lib, meta, net, python, server,
-## utils, x11, xfce, xorg, xtra
+NAME = hello
+VERSION = 0.1.1
 CATEGORIES = lib
-##
-## A one-line description of the package, which will appear in the pkginfo.
-DESCRIPTION = <please fill in>
-##
-## A longer description of the package. This is only for descriptive purposes
-## inside the Makefile and is not used elsewhere.
+DESCRIPTION = A test of a 64-bit build
 define BLURB
-  <please fill in>
 endef
-##
-## Upstream URL that should show up in the VENDOR field as well as on
-## http://opencsw.org/packages/<packagename>.
-SPKG_SOURCEURL =
-##
-## Whitespace-separated list of URLs to download the source package from.
-## There are presets: $(SF_MIRRORS), $(GNU_MIRRORS) and $(GOOGLE_MIRROR),
-## $(PYPI_MIRROR)
+SPKG_SOURCEURL = http://www.opencsw.org/
 MASTER_SITES =
-##
-## SF_PROJ is required if you set $(MASTER_SITES) to $(SF_MIRRORS) and the
-## Sourceforge project name differs from $(NAME). Specifies the Sourceforge
-## project name of the software you wish to download.
-## SF_PROJ =
-##
-## A list of space separated patch filenames from files/ that are to be applied
-## to the extracted software before the ./configure stage.
-## PATCHFILES =
-##
-## Whitespace-separated list of files which comprise this build. mGAR will look
-## for the files in the $(FILEDIR) (trunk/files) directory and on the
-## $(MASTER_SITES).
 DISTFILES  = $(NAME)-$(VERSION).tar.gz
-##
-## We define upstream file regex so we can be notifed of new upstream software
-## release
-## UFILES_REGEX = $(NAME)-(\d+(?:\.\d+)*).tar.gz
-##
-## Catalog name is the name to be used with pkg{-get,util} -i <pkgname>.
-## It is different from the system package name, which by convention is CSWpkgname.
-## CATALOGNAME =
-##
-## Set to 1 to mark the package as architecture-independent.
-## ARCHALL = 0
-##
-## A list of files / patterns that should be excluded from the package. Amends
-## the default list of excluded filenames $(MERGE_EXCLUDE_DEFAULT), which
-## contains things like libtool .la files and files with a leading ~.
-## EXTRA_MERGE_EXCLUDE_FILES =
-##
-## A list of space separated package names that should be marked as
-## incompatible with the current package. This will go into the depend file.
-## When a user has one of the incompatible packages installed and installs
-## your package, he will be prompted that the incompatible package must be
-## removed. He will however not be prevented to install your package without
-## removing the conflicting package first.
-## INCOMPATIBLE_PKGS =
-##
-##  The name of the license file that should be included in your package. Defaults
-##  to COPYING. See http://sourceforge.net/apps/trac/gar/wiki/CopyRight for details
-##  on including and displaying licenses.
-## LICENSE =
-##
-## A list of space separated package names that should be produced from your
-## Makefile. This is used when a software has different components that can be
-## packaged and used individually (think runtime libraries, client tools, server
-## files, development headers). You don't need to set this when you just want to
-## produce one package.
-##
-## When you set this variable to include more than one package, you also need to
-## set PKGFILES_CSWpkgname for each package (except for the first one in your
-## $(PACKAGES) list) to define which files go into each package. The first
-## package from $(PACKAGES) one will hold all files that are not matched by
-## PKGFILES_ for other packages.
-## PACKAGES =
-##
-## If specified, GAR feeds the almost-final package prototype file to
-## $(PROTOTYPE_FILTER) and reads the final package prototype file from it.
-## $(PROTOTYPE_FILTER) is usually a sed/awk/perl one-liner, which was mostly used
-## to prepare the prototype file for use with cswclassutils (see
-## $(SPKG_CLASSES)). Now that there are convenience variables for cswclassutils,
-## you will rarely have to use this. A still valid use case would be to change
-## the file permissions of a file to be set-UID.
-## See http://wiki.opencsw.org/cswclassutils-package for common usage information
-## PROTOTYPE_FILTER =
-##
-## cswclassutils settings
-##
-## A list of action classes. Possible values are:
-## none cswpreserveconf cswcpsampleconf cswpycompile cswusergroup cswinitsmf
-##	cswinetd cswetcservices
-## The class 'cswinitsmf' must be the last class listed. When you use cswclassutils,
-## you need to add CSWcswclassutils to RUNTIME_DEP_PKGS.
-## SPKG_CLASSES = none
-## Simplified settings for classes:
-## PRESERVECONF =
-## SAMPLECONF =
-## INITSMF =
-## USERGROUP =
-## ETCSERVICES = <file containing an entry for /etc/services>
-## INETDCONF = <file containing an inetd.conf formatted entry>
-## A list of runtime package dependencies in the form of CSWfoo.
-## RUNTIME_DEP_PKGS =
-##
-## A list of packages necessary to build this package
-## BUILD_DEP_PKGS = $(RUNTIME_DEP_PKGS)
-##
-## When using non-empty $(PACKAGES):
-## RUNTIME_DEP_PKGS_CSWpkgname =
-## SPKG_DESC_CSWpkgname =
-## PKGFILES_CSWpkgname =
-## CATALOGNAME_CSWpkgname =
-##
-## A list of space separated directories where objects should be stripped in
-## addition to the bin/ and sbin/ directories.
-## STRIP_DIRS =
-##
-## Define a custom target for the configure phase. When you set this, the target
-## that will be used instead of configure: target, is named
-## configure-$(CONFIGURE_SCRIPTS) and you will need to define it in your Makefile
-## after including gar/gar.include.mk. If you want to skip the configure phase
-## completely (for example when your software doesn't need to be compiled) assign
-## this variable an empty value. The procedure works for configure, build,
-## install and test steps.
-## CONFIGURE_SCRIPTS =
-## BUILD_SCRIPTS =
-## INSTALL_SCRIPTS =
-## TEST_SCRIPTS =
-##
-## Compilation settings
-##
-## The build directory.
-## WORKSRC = $(WORKDIR)/$(NAME)-$(VERSION)
-##
-## BUILD_ARGS is passed as an argument to gmake during the build phase. Use this
-## for example, if you need to override Makefile variables.
-## BUILD_ARGS =
-##
-## Arguments passed to the ./configure script.
 CONFIGURE_ARGS = $(DIRPATHS)
-##
-## BUILD64 =
-## CONFIGURE_ENV =
-## EXTRA_CFLAGS =
-## EXTRA_LDFLAGS =
-## EXTRA_INC =
-## EXTRA_LIB =
-## GARFLAVOR =
-## INSTALL_ARGS =
-## OPT_FLAGS_SOS = -xO3
-## OPT_FLAGS_GCC = -O2 -pipe
-##
-## The compiler to use. This can be also: SOS11, GCC3, GCC4.
-## Specifying GNU will default to GCC4, specifying SUN will default to SOS12
-## GARCOMPILER = SOS12
-##
-# Remove the following rules and uncomment the
-# include before building.
-all: .DEFAULT
-.DEFAULT:
-	@true
 
-#include gar/category.mk
+PACKAGES += CSWlibhello0
+CATALOGNAME_CSWlibhello0 = libhello0
+PKGFILES_CSWlibhello0 += $(call baseisadirs,$(libdir),libhello\.so\.0(\.\d+)*)
+SPKG_DESC_CSWlibhello0 += $(DESCRIPTION), libhello.so.0
+RUNTIME_DEP_PKGS_CSWhello += CSWlibhello0
+
+prefix = $(BUILD_PREFIX)/foo
+libdir = $(BUILD_PREFIX)/lib
+BUILD64 = 1
+
+include gar/category.mk
+
+post-merge:
+	$(FILEDIR)/check_pkgroot.sh "$(PKGROOT)"

Modified: csw/mgar/pkg/examples/64-bit/trunk/checksums
===================================================================
--- csw/mgar/pkg/template/trunk/checksums	2011-09-24 08:01:34 UTC (rev 15728)
+++ csw/mgar/pkg/examples/64-bit/trunk/checksums	2011-10-02 09:45:15 UTC (rev 15826)
@@ -0,0 +1 @@
+e2f152436f9367f6aa37aa1b696ab9da  hello-0.1.1.tar.gz

Copied: csw/mgar/pkg/examples/64-bit/trunk/files/check_pkgroot.sh (from rev 15728, csw/mgar/pkg/postgresql/branches/postgresql-9.0/files/check_pkgroot.sh)
===================================================================
--- csw/mgar/pkg/examples/64-bit/trunk/files/check_pkgroot.sh	                        (rev 0)
+++ csw/mgar/pkg/examples/64-bit/trunk/files/check_pkgroot.sh	2011-10-02 09:45:15 UTC (rev 15826)
@@ -0,0 +1,41 @@
+#!/opt/csw/bin/bash
+# $Id$
+
+set -u
+set -e
+set -x
+
+declare -r PKGROOT="$1"
+
+function must_not_exist {
+local f="$1"
+if [[ -e "$f" ]]; then
+  echo "'$f' must not exist, but it does"
+  return 1
+else
+  echo "good, '$f' does not exist"
+  return 0
+fi
+}
+
+function must_exist {
+local f="$1"
+if [[ -e "$f" ]]; then
+  echo "good, '$f' exists"
+  return 0
+else
+  echo "'$f' must exist, but it doesn't"
+  return 1
+fi
+}
+
+if [[ -z "${PKGROOT}" ]]
+then
+  echo "Please pass PKGROOT as an argument."
+  exit 1
+fi
+
+tree ${PKGROOT}/opt/csw
+
+must_not_exist ${PKGROOT}/opt/csw/foo/lib/sparcv9/libhello.so.0.0.0
+must_exist ${PKGROOT}/opt/csw/lib/sparcv9/libhello.so.0.0.0

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the devel mailing list