Import of pkgsrc-2013Q2

This commit is contained in:
2013-09-26 17:14:40 +02:00
commit 785076ae39
74991 changed files with 4380255 additions and 0 deletions

53
bootstrap/README Normal file
View File

@@ -0,0 +1,53 @@
$NetBSD: README,v 1.12 2012/01/11 01:15:17 riz Exp $
To try to get pkgsrc working on your system, please try the following
as root:
# ./bootstrap
[ --workdir <workdir> ]
[ --prefix <prefix> ]
[ --pkgdbdir <pkgdbdir> ]
[ --sysconfdir <sysconfdir> ]
[ --varbase <varbase> ]
[ --ignore-case-check ]
[ --ignore-user-check ]
[ --preserve-path ]
[ --help ]
The defaults for the arguments are as follows:
--prefix /usr/pkg
--pkgdbdir /var/db/pkg
--sysconfdir /usr/pkg/etc
--varbase /var
--workdir work
It is perfectly acceptable to place 'pkgdbdir' under 'prefix'.
The working directory will be created if it doesn't exist and has to be
writable by the user executing ./bootstrap.
Make sure that you have a working C compiler and make(1) binary in
your path. Please note that on some systems (IRIX and SunOS, for example),
the bootstrap script will look into a number of common directories for
alternative implementations of some tools. If they are found, these
directories will be prepended to the PATH variable, unless the
'--preserve-path' flag is given.
See pkgsrc/doc/pkgsrc.txt or
http://www.NetBSD.org/docs/software/packages.html for
more information about bootstrapping and using pkgsrc.
We'd be very interested in hearing of any successes or failures on
"unknown" (to us) systems.
Please remember to add $prefix/bin to your PATH environment variable
and $prefix/man to your MANPATH environment variable, if necessary.
(See above for --prefix and its default value.)
The bootstrap script will create an example mk.conf file located
in your work directory as "mk.conf.example". It contains the
settings you provided to the bootstrap. Copy it to your
$sysconfdir directory (see above about --sysconfdir and its default
value). If the default mk.conf doesn't already exist, the example is
copied into place.

41
bootstrap/README.AIX Normal file
View File

@@ -0,0 +1,41 @@
$NetBSD: README.AIX,v 1.4 2007/10/02 18:29:55 heinz Exp $
pkgsrc has been tested on AIX 4.3 and 5.1. It will probably work on
newer releases also.
You will need gcc. gcc 3.3 and 3.4 have been tested. full support for
xlC needs to be written.
Please note the use of GNU binutils on AIX is not supported. You must
not have GNU ld(1) in your path.
If you are using gcc
--------------------
It makes life much simpler if you only use the same gcc consistently
for building all packages.
It is recommended that an external gcc be used only for bootstrapping
gcc from pkgsrc, lang/gcc3 is recommended.
Post bootstrap setup
--------------------
Here is an example mk.conf:
--- Cut here ---
# Configure scripts don't always get this right
MACHINE_GNU_PLATFORM=powerpc-ibm-aix4.3.3.0
CC=gcc
CHECK_SHLIBS=no
RENAME=
USE_GCC3=yes
PKGMAKECONF=${MAKECONF}
--- Cut here ---
You also need to setup a few environment variables:
PKG_DBDIR=/usr/pkg/pkgdb
MAKECONF=/usr/pkg/etc/mk.conf
MAKESYSPATH=/usr/pkg/share/mk
You'll also want to set PATH, MANPATH and LIBPATH

20
bootstrap/README.Cygwin Normal file
View File

@@ -0,0 +1,20 @@
$NetBSD: README.Cygwin,v 1.1 2013/02/22 13:59:47 obache Exp $
Please read the general README file as well.
==========================================================================
pkgsrc supports both gcc (GNU Compiler Collection) and clang (C Language Family
Frontend for LLVM). gcc is the default.
To bootstrap using clang:
env CC=clang ./bootstrap --compiler=clang
==========================================================================
The su(1) command has been in Cygwin distribution, but it has never worked.
Unless you bootstrap pkgsrc with the --unprivileged option, workaround is:
* Right click "Cygwin Terminal" in your Start Menu, then pick
"Run as administrator".

24
bootstrap/README.FreeBSD Normal file
View File

@@ -0,0 +1,24 @@
$NetBSD: README.FreeBSD,v 1.4 2010/12/02 17:12:39 asau Exp $
Please read the general README file as well.
Care should be taken so that the tools that this kit installs do not conflict
with the FreeBSD userland tools. There are several steps:
1. FreeBSD stores its ports pkg database in /var/db/pkg. It is therefore
recommended that you choose a different location (e.g. /usr/pkgdb) by
using the --pkgdbdir option to the bootstrap script.
2. If you do not intend to use the FreeBSD ports tools, it's probably a
good idea to move them out of the way to avoid confusion, e.g.:
cd /usr/sbin
mv pkg_add pkg_add.orig
mv pkg_create pkg_create.orig
mv pkg_delete pkg_delete.orig
mv pkg_info pkg_info.orig
Alternatively, take care to get pkgsrc tools first in PATH.
bootstrap-pkgsrc has been tested on FreeBSD 4.x and 5.x (i386).
pkgsrc works well on FreeBSD 6.2-6.4, 7.1-7.3 (i386).

