Norm Jacobs
2011-01-14 4b89a19a52eb2439c6209050c1e465d2d5e2c55e
7011369 gmake complains about fresh userland bits
7011699 USERLAND prefix relocation is broken
7011719 userland doesn't need to be able to build python 2.4 bits.
7011956 userland-fetch friendliness enhancements
6 files modified
80 ■■■■■ changed files
components/Makefile 6 ●●●● patch | view | raw | blame | history
components/a2ps/Makefile 6 ●●●●● patch | view | raw | blame | history
make-rules/configure.mk 27 ●●●● patch | view | raw | blame | history
make-rules/setup.py.mk 4 ●●● patch | view | raw | blame | history
make-rules/shared-macros.mk 7 ●●●● patch | view | raw | blame | history
tools/userland-fetch 30 ●●●●● patch | view | raw | blame | history
components/Makefile
@@ -18,7 +18,7 @@
#
# CDDL HEADER END
#
# Copyright (c) 2010, Oracle and/or it's affiliates.  All rights reserved.
# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
#
include ../make-rules/shared-macros.mk
@@ -36,7 +36,7 @@
    @$(BASS_O_MATIC) --workspace=$(WS_TOP) --components=paths \
        | sed -e 's;^$(shell pwd)/;COMPONENT_DIRS += ;g' >$@
include components.mk
-include components.mk
download:        TARGET = download
@@ -98,6 +98,6 @@
    @$(BASS_O_MATIC) --workspace=$(WS_TOP) --components=depend \
        | sed -e 's;$(shell pwd)/;;g' >$@
include depends.mk
-include depends.mk
FORCE:
components/a2ps/Makefile
@@ -18,7 +18,7 @@
#
# CDDL HEADER END
#
# Copyright (c) 2010, Oracle and/or it's affiliates.  All rights reserved.
# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
#
include ../../make-rules/shared-macros.mk
@@ -37,12 +37,10 @@
include ../../make-rules/configure.mk
include ../../make-rules/ips.mk
CONFIGURE_OPTIONS  +=        --prefix=/usr
CONFIGURE_OPTIONS  +=        --enable-shared
CONFIGURE_OPTIONS  +=        --disable-static
CONFIGURE_OPTIONS  +=        --sysconfdir=/etc/gnu
CONFIGURE_OPTIONS  +=        --mandir=/usr/share/man
CONFIGURE_OPTIONS  +=        --infodir=/usr/share/info
CONFIGURE_OPTIONS  +=        --infodir=$(CONFIGURE_INFODIR)
CONFIGURE_OPTIONS  +=        --with-medium=letter
# because viewpathing isn't quite right in this version of a2ps
make-rules/configure.mk
@@ -18,7 +18,7 @@
#
# CDDL HEADER END
#
# Copyright (c) 2010, 2011 Oracle and/or it's affiliates.  All rights reserved.
# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
#
#
@@ -45,20 +45,33 @@
#
# If component specific make targets need to be used for build or install, they
# can be specified in
#    COMPONENT_BUILD_TARGETS, COMPONENT_INSTALL_TARGETS
#
CONFIG_SHELL =    /bin/bash
CONFIGURE_PREFIX =    /usr
CONFIGURE_BINDIR.32 =    $(CONFIGURE_PREFIX)/bin
CONFIGURE_BINDIR.64 =    $(CONFIGURE_PREFIX)/bin/$(MACH64)
CONFIGURE_LIBDIR.32 =    $(CONFIGURE_PREFIX)/lib
CONFIGURE_LIBDIR.64 =    $(CONFIGURE_PREFIX)/lib/$(MACH64)
CONFIGURE_MANDIR =    $(CONFIGURE_PREFIX)/share/man
CONFIGURE_LOCALEDIR =    $(CONFIGURE_PREFIX)/share/locale
# all texinfo documentation seems to go to /usr/share/info no matter what
CONFIGURE_INFODIR =    /usr/share/info
CONFIGURE_ENV = CONFIG_SHELL="$(CONFIG_SHELL)"
CONFIGURE_OPTIONS += --prefix=/usr
CONFIGURE_OPTIONS += CC="$(CC)"
CONFIGURE_OPTIONS += CXX="$(CCC)"
CONFIGURE_OPTIONS.32 += --bindir=/usr/bin
CONFIGURE_OPTIONS.32 += --libdir=/usr/lib
CONFIGURE_OPTIONS.64 += --bindir=/usr/bin/$(MACH64)
CONFIGURE_OPTIONS.64 += --libdir=/usr/lib/$(MACH64)
CONFIGURE_OPTIONS += --prefix=$(CONFIGURE_PREFIX)
CONFIGURE_OPTIONS += --mandir=$(CONFIGURE_MANDIR)
CONFIGURE_OPTIONS += --bindir=$(CONFIGURE_BINDIR.$(BITS))
CONFIGURE_OPTIONS += --libdir=$(CONFIGURE_LIBDIR.$(BITS))
COMPONENT_INSTALL_ARGS +=    DESTDIR=$(PROTO_DIR)
$(COMPONENT_SRC)/build-$(MACH32)/.configured:    BITS=32
$(COMPONENT_SRC)/build-$(MACH64)/.configured:    BITS=64
@@ -89,6 +102,6 @@
$(COMPONENT_SRC)/build-%/.installed:    $(COMPONENT_SRC)/build-%/.built
    $(COMPONENT_PRE_INSTALL_ACTION)
    (cd $(@D) ; $(ENV) $(COMPONENT_INSTALL_ENV) $(GMAKE) \
            DESTDIR=$(PROTO_DIR) $(COMPONENT_INSTALL_TARGETS))
            $(COMPONENT_INSTALL_ARGS) $(COMPONENT_INSTALL_TARGETS))
    $(COMPONENT_POST_INSTALL_ACTION)
    $(TOUCH) $@
