Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

OS-2086 smartos-live gmake clean misses proto.boot

OS-2102 smartos-live should support generating pkgsrc packages
OS-2103 Need packages for various build tools
OS-2104 configure needs to install new smartos-live build packages
OS-2105 missing a pkgin update can lead to weird behavior
OS-2106 configure needs to point ON in the right direction
  • Loading branch information...
commit 144505fc7a5f0c79094bb083c38015c862d89964 1 parent 46b32d2
@rmustacc rmustacc authored
View
1  .gitignore
@@ -63,3 +63,4 @@ boot.manifest.d/
manifest.d/
overlay/order
overlay/sdc
+pkgsrc/*.tgz
View
9 Makefile
@@ -13,6 +13,7 @@ PATH = /usr/bin:/usr/sbin:/sbin:/opt/local/bin
LOCAL_SUBDIRS := $(shell ls projects/local)
OVERLAYS := $(shell cat overlay/order)
+PKGSRC = $(ROOT)/pkgsrc
MANIFEST = manifest.gen
BOOT_MANIFEST = boot.manifest.gen
JSSTYLE = $(ROOT)/tools/jsstyle/jsstyle
@@ -52,6 +53,10 @@ live: world manifest boot
boot: $(BOOT_TARBALL)
+.PHONY: pkgsrc
+pkgsrc:
+ cd $(PKGSRC) && gmake install
+
$(BOOT_TARBALL): world manifest
pfexec rm -rf $(BOOT_PROTO)
mkdir -p $(BOOT_PROTO)
@@ -217,9 +222,11 @@ clean:
gmake clean; \
fi; \
done
+ (cd $(PKGSRC) && gmake clean)
(cd $(ROOT) && rm -rf $(PROTO))
(cd $(ROOT) && rm -rf $(STRAP_PROTO))
- (cd $(ROOT) && mkdir -p $(PROTO) $(STRAP_PROTO))
+ (cd $(ROOT) && rm -rf $(BOOT_PROTO))
+ (cd $(ROOT) && mkdir -p $(PROTO) $(STRAP_PROTO) $(BOOT_PROTO))
rm -f 0-*-stamp 1-*-stamp
.PHONY: manifest check jsl
View
23 configure
@@ -15,7 +15,7 @@
#
#
-# Copyright (c) 2012 Joyent, Inc.
+# Copyright (c) 2013 Joyent, Inc.
#
shopt -s xpg_echo
unalias -a
@@ -28,6 +28,7 @@ conf_arg0_dir=$(dirname $0)
conf_root=$PWD
conf_ips=
conf_priv="pfexec"
+conf_pkgsrcurl="https://download.joyent.com/pub/build/pkgsrc"
function warn
{
@@ -74,6 +75,7 @@ function source_vars
function install_pkgin
{
+ pkgin -f update || fatal "failed to update pkgsrc repository"
for pkg in gmake binutils autoconf automake bison flex libtool-base \
python26 py26-expat libxslt gcc-compiler sun-jre6 sun-jdk6 gmp \
mpfr nodejs p5-XML-Parser gettext; do
@@ -82,6 +84,20 @@ function install_pkgin
"failed to install $pkg"
fi
done
+
+ #
+ # Packages not in pkgsrc
+ #
+ for pkg in dmake sgstools rpcgen astmsgtools; do
+ if ! pkg_info -qe $pkg; then
+ curl -k "$conf_pkgsrcurl/$pkg.tgz" -o \
+ /var/tmp/$pkg.tgz || fatal \
+ "failed to fetch $pkg.tgz"
+ $conf_priv pkg_add /var/tmp/$pkg.tgz || fatal \
+ "failed to pkg_add $pkg"
+ rm -f /var/tmp/$pkg.tgz
+ fi
+ done
}
function install_ips
@@ -270,6 +286,11 @@ NM=/usr/bin/nm; export NM
STRIP=/usr/bin/strip; export STRIP
TSORT=/usr/bin/tsort; export TSORT
AR=/usr/bin/ar; export AR
+MAKE="$conf_root/proto.strap/usr/bin/dmake"; export MAKE
+LEX=/opt/local/bin/lex; export LEX
+YACC=/opt/local/bin/yacc; export YACC
+RPCGEN=/opt/local/bin/rpcgen; export RPCGEN
+ASTBINDIR=/opt/local/ast/bin; export ASTBINDIR
EOF
[[ $? -eq 0 ]] || fatal "failed to write illumos nightly env file"
}
View
56 pkgsrc/Makefile
@@ -0,0 +1,56 @@
+#!/usr/bin/bash
+#
+# CDDL HEADER START
+#
+# This file and its contents are supplied under the terms of the
+# Common Development and Distribution License ("CDDL"), version 1.0.
+# You may only use this file in accordance with the terms of version
+# 1.0 of the CDDL.
+#
+# A full copy of the text of the CDDL should have accompanied this
+# source. A copy of the CDDL is also available via the Internet at
+# http://www.illumos.org/license/CDDL.
+#
+# CDDL HEADER END
+#
+
+ROOT = $(PWD)/..
+PROTO = $(ROOT)/proto
+PROTO_PKGSRC = $(ROOT)/proto.pkgsrc
+VERSION = $(shell /usr/bin/date +%Y%m%d)
+PKG_CREATE = /opt/local/sbin/pkg_create
+PKGSRC_PREFIX = /opt/local
+
+PACKAGES = \
+ dmake \
+ sgstools \
+ astmsgtools \
+ rpcgen
+
+PKGSRC_TGZS := $(PACKAGES:%=%-$(VERSION).tgz)
+
+%-$(VERSION).tgz: %/build-info %/comment %/description %/packlist %/prefix
+ rm -f $*-$(VERSION).tgz
+ cd $* && \
+ $(PKG_CREATE) \
+ -B build-info \
+ -c comment \
+ -d description \
+ -f packlist \
+ -I $(PKGSRC_PREFIX) \
+ -p $(PROTO)/$$(cat prefix) \
+ -U $*-$(VERSION).tgz
+ mv $*/$*-$(VERSION).tgz .
+
+all: $(PKGSRC_TGZS)
+
+install: all
+ mkdir -p $(PROTO_PKGSRC)
+ rm -f $(PROTO_PKGSRC)/*
+ cp *.tgz $(PROTO_PKGSRC)/
+
+clean:
+ rm -f $(PROTO_PKGSRC)/*
+ rm -f *.tgz
+
+clobber: clean
View
4 pkgsrc/astmsgtools/build-info
@@ -0,0 +1,4 @@
+MACHINE_ARCH=i386
+OPSYS=SunOS
+OS_VERSION=5.11
+PKGTOOLS_VERSION=20091115
View
1  pkgsrc/astmsgtools/comment
@@ -0,0 +1 @@
+illumos ast message tools
View
7 pkgsrc/astmsgtools/description
@@ -0,0 +1,7 @@
+This package contains the illumos message generation tools that are used as a
+part of the illumos build process. This contains the following commands:
+ o msgget
+ o msgcvt
+ o msgcpp
+ o msggen
+ o msgcc
View
11 pkgsrc/astmsgtools/packlist
@@ -0,0 +1,11 @@
+ast/bin/msgget
+ast/bin/msgcvt
+ast/bin/msgcpp
+ast/bin/msggen
+ast/bin/msgcc
+@src share
+man/man1/msgget.1
+man/man1/msgcvt.1
+man/man1/msgcpp.1
+man/man1/msggen.1
+man/man1/msgcc.1
View
1  pkgsrc/astmsgtools/prefix
@@ -0,0 +1 @@
+/usr
View
4 pkgsrc/dmake/build-info
@@ -0,0 +1,4 @@
+MACHINE_ARCH=i386
+OPSYS=SunOS
+OS_VERSION=5.11
+PKGTOOLS_VERSION=20091115
View
1  pkgsrc/dmake/comment
@@ -0,0 +1 @@
+illumos version of 'make'
View
5 pkgsrc/dmake/description
@@ -0,0 +1,5 @@
+Make is a tool which controls the generation of executables and
+other non-source files of a program from the program's source files.
+
+dmake is the open source version of Sun's make(1) utility maintained by
+illumos.
View
5 pkgsrc/dmake/packlist
@@ -0,0 +1,5 @@
+bin/dmake
+lib/64
+lib/libmakestate.so.1
+lib/amd64/libmakestate.so.1
+share/lib/make/make.rules
View
1  pkgsrc/dmake/prefix
@@ -0,0 +1 @@
+/opt/local
View
4 pkgsrc/rpcgen/build-info
@@ -0,0 +1,4 @@
+MACHINE_ARCH=i386
+OPSYS=SunOS
+OS_VERSION=5.11
+PKGTOOLS_VERSION=20091115
View
1  pkgsrc/rpcgen/comment
@@ -0,0 +1 @@
+illumos XDR RPC generation tool
View
1  pkgsrc/rpcgen/description
@@ -0,0 +1 @@
+This package has the illumos version of the XDR RPC generation tools.
View
3  pkgsrc/rpcgen/packlist
@@ -0,0 +1,3 @@
+bin/rpcgen
+@src share
+man/man1/rpcgen.1
View
1  pkgsrc/rpcgen/prefix
@@ -0,0 +1 @@
+/usr
View
4 pkgsrc/sgstools/build-info
@@ -0,0 +1,4 @@
+MACHINE_ARCH=i386
+OPSYS=SunOS
+OS_VERSION=5.11
+PKGTOOLS_VERSION=20091115
View
1  pkgsrc/sgstools/comment
@@ -0,0 +1 @@
+illumos versions of the software generation suite tools
View
5 pkgsrc/sgstools/description
@@ -0,0 +1,5 @@
+This package contains the illumos version of several tools from the software
+generation suite that dates back to System V. This package includes the
+following tools:
+ o Lex
+ o Yacc
View
13 pkgsrc/sgstools/packlist
@@ -0,0 +1,13 @@
+bin/lex
+bin/yacc
+lib/amd64/liby.so
+lib/amd64/liby.so.1
+lib/liby.so
+lib/liby.so.1
+share/lib/ccs/yaccpar
+share/lib/ccs/ncform
+share/lib/ccs/nceucform
+@src share
+man/man1/lex.1
+@comment Until we deprecate building 1.3.18 we can't ship the yacc manual page
+@comment man/man1/yacc.1
View
1  pkgsrc/sgstools/prefix
@@ -0,0 +1 @@
+/usr
Please sign in to comment.
Something went wrong with that request. Please try again.