27
bootstrap/README.HPUX Normal file
View File

@@ -0,0 +1,27 @@
$NetBSD: README.HPUX,v 1.3 2008/01/14 21:32:29 tnn Exp $
Prerequisite patches (downloadable from HP itrc)
------------------------------------------------
* The latest HP-UX "quality pack" patch bundle (GOLDQPK)
* ld(1) cumulative patch (might be included in the above)
Recommended patches
-------------------
* B3394BA Developer's Toolkit (for X11 headers)
* HP C/aC++ compiler
Compiler
--------
Prebuilt GCC toolchains suitable for use with pkgsrc can be downloaded from
ftp://ftp.NetBSD.org/pub/pkgsrc/misc/tnn/ .
Selecting which ABI to use
--------------------------
HP-UX supports the ABIs and object formats listed in the table below.
32-bit is the default, 64-bit can be enabled by setting ABI=64 in mk.conf.
The correct object format to use is autodetected.
Release Architecture ABI Object format
11i v1/v2 PA-RISC 1.1+ 32 SOM
11i v1/v2 PA-RISC 2.0 64 ELF
11i v2/v3 IA64 32/64 ELF

12
bootstrap/README.Haiku Normal file
View File

@@ -0,0 +1,12 @@
$NetBSD: README.Haiku,v 1.3 2013/03/17 15:19:11 obache Exp $
Please read the general README file as well.
bootstrap-pkgsrc has been tested on Haiku R1 alpha1 and alpha2 (i386) with
both gcc2 and gcc4.
Known problems:
* Only tested with --unprivileged.
* With gcc2, need to patch for system header files
http://dev.haiku-os.org/ticket/5784
(It was fixed in r38711, so R1 alpha3 or later does not require the patch)

49
bootstrap/README.IRIX Normal file
View File

@@ -0,0 +1,49 @@
$NetBSD: README.IRIX,v 1.7 2009/08/01 20:16:25 dholland Exp $
You will need a working C compiler, either gcc or SGI's MIPS and MIPSpro
compiler (cc/c89). Please set the CC environment variable according to your
preference. If you do not have a license for the MIPSpro compiler suite, you
can download a gcc tardist file from http://freeware.sgi.com/.
Please note that you will need Irix 6.5.17 or higher, as this is the earliest
version of Irix providing support for if_indextoname(3), if_nametoindex(3),
etc.
At this point in time, pkgsrc only supports one ABI. That is, you cannot
switch between the old 32-bit ABI, the new 32-bit ABI and the 64-bit ABI. If
you start out using "abi=n32", that's what all your packages will be built
with.
Therefore, please make sure that you have no conflicting CFLAGS in your
environment or the /etc/mk.conf. Particularly, make sure that you do
not try to link n32 object files with lib64 or vice versa. Check your
/etc/compiler.defaults and $SGI_ABI!
If you have the actual pkgsrc tree mounted via NFS from a different host,
please make sure to set WRKOBJDIR to a local directory, as it appears that
Irix linker occasionally runs into issues when trying to link over a network
mounted filesystem.
The bootstrapping process should set all the right options for programs
such as imake(1), but you may want to set some options depending on your
local setup. Please see pkgsrc/mk/defaults/mk.conf and, of course,
your compilers man pages for details.
If you are using SGI's MIPSPro compiler, please set
PKGSRC_COMPILER=mipspro
in /etc/mk.conf -- otherwise, pkgsrc will assume you are using gcc and may end
up passing invalid flags to the compiler. Note that bootstrap should create
an appropriate mk.conf.example by default.
If you have both the MIPSPro compiler chain installed as well as gcc, but want
to make sure that MIPSPro is used, please set your PATH to not include the
location of gcc (often /usr/freeware/bin), and (important), pass the
'--preserve-path' flag.
bootstrap-pkgsrc has been tested on:
- an O2 with 1 180 MHZ IP32 Processor (R5000) (n32 ABI)
running 6.5.27
- an Origin 200 with 2 180 MHZ IP27 Processors (R10000) (64 ABI)
running 6.5.23

55
bootstrap/README.IRIX5.3 Normal file
View File