make-rules/setup.py.mk
@@ -18,16 +18,14 @@
#
# CDDL HEADER END
#
# Copyright (c) 2010, Oracle and/or it's affiliates.  All rights reserved.
# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
#
$(COMPONENT_SRC)/build-%-2.6/.built:        PYTHON_VERSION=2.6
$(COMPONENT_SRC)/build-%-2.4/.built:        PYTHON_VERSION=2.4
$(COMPONENT_SRC)/build-$(MACH32)-%/.built:    BITS=32
$(COMPONENT_SRC)/build-$(MACH64)-%/.built:    BITS=64
$(COMPONENT_SRC)/build-%-2.6/.installed:    PYTHON_VERSION=2.6
$(COMPONENT_SRC)/build-%-2.4/.installed:    PYTHON_VERSION=2.4
$(COMPONENT_SRC)/build-$(MACH32)-%/.installed:    BITS=32
$(COMPONENT_SRC)/build-$(MACH64)-%/.installed:    BITS=64
make-rules/shared-macros.mk
@@ -18,7 +18,7 @@
#
# CDDL HEADER END
#
# Copyright (c) 2010, Oracle and/or it's affiliates.  All rights reserved.
# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
#
PATH=/usr/bin:/usr/gnu/bin
@@ -42,7 +42,7 @@
COMPILER =        studio
BITS =            32
PYTHON_VERSION =    2.6
PYTHON_VERSIONS =    2.4 2.6
PYTHON_VERSIONS =    2.6
WS_LOGS =    $(WS_TOP)/logs
WS_REPO =    $(WS_TOP)/repo
@@ -112,9 +112,6 @@
CCC =        $(CCC.$(COMPILER).$(BITS))
LD =        /usr/bin/ld
PYTHON.2.4.32 =    /usr/bin/python2.4
PYTHON.2.4.64 =    /usr/bin/$(MACH64)/python2.4
PYTHON.2.6.32 =    /usr/bin/python2.6
PYTHON.2.6.64 =    /usr/bin/$(MACH64)/python2.6
tools/userland-fetch
@@ -19,7 +19,7 @@
#
# CDDL HEADER END
#
# Copyright (c) 2010, Oracle and/or it's affiliates.  All rights reserved.
# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
#
#
# fetch.py - a file download utility
@@ -41,10 +41,7 @@
    except IOError:
        return False
    if (hash == None):
        return True
    algorithm, value = hash.split(':')
    algorithm, hashvalue = hash.split(':')
    try:
        m = hashlib.new(algorithm)
    except ValueError:
@@ -56,7 +53,7 @@
        if block == '':
            break
    return m.hexdigest() == value
    return "%s:%s" % (algorithm, m.hexdigest())
def download(url, filename = None):
    src = None
@@ -158,30 +155,37 @@
        if scheme in [ None, 'file' ]:
            if os.path.exists(path) == False:
                print "not found, skipping"
                print "not found, skipping file copy"
                continue
            elif name != path:
                if link_arg == False:
                    print "copying...",
                    print "\n    copying..."
                    shutil.copy2(path, name)
                else:
                    print "linking...",
                    print "\n    linking..."
                    os.symlink(path, name)
            else:
                pass
        elif scheme in [ 'http', 'https', 'ftp' ]:
            print "downloading...",
            print "\n    downloading...",
            name = download(url, file_arg)
            if name == None:
                print "failed"
                continue
        print "validating...",
        if validate(name, hash_arg):
        print "\n    validating...",
        if hash_arg == None:
            print "skipping (no hash)"
            sys.exit(0)
        realhash = validate(name, hash_arg)
        if realhash == hash_arg:
            print "ok"
            sys.exit(0)
        else:
            print "corrupt"
            print "corruption detected"
            print "    expected: %s" % hash_arg
            print "    actual:   %s" % realhash
        try:
            os.remove(name)