Skip to content

Commit

Permalink
import the required bits of bootstrap-pkgsrc from 20040311.
Browse files Browse the repository at this point in the history
  • Loading branch information
grant committed Mar 11, 2004
1 parent 6aaab52 commit 4785d98
Show file tree
Hide file tree
Showing 141 changed files with 48,545 additions and 0 deletions.
24 changes: 24 additions & 0 deletions bootstrap/README
@@ -0,0 +1,24 @@
$NetBSD: README,v 1.1.1.1 2004/03/11 13:03:59 grant Exp $

To try to get pkgsrc working on your system, please try the following
as root:

# ./bootstrap [ --prefix=${PREFIX} ] [ --pkgdbdir=${PKGDBDIR} ] \
[ --pkgsrcdir=${PKGSRCDIR} ]

The defaults for the arguments are as follows:

--prefix /usr/pkg
--pkgdbdir /var/db/pkg
--pkgsrcdir /usr/pkgsrc

It is perfectly acceptable to place ${PKGDBDIR} under ${PREFIX}.

Make sure that you have a working C compiler and make(1) binary in
your path.

See http://www.netbsd.org/Documentation/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.
42 changes: 42 additions & 0 deletions bootstrap/README.AIX
@@ -0,0 +1,42 @@
$NetBSD: README.AIX,v 1.1.1.1 2004/03/11 13:03:59 grant Exp $

You will need gcc. The AIX xlC compiler doesn't work, but probably
could be made to. gcc-3.3.2 has been tested.

bootstrap-pkgsrc has been tested on AIX 4.3. It will probably work on newer
releases also.

Please note the use of GNU binutils on AIX is not supported.
Make sure GNU ld is not 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

33 changes: 33 additions & 0 deletions bootstrap/README.Darwin
@@ -0,0 +1,33 @@
$NetBSD: README.Darwin,v 1.1.1.1 2004/03/11 13:03:58 grant Exp $

If you are using Mac OS X:
Before you start, you will need to download and install the Mac OS X Developer
Tools from Apple's Developer Connection. See http://developer.apple.com/macosx/
for details. Also, make sure you install X11 for Mac OS X and the X11 SDK from
http://www.apple.com/macosx/x11/download/ if you intend to build packages
that use the X11 Window System.

Terse instructions:

$ ./ufsdiskimage create ~/Documents/NetBSD 512 # megabytes - season to taste
$ ./ufsdiskimage mount ~/Documents/NetBSD
$ sudo chown `id -u`:`id -g` /Volumes/NetBSD
$ curl -O \
ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-current/tar_files/pkgsrc.tar.gz
$ tar -C /Volumes/NetBSD -zxvf pkgsrc.tar.gz && rm pkgsrc.tar.gz
$ sudo ./bootstrap \
--prefix=/Volumes/NetBSD/pkg \
--pkgdbdir=/Volumes/NetBSD/pkgdb \
--pkgsrcdir=/Volumes/NetBSD/pkgsrc

Note: if you already have a UFS partition, or have a spare partition[*]
that you can format as UFS, use that instead of the UFS disk image.
It'll be somewhat faster and will mount automatically at boot time.