@@ -0,0 +1,55 @@
$NetBSD: README.IRIX5.3,v 1.6 2006/09/03 14:30:26 schwarz Exp $
Installing pkgsrc on IRIX 5.3 requires some preparation.
First, if necessary, get the IRIX 5.3 IDO (cc etc.) from SGI at
ftp://ftp.sgi.com/sgi/IRIX5.3/iris-development-option-5.3.tardist and
install it using IRIX's Software Manager. While you're at it you might also
want to install any missing patches from ftp://ftp.sgi.com/support/Patches/5.3.
Get ftp://ftp.mayn.de/pub/really_old_stuff/irix/ido/dev* and install the
missing dev.sw.abi and dev.sw.irix_speclibs subpackages.
Note that IRIX 5.3's ftp does not support passive ftp (to my knowledge), so
if you are behind a firewall (and you better make sure you are with IRIX
5.3!) you might need to first transfer the files to another local machine.
Furthermore, get Y2k patches from e.g.
ftp://ftp.mayn.de/pub/really_old_stuff/irix/oldstuff/ if you haven't
installed them already.
Unfortunately many of IRIX 5.3's native tools do not provide
functionalitites that pkgsrc expects. It is therefore necessary to install
the respective GNU tools for cp, grep, id, mkdir, test, touch, which,
and xargs. To avoid conflicts you might want to do so under a different
directory hierarchy than pkgsrc (in the following example /usr/local is
assumed). Obtain and install the following GNU software:
- GNU findutils (4.2.23 is known to install)
- GNU grep (2.5.1a works, but you have to apply the patch from
pkgsrc/textproc/grep/patches/patch-ab; either do so manually by editing the
appropriate source file or first install GNU patch [2.5.4 works fine]. This
will probably be fixed with later releases. You should configure GNU grep
with --disable-nls and do not bother when make stops when it cannot find
makeinfo; just proceed with make install)
- GNU coreutils (5.97 works; be sure to specify GREP=/sbin/grep for
configure)
- GNU which (2.16 works; be sure to configure with CC="cc -Xcpluscomm")
To date, pkgsrc expects the SGI IDO cc and might run into problems when
using gcc.
With IDO cc and the necessary supporting tools and development files
installed you can run bootstrap to create the essential pkgsrc tools,
notably bmake:
env CP=/usr/local/bin/cp GREP=/usr/local/bin/grep ID=/usr/local/bin/id MKDIR="/usr/local/bin/mkdir -p" TEST=/usr/local/bin/test TOUCH=/usr/local/bin/touch XARGS="/usr/local/bin/xargs -r" ./bootstrap
Add the necessary arguments such as --prefix= as necessary.
You might also want to set the CFLAGS, CPPFLAGS, or LDFLAGS.
For the IDO cc CFLAGS=-O2 (or CFLAGS="-O2 -mips2" if you are using an R4K
machine) is recommended.
IRIX 5.3 IDO does not come with a C++ compiler. For packages that require
C++ you can get the GNU C++ compiler, g++, which is part of the gcc
distribution. Gcc 3.4.6 is known to bootstrap on IRIX 5.3. To activate it,
add the following lines to your mk.conf after bootstrapping:
CXX=g++
USE_TOOLS+=cxx
TOOLS_PLATFORM.cxx=/usr/local/bin/g++
TOOLS_CMD.cxx=${TOOLS_DIR}/bin/g++

11
bootstrap/README.Interix Normal file
View File

@@ -0,0 +1,11 @@
$NetBSD: README.Interix,v 1.15 2012/01/11 01:15:17 riz Exp $
Please read the general README file, and the Interix installation
instructions in the pkgsrc Guide at:
http://www.NetBSD.org/docs/pkgsrc/platforms.html#interix
A prebuilt bootstrap kit and prebuilt binary packages for Interix 3.5 are
available from the pkgsrc information page:
http://www.NetBSD.org/docs/software/packages.html

65
bootstrap/README.Linux Normal file
View File

@@ -0,0 +1,65 @@
$NetBSD: README.Linux,v 1.4 2008/06/18 21:37:31 dmcmahill Exp $
Please read the general README file as well.
==========================================================================
Some versions of Linux (RHEL3 Update 2 for i386 for example) have a
/usr/lib/libacl.la libtool archive file that lists /lib/libattr.la as a
dependency. However, libattr.la does not exist in /lib/libattr.la. If
this is the case, the bootstrap will fail with
grep: /lib/libattr.la: No such file or directory
/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/.tools/bin/sed: can't read /lib/libattr.la: No such file or directory
libtool: link: `/lib/libattr.la' is not a valid libtool archive
The soltion is to copy /usr/lib/libattr.la to /lib/libattr.la with:
cp -p /usr/lib/libattr.la /lib
==========================================================================
Some versions of Linux (for example Debian GNU/Linux) need either libtermcap
or libcurses (libncurses). Installing the distributions libncurses-dev
package (or equivalent) should fix the problem.
==========================================================================
pkgsrc supports both gcc (GNU Compiler Collection) and icc (Intel C++
Compiler). gcc is the default. icc 8.0 and 8.1 on i386 have been tested.
To bootstrap using icc, assuming the default icc installation
directory:
env CC=/opt/intel_cc_80/bin/icc LDFLAGS=-static-libcxa \
ac_cv___attribute__=yes ./bootstrap
note: icc 8.1 needs the `-i-static' argument instead of
-static-libcxa.
icc supports __attribute__, but the GNU configure test uses a nested
function, which icc does not support. #undef'ing __attribute__ has the
unfortunate side-effect of breaking many of the Linux header files, which
cannot be compiled properly without __attribute__. The test must be
overridden so that __attribute__ is assumed supported by the compiler.
After bootstrapping, you should set PKGSRC_COMPILER in mk.conf:
PKGSRC_COMPILER=icc
The default installation directory for icc is /opt/intel_cc_80, which
is also the pkgsrc default. If you have installed it into a different
directory, set ICCBASE in mk.conf:
ICCBASE=/opt/icc
pkgsrc uses the static linking method of the runtime libraries
provided by icc, so binaries can be run on other systems which do not
have the shared libraries installed.
Libtool, however, extracts a list of libraries from the ld(1) command
run when linking a C++ shared library and records it, throwing away
the -Bstatic and -Bdynamic options interspersed between the libraries.
This means that libtool-linked C++ shared libraries will have a
runtime dependency on the icc libraries until this is fixed in
libtool.

