--- a/exception_lists/packaging Fri May 20 21:05:21 2011 -0700
+++ b/exception_lists/packaging Mon May 23 12:14:08 2011 -0700
@@ -78,3 +78,11 @@
# Don't install until we move off HAL .fdi file for synaptics
usr/share/X11/xorg.conf.d/50-synaptics.conf i386
+
+# Only need the normal *.pyc compiled byte-code, not the "optimized" *.pyo
+usr/lib/python2.6/vendor-packages/xcbgen/__init__.pyo
+usr/lib/python2.6/vendor-packages/xcbgen/error.pyo
+usr/lib/python2.6/vendor-packages/xcbgen/expr.pyo
+usr/lib/python2.6/vendor-packages/xcbgen/matcher.pyo
+usr/lib/python2.6/vendor-packages/xcbgen/state.pyo
+usr/lib/python2.6/vendor-packages/xcbgen/xtypes.pyo
--- a/open-src/common/Makefile.inc Fri May 20 21:05:21 2011 -0700
+++ b/open-src/common/Makefile.inc Mon May 23 12:14:08 2011 -0700
@@ -518,6 +518,7 @@
CPPFLAGS="$(DEFAULT_CONFIG_CPPFLAGS) $(MODTYPE_CPPFLAGS) $(MODULE_CPPFLAGS)" \
LDFLAGS="$(DEFAULT_CONFIG_LDFLAGS) $(MODTYPE_CFLAGS) $(MODTYPE_LDFLAGS) $(MODULE_CFLAGS) $(MODULE_LDFLAGS)" \
PKG_CONFIG_PATH="$(DEFAULT_PKG_CONFIG_PATH)" \
+ PYTHON="$(PYTHON)" PYTHONPATH="$(PYTHON_PATH)" \
INSTALL="$(INSTALL_SCRIPT)" CPPROG="cp -p" \
MAKE="$(MODULE_MAKE)" CONFIG_SHELL="$(CONFIG_SHELL)"
@@ -553,6 +554,7 @@
PROTODIR='$(PROTODIR)' \
MAKE='$(MODULE_MAKE)' \
MKDIRPROG='mkdir -p' \
+ PYTHONPATH="$(PYTHON_PATH)" \
$(MODTYPE_BUILD_ENV) $(MODULE_BUILD_ENV)
DEFAULT_BUILD_MAKEFLAGS=$(MODTYPE_MAKEFLAGS) $(MODULE_MAKEFLAGS) \
@@ -570,16 +572,20 @@
build-in-subdir:
$(DEFAULT_BUILD_COMMAND:@DIR@=$(subdir)) $(subdir_cmd)
+INSTALL_ENV = $(BUILD_ENV) \
+ INSTALL="$(INSTALL_SCRIPT)" CPPROG="cp -p" \
+ $(MODTYPE_INSTALL_ENV) $(MODULE_INSTALL_ENV)
+
DEFAULT_INSTALL_MAKEFLAGS= -e DESTDIR=$(PROTODIR) \
pkgconfigdir=$(MODULE_PKGCONFIG_DIR) \
$(MODTYPE_MAKEFLAGS) $(MODULE_MAKEFLAGS) \
- $(MODTYPE_INSTALL_MAKEFLAGS) $(MODULE_INSTALL_MAKEFLAGS) \
+ $(MODTYPE_INSTALL_MAKEFLAGS) $(MODULE_INSTALL_MAKEFLAGS)
# Dependencies for make install step
INSTALL_DEPS = $(BUILD_TARGETS) $(MODTYPE_INSTALL_DEPS) $(MODULE_INSTALL_DEPS)
DEFAULT_INSTALL_COMMAND = cd @DIR@ ; \
- $(BUILD_ENV) $(MODULE_MAKE) $(MAKEFLAGS) $(DEFAULT_INSTALL_MAKEFLAGS)
+ $(INSTALL_ENV) $(MODULE_MAKE) $(MAKEFLAGS) $(DEFAULT_INSTALL_MAKEFLAGS)
default_install: $(INSTALL_DEPS)
$(DEFAULT_INSTALL_COMMAND:@DIR@=$(SOURCE_DIR)) install
--- a/open-src/common/Makefile.init Fri May 20 21:05:21 2011 -0700
+++ b/open-src/common/Makefile.init Mon May 23 12:14:08 2011 -0700
@@ -280,6 +280,13 @@
### Other tools needed to build
+## Python tools & paths
+# When changing PYTHON_VERSION, check that PYTHON_PKG_VERSION &
+# PYTHON_PATH_VERSION are still set correctly in pkg/Makefile
+PYTHON_VERSION=2.6
+PYTHON=/usr/bin/python$(PYTHON_VERSION)
+PYTHON_PATH=$(PROTODIR)/usr/lib/python$(PYTHON_VERSION)/vendor-packages:$(PROTODIR)/usr/lib/python$(PYTHON_VERSION)/site-packages:/usr/lib/python$(PYTHON_VERSION)/vendor-packages:/usr/lib/python$(PYTHON_VERSION)/site-packages
+
# Script used to install files in proto area
INSTALL_SCRIPT=$(TOP)/open-src/common/install-sh -c
--- a/open-src/lib/libxcb/Makefile Fri May 20 21:05:21 2011 -0700
+++ b/open-src/lib/libxcb/Makefile Mon May 23 12:14:08 2011 -0700
@@ -51,6 +51,9 @@
xcb_conn.c.3.patch \
Makefile.am.4.patch
+# Regenerate Makefile.in's from Makefile.am's after patching them
+AUTORECONF=yes
+
# Library name (used for specfiles/mapfiles)
LIBNAME=xcb
@@ -62,15 +65,6 @@
MODULE_LD_OPTIONS = -z ignore -lc
LD_LIBRARY_PATH=$(PROTODIR)/usr/lib$(ARCHLIBSUBDIR)
-# We need Python
-PYTHON_VERSION=2.6
-PYTHON=/usr/bin/python$(PYTHON_VERSION)
-PYTHON_PATH=$(PROTODIR)/usr/lib/python$(PYTHON_VERSION)/vendor-packages:$(PROTODIR)/usr/lib/python$(PYTHON_VERSION)/site-packages:/usr/lib/python$(PYTHON_VERSION)/site-packages:/usr/lib/python$(PYTHON_VERSION)/vendor-packages
-PYTHONPATH=$(PYTHON_PATH)
-
-# We want GNU cp
-GNUCP=/usr/gnu/bin/cp
-
# Command line options to GNU autoconf configure script
MODULE_CONFIG_OPTS = $(MODTYPE_CONFIG_OPTS) \
--disable-libtool-lock \
@@ -104,28 +98,7 @@
# Work around libtool's interference
DELIBTOOLIZE=yes
-MODULE_CPPFLAGS = -I$(PROTODIR)/usr/include/X11 \
- -I$(PROTODIR)/usr/include
-
# pkg-config files that need to have -R added
FIX_PC_FILES=*.pc.in
include ../Makefile.inc
-
-# Regenerate Makefile.in's from Makefile.am's after patching them
-AUTORECONF=yes
-AUTORECONF_FLAGS = -vif
-
-# We need PYTHON and PYTHONPATH in our environment
-MODULE_BUILD_ENV = PYTHON="$(PYTHON)" \
- PYTHONPATH="$(PYTHON_PATH)" \
- PROTODIR="$(PROTODIR)" \
- CC="$(CC)" \
- CFLAGS="$(CFLAGS)" \
- CPPFLAGS="$(CPPFLAGS)" \
- LDFLAGS="$(LDFLAGS)" \
- LD_OPTIONS="$(MODULE_LD_OPTIONS)" \
- LD="$(CC) $(CFLAGS) $(LDFLAGS)" \
- LD_LIBRARY_PATH="$(LD_LIBRARY_PATH)" \
- LD_OPTIONS="$(MODULE_LD_OPTIONS)"
-
--- a/open-src/proto/xcbproto/Makefile Fri May 20 21:05:21 2011 -0700
+++ b/open-src/proto/xcbproto/Makefile Mon May 23 12:14:08 2011 -0700
@@ -48,15 +48,6 @@
# Merge in additional sources from sun-src directory
ADDITIONAL_SOURCE_DIR=sun-src
-# We need Python
-PYTHON_VERSION=2.6
-PYTHON=/usr/bin/python$(PYTHON_VERSION)
-PYTHON_PATH=$(PROTODIR)/usr/lib/python$(PYTHON_VERSION)/vendor-packages:$(PROTODIR)/usr/lib/python$(PYTHON_VERSION)/site-packages:/usr/lib/python$(PYTHON_VERSION)/site-packages:/usr/lib/python$(PYTHON_VERSION)/vendor-packages
-
-# We want to use the PYTHON set above in our environment
-MODULE_BUILD_ENV = PYTHON="$(PYTHON)" \
- PYTHONPATH="$(PYTHON_PATH)"
-
### Include common rulesets
include ../Makefile.inc
--- a/pkg/Makefile Fri May 20 21:05:21 2011 -0700
+++ b/pkg/Makefile Mon May 23 12:14:08 2011 -0700
@@ -186,28 +186,35 @@
-e "s{_HG_ID_}{$${HG_ID}}" transforms/versions.tmpl > $@
# Set variables used by pkgmogrify
+# These are the macros that may be used in package manifests
+PKGMOG_DEFINES =
+
# Most upstream packages provide specific version numbers instead of using
# the default of $(OSPKGVERS)
# Some use $(X11PKGVERS) to refer to the X11 katamari version since they
# bundle together components from multiple upstream packages with individual
# version numbers
-X11PKGVERS = 7.6
-OSPKGVERS = 0.$(RELEASE)
+PKGMOG_DEFINES += X11PKGVERS=7.6
+PKGMOG_DEFINES += OSPKGVERS=0.$(RELEASE)
# Base URL for ARC cases used in opensolaris.arc_url metadata
-ARC_URL=http://arc.opensolaris.org/caselog/
+PKGMOG_DEFINES += ARC_URL='http://arc.opensolaris.org/caselog/'
+
+# Platform specific choices
+PKGMOG_DEFINES += i386_ONLY=$(POUND_SIGN) sparc_ONLY=$(POUND_SIGN)
+PKGMOG_DEFINES += $(PKGMACH)_ONLY=
-# These are the macros that may be used in package manifests
-PKGMOG_DEFINES= \
- i386_ONLY=$(POUND_SIGN) \
- sparc_ONLY=$(POUND_SIGN) \
- $(PKGMACH)_ONLY= \
- ARCH=$(PKGMACH) \
- ARCH32=$(SUBDIR32_$(PKGMACH)) \
- ARCH64=$(SUBDIR64_$(PKGMACH)) \
- OSPKGVERS=$(OSPKGVERS) \
- X11PKGVERS=$(X11PKGVERS) \
- ARC_URL='$(ARC_URL)'
+# Architecture specific directory names
+PKGMOG_DEFINES += ARCH=$(PKGMACH)
+PKGMOG_DEFINES += ARCH32=$(SUBDIR32_$(PKGMACH))
+PKGMOG_DEFINES += ARCH64=$(SUBDIR64_$(PKGMACH))
+
+# Python version string used in path names, such as /usr/lib/python2.6
+PKGMOG_DEFINES += PYTHON_PATH_VERSION=$(PYTHON_VERSION)
+# Python version string used in package names, such as pkg:/runtime/python-26
+PYTHON_PKG_VERSION_CMD = print $(PYTHON_VERSION) | tr -d '.'
+PKGMOG_DEFINES += PYTHON_PKG_VERSION=$(PYTHON_PKG_VERSION_CMD:sh)
+
# Default transformations to apply
PM_TRANSFORMS = $(PKG_BRANDING_TRANSFORMS) \
@@ -419,7 +426,7 @@
print "## Publishing $(@F:%.pub=%) to proto repository"; \
pkgsend -s file://$(PKGDEST) publish -d $(PKGROOT) \
-d license_files -d $(PROTOMETA)/$(@F:%.pub=%) \
- --fmri-in-manifest --no-index --no-catalog \
+ --fmri-in-manifest --no-index --no-catalog -T '*.py' \
$(@:%.pub=%.res) > /dev/null; \
fi; \
$(TOUCH) $(@)
--- a/pkg/manifests/developer-opensolaris-X.p5m Fri May 20 21:05:21 2011 -0700
+++ b/pkg/manifests/developer-opensolaris-X.p5m Mon May 23 12:14:08 2011 -0700
@@ -125,7 +125,7 @@
depend fmri=pkg:/library/ncurses type=require
# Mesa 7.10.2 requires libxml2 python module
-depend fmri=pkg:/library/python-2/libxml2-26 type=require
+depend fmri=pkg:/library/python-2/libxml2-$(PYTHON_PKG_VERSION) type=require
# libXfont & libfontenc link with libz
depend fmri=pkg:/library/zlib type=require
@@ -135,6 +135,9 @@
depend fmri=pkg:/runtime/perl-584 type=require
depend fmri=pkg:/runtime/perl-584/extra type=require
+# xcb & mesa require python interpreter/compiler
+depend fmri=pkg:/runtime/python-$(PYTHON_PKG_VERSION) type=require
+
# Xserver currently links with HAL & Dbus
depend fmri=pkg:/service/hal type=require
--- a/pkg/manifests/x11-library-libxcb.p5m Fri May 20 21:05:21 2011 -0700
+++ b/pkg/manifests/x11-library-libxcb.p5m Mon May 23 12:14:08 2011 -0700
@@ -29,6 +29,9 @@
<transform file path=usr/share/doc/libxcb/tutorial/.*\.html$ -> default facet.devel true>
<transform file path=usr/share/doc/libxcb/.*\.css$ -> default facet.devel true>
<transform file path=usr/share/doc/libxcb/tutorial/.*\.css$ -> default facet.devel true>
+# Autogenerate *.pyc manifest entries for each *.py file
+<transform file path=.*\.py$ -> emit file path=%(path)c>
+
set name=pkg.fmri value=pkg:/x11/library/libxcb@__version:libxcb__
set name=pkg.description \
@@ -40,9 +43,9 @@
dir path=usr/lib
dir path=usr/lib/pkgconfig
dir path=usr/lib/$(ARCH64)
-dir path=usr/lib/python2.6
-dir path=usr/lib/python2.6/vendor-packages
-dir path=usr/lib/python2.6/vendor-packages/xcbgen
+dir path=usr/lib/python$(PYTHON_PATH_VERSION)
+dir path=usr/lib/python$(PYTHON_PATH_VERSION)/vendor-packages
+dir path=usr/lib/python$(PYTHON_PATH_VERSION)/vendor-packages/xcbgen
dir path=usr/lib/$(ARCH64)/pkgconfig
dir path=usr/share
dir path=usr/share/doc
@@ -256,24 +259,12 @@
file path=usr/share/xcb/xv.xml
file path=usr/share/xcb/xcb.xsd
#
-file path=usr/lib/python2.6/vendor-packages/xcbgen/error.py
-file path=usr/lib/python2.6/vendor-packages/xcbgen/error.pyc
-file path=usr/lib/python2.6/vendor-packages/xcbgen/error.pyo
-file path=usr/lib/python2.6/vendor-packages/xcbgen/expr.py
-file path=usr/lib/python2.6/vendor-packages/xcbgen/expr.pyc
-file path=usr/lib/python2.6/vendor-packages/xcbgen/expr.pyo
-file path=usr/lib/python2.6/vendor-packages/xcbgen/__init__.py
-file path=usr/lib/python2.6/vendor-packages/xcbgen/__init__.pyc
-file path=usr/lib/python2.6/vendor-packages/xcbgen/__init__.pyo
-file path=usr/lib/python2.6/vendor-packages/xcbgen/matcher.py
-file path=usr/lib/python2.6/vendor-packages/xcbgen/matcher.pyc
-file path=usr/lib/python2.6/vendor-packages/xcbgen/matcher.pyo
-file path=usr/lib/python2.6/vendor-packages/xcbgen/state.py
-file path=usr/lib/python2.6/vendor-packages/xcbgen/state.pyc
-file path=usr/lib/python2.6/vendor-packages/xcbgen/state.pyo
-file path=usr/lib/python2.6/vendor-packages/xcbgen/xtypes.py
-file path=usr/lib/python2.6/vendor-packages/xcbgen/xtypes.pyc
-file path=usr/lib/python2.6/vendor-packages/xcbgen/xtypes.pyo
+file path=usr/lib/python$(PYTHON_PATH_VERSION)/vendor-packages/xcbgen/__init__.py
+file path=usr/lib/python$(PYTHON_PATH_VERSION)/vendor-packages/xcbgen/error.py
+file path=usr/lib/python$(PYTHON_PATH_VERSION)/vendor-packages/xcbgen/expr.py
+file path=usr/lib/python$(PYTHON_PATH_VERSION)/vendor-packages/xcbgen/matcher.py
+file path=usr/lib/python$(PYTHON_PATH_VERSION)/vendor-packages/xcbgen/state.py
+file path=usr/lib/python$(PYTHON_PATH_VERSION)/vendor-packages/xcbgen/xtypes.py
#
depend fmri=pkg:/x11/header/x11-protocols type=require facet.devel=true
# pkg-config dependency from xcb.pc