(Why can't you just use the HFS+ filesystem you've already got?
Because pkgsrc currently requires the underlying filesystem to be
case-sensitive, and HFS+ isn't.)

[*] - If the partition you want to convert to UFS from HFS+ under
Mac OS X is on the boot disk, then the disk tools won't do anything
with it. See "README.MacOSX".
23 changes: 23 additions & 0 deletions bootstrap/README.FreeBSD
@@ -0,0 +1,23 @@
$NetBSD: README.FreeBSD,v 1.1.1.1 2004/03/11 13:03:58 grant 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

3. An example /etc/mk.conf file will be placed in mk.conf.example file
when you use the bootstrap script.

bootstrap-pkgsrc has been tested on FreeBSD 4.7 and 5.0 (i386).
33 changes: 33 additions & 0 deletions bootstrap/README.IRIX
@@ -0,0 +1,33 @@
$NetBSD: README.IRIX,v 1.1.1.1 2004/03/11 13:03:59 grant 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 can not
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/bsd.pkg.defaults.mk and, of course,
your compilers man pages for details.

bootstrap-pkgsrc has been tested on Irix 6.5.18 on:
- an O2 with 1 195 MHZ IP32 Processor (R10000)
38 changes: 38 additions & 0 deletions bootstrap/README.Interix
@@ -0,0 +1,38 @@
$NetBSD: README.Interix,v 1.1.1.1 2004/03/11 13:03:59 grant Exp $

Please read the general README file as well.

NOTE: Currently, Interix support in pkgsrc is unstable, so errors and
problems are expected. Known caveats are listed at the bottom of this
document.

Interix is a POSIX compatible subsystem for the Windows NT kernel, providing
a Unix-like environment with a tighter kernel integration than available
with Cygwin. It is part of the Windows Services for Unix package, available
for Windows 2000, XP, and 2003. SFU can be downloaded from:

http://www.microsoft.com/windows/sfu/

At an absolute minimum, the following packages must be installed from the
Windows Services for Unix 3.5 distribution in order to use bootstrap-pkgsrc:

Utilities -> Base Utilities
Interix GNU Components -> (all)
Remote Connectivity
Interix SDK

The Remote Connectivity subcomponent, Windows Remote Shell Service, does not
need to be installed, but Remote Connectivity itself should be installed in
order to have a working inetd.

=====

KNOWN CAVEATS

* As of this writing, the necessary Interix support stubs have not yet been
added to pkgsrc/mk.

* On Windows under Interix, the "root" user is actually named
"+Administrator". This may require some modification to pkgsrc to
introduce a parameterized root user for installation purposes.
(Likewise, the bootstrap script sets the root group to "+Administrators".)
7 changes: 7 additions & 0 deletions bootstrap/README.Linux
@@ -0,0 +1,7 @@
$NetBSD: README.Linux,v 1.1.1.1 2004/03/11 13:03:59 grant Exp $

Please read the general README file as well.

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.
30 changes: 30 additions & 0 deletions bootstrap/README.MacOSX
@@ -0,0 +1,30 @@
$NetBSD: README.MacOSX,v 1.1.1.1 2004/03/11 13:03:59 grant Exp $

Please read "README.Darwin" first, as it applies to Mac OS X.

Since most Macintoshes come with only 1 disk installed, and you
want to have your pkgsrc UFS partition on that disk, there's a
little trick you will have to do.

The problem is that none of the disk tools will let you touch a
disk that is booted from. In my case, I have a 30G drive that I
partitioned 4G for Classic/OS9, 4G for pkgsrc, and the rest for OS
X. Now, you can unmount the pkgsrc partition, but even if you
newfs it, the partition map will show the partition as Apple_HFS
and not Apple_UFS as automounter needs it to say. The result of
that newfs would be that the partition wouldn't be automounted,
and if you manually mount it, it won't appear in Finder.

You'll need to boot off of the OS X Installation (User) CD. When
the Installtion program starts, go up to the menu and select Disk
Utility. Now, you will be able to select the partition you want
to be UFS, and Format it Apple UFS.

Once you've done that, you Quit the Disk Utility and Quit the
Installer... which will reboot your computer. Now the new UFS
partition will show up, but the permissions will be set to root,
so you won't be able to write to it. You'll have to chown the
mount point to you (/Volumes/whatever).

This note is as of 10.2 (Jaguar) and applies to earlier versions.
[Hopefully Apple will fix Disk Utility in 10.3 (Panther)].
32 changes: 32 additions & 0 deletions bootstrap/README.OpenBSD
@@ -0,0 +1,32 @@
$NetBSD: README.OpenBSD,v 1.1.1.1 2004/03/11 13:03:59 grant 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 (i386). Some testing has
been done on 3.0 as well.
56 changes: 56 additions & 0 deletions bootstrap/README.Solaris
@@ -0,0 +1,56 @@
$NetBSD: README.Solaris,v 1.1.1.1 2004/03/11 13:03:59 grant Exp $

You will need a working C compiler. Both gcc 2.95.3 and Sun
WorkShop 5 have been tested.

The following packages are required on Solaris 8 for the bootstrap
process and to build packages.

- SUNWsprot
- SUNWarc
- SUNWbtool
- SUNWtoo
- SUNWlibm

Please note the use of GNU binutils on Solaris is not supported.

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/Documentation/software/packages.html for
binary kits and initial packages, including gcc.

It is recommended that an external gcc be used only for bootstrapping,
then remove gcc and install the pkgsrc binary package.

Binary packages of gcc can be found through
http://www.sun.com/bigadmin/common/freewareSearch.html

If you are using Sun WorkShop
-----------------------------
You will need at least the following packages installed (from 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

You should set CC and CXX in /etc/mk.conf, eg.

CC= cc
CXX= CC

You may also want to build 64-bit binaries, eg.

CFLAGS= -xtarget=ultra -xarch=v9


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 -> 9.

0 comments on commit 4785d98

Please sign in to comment.