98
bootstrap/README.MacOSX Normal file
View File

@@ -0,0 +1,98 @@
$NetBSD: README.MacOSX,v 1.14 2013/02/06 15:25:24 schmonz Exp $
Mac OS X Snow Leopard 32/64 (i386/x86_64) ABI issue:
Mac OS X Snow Leopard (10.6) supports 64-bit binaries on most Intel
Macs and builds those by default on such machine. This causes
problems with a lot of packages which get confused because
"MACHINE_ARCH" is set to "i386" (on a 64-bit system!). There are also
packages that don't support 64-bit under Mac OS X at all. Because of
this, the default for pkgsrc is use use the 32-bit ABI, which results
in packages being compiled and run in i386 mode. For a longer
discussion, see:
http://mail-index.NetBSD.org/pkgsrc-users/2009/09/24/msg010817.html
Developer tools:
If you haven't already, you will need to install the Mac OS X Developer
Tools package. Depending on the version of OS X you are running, you
may have this on CD. If not, you can download it from Apple's
Developer Connection. (You will need to register for a free ADC
account.) See http://developer.apple.com/macosx/ for details.
(If you don't want or need the full Xcode GUI, download and install
Command Line Tools for Xcode.)
Then start Xcode, go to "Preferences" - "Downloads" and install
the "Command Line Tools".
If you plan to build packages that use the X11 Window System, you
will also need to make sure you have an Xserver installed. Download
XQuartz from http://xquartz.macosforge.org/landing/
Experimental support for IBM's XL C/C++ compiler is present (tested
with version 6.0). To use it, set:
PKGSRC_COMPILER=xlc
in mk.conf. XL C uses the Apple provided libtool to create shared
libraries, however, we must force it to call libtool with the full
path to avoid calling the pkgsrc provided GNU libtool with arguments
that it does not understand.
edit the template configuration file /opt/ibmcmp/vac/6.0/etc/vac.base.cfg
and set:
libtool = /usr/bin/libtool
then run:
/opt/ibmcmp/vacpp/6.0/bin/vacpp_configure -gcc /usr -install -force
as root to install the configuration.
to bootstrap with xlc, you need to make sure CFLAGS contains "-ma":
env CC=/opt/ibmcmp/vacpp/6.0/bin/xlc CFLAGS=-ma ./bootstrap
Mac OS X Versions
pkgsrc is a volunteer project, and individuals support/fix packages
and platforms as they choose. However, pkgsrc contributors as a group
share both a bugtracker and norms about what is ok to break and what
is not. To describe these norms, we define levels of concern, keeping
in mind that there are no guarantees:
SUPPORTED doesn't mean that anyone is required to fix your problem; it
means that we agree that it is broadly desireable that such problems
be fixed and that we therefore allow them to be listed in our issue
tracker.
DEPRECATED means that individual problems are not of interest, but
pkgsrc overall working is of enough interest to be allowed to be
listed in the issue tracker.
IGNORED means we are not willing to expend issue tracker resources
(clutter for those reviewing the db) at all.
Given the above definitions, the pkgsrc developers label versions of
Mac OS X as follows:
10.8: current, PRs may be filed. Structurally breaking pkgsrc on 10.8
is considered not ok. [SUPPORTED]
10.7: old, but PRs may still be filed. Structurally breaking pkgsrc on
10.7 is considered not ok. [SUPPORTED]
10.6: very old, and individual pkg PRs may be bounced to authors to
retest with newer versions, and closed if that doesn't happen
in 14 days. We will for now consider structurally breaking
pkgsrc on 10.6 to be undesirable. If keeping support for 10.6
causes excessive work for maintainers it may be moved to
IGNORED state any time, without warning. [DEPRECATED]
10.5 and below: ancient, and PRs will be summarily closed. It is
acceptable to give zero consideration to causing structural
problems on 10.5 and below. [IGNORED]

8
bootstrap/README.Minix3 Normal file
View File

@@ -0,0 +1,8 @@
$NetBSD: README.Minix3,v 1.1 2013/03/11 22:48:23 tcort Exp $
Please read the general README file as well.
==========================================================================
Most users will not need to run the bootstrap script as all supported
versions of Minix3 come with pkgsrc pre-bootstrapped.

43
bootstrap/README.MirBSD Normal file
View File

@@ -0,0 +1,43 @@
$NetBSD: README.MirBSD,v 1.1 2011/01/23 19:07:24 agc Exp $
Please read the general README file as well.
pkgsrc will install the portable NetBSD make as "bmake". The standard
make(1) from MirBSD is incompatible with pkgsrc.
Unless you bootstrap pkgsrc with the --unprivileged option, sudo(8) will
be used to gain root privileges.
MirPorts and pkgsrc can be installed in parallel. The MirPorts framework
uses /usr/mpkg as its default prefix and /usr/mpkg/db/pkg as its package
database directory. Thus, its paths do not clash with the default
choices of pkgsrc, which are /usr/pkg and /var/db/pkg respectively. We
suggest however that you place the package database for pkgsrc below its
prefix, for example by specifying the
--pkgdbdir /usr/pkg/db
option to bootstrap. Please note that the package tools from MirPorts
and pkgsrc have the same names (e.g. pkg_add) but are incompatible. This
leads to strage behavior when building or installing packages if both
frameworks are in your PATH.
Thus, before you start the bootstrap, you must make sure that
/usr/mpkg/bin and /usr/mpkg/sbin are NOT in your PATH if MirPorts is
already installed. Use a command like the following:
export PATH=${HOME}/.etc/bin:/usr/local/bin:/usr/pkg/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/sbin:/sbin:/usr/pkg/sbin:/usr/games
Other environment variables that you may want to set are MANPATH,
INFOPATH and XAPPLRESDIR. There should be no need to set the
LD_LIBRARY_PATH environment variable.
The default mk.conf will be installed in /usr/pkg/etc. It mirrors the
values for CFLAGS, CPPFLAGS, and LDFLAGS retrieved from the native
make(1) at bootstrap time, instead of including /etc/make.cfg and the
native <bsd.own.mk>. If you change values in /etc/make.cfg, you will
also have to adjust the mk.conf used by bmake.
The standard compiler is mgcc; if you have more than one native compiler
installed (assuming all are GCC variants), export CC=gcc-1.2.3 before
using pkgsrc and possibly adjust /usr/pkg/etc/mk.conf accordingly.

24
bootstrap/README.OSF1 Normal file
View File

@@ -0,0 +1,24 @@
$NetBSD: README.OSF1,v 1.3 2007/10/15 22:32:56 tnn Exp $
Compiler
--------
Prebuilt GCC toolchains suitable for use with pkgsrc can be downloaded from
ftp://ftp.NetBSD.org/pub/pkgsrc/misc/tnn/ .
Bootstrapping pkgsrc
--------------------
To use the native compiler:
# env CPP=/usr/bin/cpp CC=/usr/bin/cc ./bootstrap --compiler ccc
To use the GCC compiler kit from above:
# env CC=/usr/local/gcc4/bin/gcc CFLAGS=-O2 ./bootstrap --compiler gcc
mk.conf setup
-------------
To use gcc, you must set the following variables in mk.conf:
PKGSRC_COMPILER=gcc
CC=/full/path/to/gcc
CXX=/full/path/to/g++

32
bootstrap/README.OpenBSD Normal file
View File

@@ -0,0 +1,32 @@
$NetBSD: README.OpenBSD,v 1.3 2007/10/09 19:19:08 martti Exp $
Please read the general README file as well.
Care should be taken so that the tools that this kit installs do not conflict
with the OpenBSD userland tools. There are several steps:
1. OpenBSD stores its ports pkg database in /var/db/pkg. It is therefore
recommended that you choose a different location (e.g. /usr/pkgdb) by
using the --pkgdbdir option to the bootstrap script.
2. If you do not intend to use the OpenBSD ports tools, it's probably a
good idea to move them out of the way to avoid confusion, e.g.:
cd /usr/sbin
mv pkg_add pkg_add.orig
mv pkg_create pkg_create.orig
mv pkg_delete pkg_delete.orig
mv pkg_info pkg_info.orig
3. An example /etc/mk.conf file will be placed in mk.conf.example file
when you use the bootstrap script. OpenBSD's make program uses /etc/mk.conf
as well. You can work around this by enclosing all the pkgsrc specific parts
of the mk.conf file with:
.ifdef BSD_PKG_MK
# Pkgsrc stuff, e.g. insert mk.conf.example or similar here
.else
# OpenBSD stuff
.endif
bootstrap-pkgsrc has been tested on OpenBSD 3.2 and 3.5 (i386). Some testing has
been done on 3.0 as well.

111
bootstrap/README.Solaris Normal file
View File

@@ -0,0 +1,111 @@
$NetBSD: README.Solaris,v 1.14 2012/07/13 16:12:41 jperkin Exp $
You will need a working C compiler. Any version of gcc >2.8 should
work, 2.95.x and 3.x have been tested. SunPro 5 and 8 have been
tested, but versions in between should work, too.
The following packages are the minimum required on Solaris 8 to
bootstrap and build packages.
- SUNWsprot
- SUNWarc
- SUNWbtool
- SUNWtoo
- SUNWscpu
- SUNWxcu4
Realistically you will need more, such as SUNWlibm, and SUNWlibC for
C++ packages if you are using SunPro.
Please note the use of GNU binutils on Solaris is not supported.
pkgsrc in Solaris Zones
-----------------------
If you are trying to bootstrap pkgsrc in a Solaris Zone then you will
need to install the following packages (assuming you will bootstrap using
Sun's gcc package):
- SUNWgccruntime
- SUNWgcc
- SUNWbinutils
- SUNWbtool
- SUNWggrp
- SUNWxcu4
- SUNWcs
- SUNWsprot
- SUNWlibm
- SUNWloc
- SUNWsndm
Tested on OpenSolaris 5.11 snv_105 and pkgsrc bootstrap as at Jan 2009.
If you are using gcc
--------------------
It makes life much simpler if you only use the same gcc consistently
for building all packages.
See http://www.NetBSD.org/docs/software/packages.html for
binary kits and initial packages, including gcc.
If the gcc installation is not in your $PATH you will need to pass
additional flags to bootstrap, for example:
env CC=/opt/gcc-4.6.3/bin/gcc \
GCCBASE=/opt/gcc-4.6.3 \
./bootstrap --abi=64
It is recommended that an external gcc be used only for bootstrapping,
and that you set USE_PKGSRC_GCC=yes in mk.conf so that the appropriate
pkgsrc gcc is installed and used.
Binary packages of gcc can be found through
http://www.sunfreeware.com/
If you are using Sun WorkShop
-----------------------------
You will need at least the following packages installed to build C and
C++ packages.
WorkShop 5.0:
SPROcc Sun WorkShop Compiler C 5.0
SPROcpl Sun WorkShop Compiler C++ 5.0
SPROild Sun WorkShop Incremental Linker
SPROlang Sun WorkShop Compilers common components
Sun ONE Studio 8:
SPROcc Sun ONE Studio 8 Compiler C
SPROcpl Sun ONE Studio 8 Compiler C++
SPROdwrfb DwarfSupportLibrary binaries
SPROild Sun ONE Studio 8 Incremental Linker
SPROlang Sun ONE Studio 8 Compilers Common Components
SPROsbld Sun ONE Studio 8 Linker Stab Library
SPROscl Sun ONE Studio 8 Standard Class Library for C++
SPROtlbn7 Sun ONE Studio 8 Tools.h++ 7.1 Class Library for C++
SPROutool Sun ONE Studio 8 Common Tools
The corresponding 64-bit packages are also required to build 64-bit
binaries and libraries.
To build 64-bit binaries, pass '--abi=64' to bootstrap, and also see the
crle(1) man page to configure the runtime linking environment.
pkgsrc defaults to finding the Sun compiler in /opt/SUNWspro. If you use a
different prefix, pass SUNWSPROBASE in the environment to bootstrap. If 'cc'
is not in your path, pass CC as well. So, to build 64-bit Sun compiler
bootstrap with a non-standard install:
env CC=/opt/studio12/SUNWspro/bin/cc \
SUNWSPROBASE=/opt/studio12/SUNWspro \
./bootstrap --abi=64
When bootstrap is finished your default mk.conf will contain ABI and
SUNWSPROBASE so you will not need to set these variables again.
Whichever compiler you use, please ensure the compiler tools and
your $prefix are in your PATH. This includes /usr/ccs/{bin,lib}
and eg. /usr/pkg/{bin,sbin}.
bootstrap-pkgsrc has been tested on Solaris 2.6 -> 10.

1203
bootstrap/bootstrap Executable file

File diff suppressed because it is too large Load Diff

12
bootstrap/cleanup Executable file
View File

@@ -0,0 +1,12 @@
#! /bin/sh
# $NetBSD: cleanup,v 1.9 2009/05/17 23:44:48 billc Exp $
wrkdir=${1:-work}
rm -f -r "$wrkdir"
rm -f Makefile.inc mk.conf.example */config.cache
# Also clean up from people who run testbootstrap
rm -rf .db pkg
rm -f BOOTSTRAP.LOG

652
bootstrap/macpkg.pmproj.in Normal file
View File

@@ -0,0 +1,652 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- $NetBSD: macpkg.pmproj.in,v 1.2 2007/05/23 05:00:40 schmonz Exp $ -->
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>$archiver</key>
<string>NSKeyedArchiver</string>
<key>$objects</key>
<array>
<string>$null</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
<integer>61</integer>
</dict>
<key>buildPath</key>
<dict>
<key>CF$UID</key>
<integer>54</integer>
</dict>
<key>desc</key>
<dict>
<key>CF$UID</key>
<integer>49</integer>
</dict>
<key>documentFormat</key>
<integer>11</integer>
<key>fileFilterPatterns</key>
<dict>
<key>CF$UID</key>
<integer>55</integer>
</dict>
<key>info</key>
<dict>
<key>CF$UID</key>
<integer>16</integer>
</dict>
<key>locatorDefinitions</key>
<dict>
<key>CF$UID</key>
<integer>2</integer>
</dict>
<key>pathMappings</key>
<dict>
<key>CF$UID</key>
<integer>4</integer>
</dict>
<key>requirementsInstallCheckScript</key>
<dict>
<key>CF$UID</key>
<integer>0</integer>
</dict>
<key>requirementsPlist</key>
<dict>
<key>CF$UID</key>
<integer>0</integer>
</dict>
<key>requirementsVolumeCheckScript</key>
<dict>
<key>CF$UID</key>
<integer>0</integer>
</dict>
<key>resources</key>
<dict>
<key>CF$UID</key>
<integer>6</integer>
</dict>
</dict>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
<integer>3</integer>
</dict>
<key>NS.keys</key>
<array/>
<key>NS.objects</key>
<array/>
</dict>
<dict>
<key>$classes</key>
<array>
<string>NSDictionary</string>
<string>NSObject</string>
</array>
<key>$classname</key>
<string>NSDictionary</string>
</dict>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
<integer>5</integer>
</dict>
<key>NS.keys</key>
<array/>
<key>NS.objects</key>
<array/>
</dict>
<dict>
<key>$classes</key>
<array>
<string>NSMutableDictionary</string>
<string>NSDictionary</string>
<string>NSObject</string>
</array>
<key>$classname</key>
<string>NSMutableDictionary</string>
</dict>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
<integer>15</integer>
</dict>
<key>alignment</key>
<integer>2</integer>
<key>background</key>
<dict>
<key>CF$UID</key>
<integer>12</integer>
</dict>
<key>conclusion</key>
<dict>
<key>CF$UID</key>
<integer>11</integer>
</dict>
<key>extras</key>
<dict>
<key>CF$UID</key>
<integer>13</integer>
</dict>
<key>license</key>
<dict>
<key>CF$UID</key>
<integer>10</integer>
</dict>
<key>localizedMimeResources</key>
<dict>
<key>CF$UID</key>
<integer>14</integer>
</dict>
<key>model</key>
<dict>
<key>CF$UID</key>
<integer>1</integer>
</dict>
<key>readme</key>
<dict>
<key>CF$UID</key>
<integer>9</integer>
</dict>
<key>scaling</key>
<integer>2</integer>
<key>welcome</key>
<dict>
<key>CF$UID</key>
<integer>7</integer>
</dict>
</dict>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
<integer>8</integer>
</dict>
<key>model</key>
<dict>
<key>CF$UID</key>
<integer>1</integer>
</dict>
<key>path</key>
<dict>
<key>CF$UID</key>
<integer>0</integer>
</dict>
<key>type</key>
<integer>0</integer>
</dict>
<dict>
<key>$classes</key>
<array>
<string>LocalPath</string>
<string>NSObject</string>
</array>
<key>$classname</key>
<string>LocalPath</string>
</dict>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
<integer>8</integer>
</dict>
<key>model</key>
<dict>
<key>CF$UID</key>
<integer>1</integer>
</dict>
<key>path</key>
<dict>
<key>CF$UID</key>
<integer>0</integer>
</dict>
<key>type</key>
<integer>0</integer>
</dict>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
<integer>8</integer>
</dict>
<key>model</key>
<dict>
<key>CF$UID</key>
<integer>1</integer>
</dict>
<key>path</key>
<dict>
<key>CF$UID</key>
<integer>0</integer>
</dict>
<key>type</key>
<integer>0</integer>
</dict>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
<integer>8</integer>
</dict>
<key>model</key>
<dict>
<key>CF$UID</key>
<integer>1</integer>
</dict>
<key>path</key>
<dict>
<key>CF$UID</key>
<integer>0</integer>
</dict>
<key>type</key>
<integer>0</integer>
</dict>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
<integer>8</integer>
</dict>
<key>model</key>
<dict>
<key>CF$UID</key>
<integer>1</integer>
</dict>
<key>path</key>
<dict>
<key>CF$UID</key>
<integer>0</integer>
</dict>
<key>type</key>
<integer>0</integer>
</dict>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
<integer>8</integer>
</dict>
<key>model</key>
<dict>
<key>CF$UID</key>
<integer>1</integer>
</dict>
<key>path</key>
<dict>
<key>CF$UID</key>
<integer>0</integer>
</dict>
<key>type</key>
<integer>0</integer>
</dict>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
<integer>5</integer>
</dict>
<key>NS.keys</key>
<array/>
<key>NS.objects</key>
<array/>
</dict>
<dict>
<key>$classes</key>
<array>
<string>Resources</string>
<string>NSObject</string>
</array>
<key>$classname</key>
<string>Resources</string>
</dict>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
<integer>5</integer>
</dict>
<key>NS.keys</key>
<array>
<dict>
<key>CF$UID</key>
<integer>17</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>18</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>19</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>20</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>21</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>22</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>23</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>24</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>25</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>26</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>27</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>28</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>29</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>30</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>31</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>32</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>33</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>34</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>35</integer>
</dict>
</array>
<key>NS.objects</key>
<array>
<dict>
<key>CF$UID</key>
<integer>36</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>37</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>37</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>36</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>38</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>40</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>36</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>36</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>36</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>42</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>44</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>45</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>37</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>46</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>36</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>47</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>36</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>36</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>48</integer>
</dict>
</array>
</dict>
<string>preserveForks</string>
<string>followLinks</string>
<string>removeDSStore</string>
<string>allowBackRev</string>
<string>contents</string>
<string>tempBuild</string>
<string>installFat</string>
<string>rootVolumeOnly</string>
<string>updateInstalledLanguages</string>
<string>installLocation</string>
<string>getInfo</string>
<string>authorization</string>
<string>compress</string>
<string>identifier</string>
<string>overwritePermissions</string>
<string>onFinished</string>
<string>relocatable</string>
<string>required</string>
<string>shortVersion</string>
<false/>
<true/>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
<integer>8</integer>
</dict>
<key>model</key>
<dict>
<key>CF$UID</key>
<integer>1</integer>
</dict>
<key>path</key>
<dict>
<key>CF$UID</key>
<integer>39</integer>
</dict>
<key>type</key>
<integer>0</integer>
</dict>
<string>%WRKDIR%/macpkg-destdir</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
<integer>8</integer>
</dict>
<key>model</key>
<dict>
<key>CF$UID</key>
<integer>1</integer>
</dict>
<key>path</key>
<dict>
<key>CF$UID</key>
<integer>41</integer>
</dict>
<key>type</key>
<integer>0</integer>
</dict>
<string>/private/tmp</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
<integer>8</integer>
</dict>
<key>model</key>
<dict>
<key>CF$UID</key>
<integer>1</integer>
</dict>
<key>path</key>
<dict>
<key>CF$UID</key>
<integer>43</integer>
</dict>
<key>type</key>
<integer>0</integer>
</dict>
<string>/</string>
<string>%DATE%, The NetBSD Foundation</string>
<integer>1</integer>
<string>org.pkgsrc.bootstrap</string>
<integer>0</integer>
<string>%DATE%</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
<integer>5</integer>
</dict>
<key>NS.keys</key>
<array>
<dict>
<key>CF$UID</key>
<integer>50</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>51</integer>
</dict>
</array>
<key>NS.objects</key>
<array>
<dict>
<key>CF$UID</key>
<integer>52</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>53</integer>
</dict>
</array>
</dict>
<string>description</string>
<string>title</string>
<string>The NetBSD Packages Collection (pkgsrc) is a framework for building third-party software on NetBSD and other UNIX-like systems, currently containing over 6400 packages. It is used to enable freely available software to be configured and built easily on supported platforms.</string>
<string>pkgsrc bootstrap tools</string>
<string>%TARGETDIR%/bootstrap-macpkg.pkg</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
<integer>60</integer>
</dict>
<key>NS.objects</key>
<array>
<dict>
<key>CF$UID</key>
<integer>56</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>57</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>58</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>59</integer>
</dict>
</array>
</dict>
<string>/CVS$</string>
<string>/\.svn$</string>
<string>/\.cvsignore$</string>
<string>/\.cvspass</string>
<dict>
<key>$classes</key>
<array>
<string>NSMutableArray</string>
<string>NSArray</string>
<string>NSObject</string>
</array>
<key>$classname</key>
<string>NSMutableArray</string>
</dict>
<dict>
<key>$classes</key>
<array>
<string>SPModel</string>
<string>PModel</string>
<string>NSObject</string>
</array>
<key>$classname</key>
<string>SPModel</string>
</dict>
</array>
<key>$top</key>
<dict>
<key>root</key>
<dict>
<key>CF$UID</key>
<integer>1</integer>
</dict>
</dict>
<key>$version</key>
<integer>100000</integer>
</dict>
</plist>

50
bootstrap/testbootstrap Executable file
View File

@@ -0,0 +1,50 @@
#! /bin/sh
#
# $NetBSD: testbootstrap,v 1.4 2011/06/12 08:28:32 obache Exp $
#
# Copyright (c) 2004 The NetBSD Foundation, Inc.
# All rights reserved.
#
# This code is derived from software contributed to The NetBSD Foundation
# by Johnny C. Lam.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. All advertising materials mentioning features or use of this software
# must display the following acknowledgement:
# This product includes software developed by the NetBSD
# Foundation, Inc. and its contributors.
# 4. Neither the name of The NetBSD Foundation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Build a bootstrap kit within the bootstrap directory. This needs
# to be executed from within the bootstrap directory. It simply calls
# the bootstrap script in such a way that we don't need root privileges
# to do the test compilation.
#
pwd=`pwd`
./bootstrap \
--prefix=$pwd/pkg \
--sysconfdir=$pwd/pkg/etc \
--pkgdbdir=$pwd/.db \
--ignore-user-check 2>&1 | \
tee BOOTSTRAP.LOG