pkgsrc/bootstrap
bacon ec632c0843 bootstrap: Default to PREFER_PKGSRC=yes on Linux
Avoids problems caused by linking against aging enterprise Linux libraries or
libraries from Linux package managers that undergo ABI changes outside pkgsrc
control.

Add --prefer-native flag to bootstrap script so all PREFER_* values can be
set during bootstrap. This resolves issues where bootstrap links packages
against native libraries and pkgsrc equivalents are installed afterward due
to changes to PREFER_NATIVE after bootstrap.

Automatically document danger of changing PREFER_PKGSRC or PREFER_NATIVE after
boostrap in mk.conf
2020-08-20 13:04:01 +00:00
..
bootstrap bootstrap: Default to PREFER_PKGSRC=yes on Linux 2020-08-20 13:04:01 +00:00
cleanup
README Rename README.MacOSX to README.macOS. 2020-08-14 07:35:26 +00:00
README.AIX
README.Bitrig Change the default PKG_DBDIR to be ${LOCALBASE}/pkgdb. Resolves issues on 2016-11-15 11:19:09 +00:00
README.Cygwin Add note regarding prerequisites 2016-07-03 15:16:47 +00:00
README.FreeBSD Give a heads up until issues are fixed. 2020-06-30 15:37:00 +00:00
README.GNUkFreeBSD
README.Haiku
README.HPUX mention installation instructions for GCC toolchains 2015-04-19 19:29:44 +00:00
README.Interix Change the default PKG_DBDIR to be ${LOCALBASE}/pkgdb. Resolves issues on 2016-11-15 11:19:09 +00:00
README.IRIX
README.IRIX5.3
README.Linux README.Linux: minor tweak to a sentence 2019-04-04 04:20:26 +00:00
README.macOS Rename README.MacOSX to README.macOS. 2020-08-14 07:35:26 +00:00
README.Minix3
README.MirBSD Change the default PKG_DBDIR to be ${LOCALBASE}/pkgdb. Resolves issues on 2016-11-15 11:19:09 +00:00
README.NetBSD bootstrap: Add a NetBSD README 2020-04-09 15:04:03 +00:00
README.OpenBSD mention you can prefer pkgsrc at bootstrap, too. 2017-01-22 20:14:50 +00:00
README.OpenServer5
README.OSF1 mention installation instructions for GCC toolchains 2015-04-19 19:29:44 +00:00
README.Solaris Add notes about common problems & mk.conf snippet for Sun Workshop users from the pkgsrc guide 2016-07-03 15:38:12 +00:00
testbootstrap Remove clauses 3,4 from TNF-only copyright blocks. 2018-08-22 20:48:36 +00:00

$NetBSD: README,v 1.24 2020/08/14 07:35:26 schmonz 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-user-check ]
    [ --preserve-path ]
    [ --help ]

The defaults for the arguments are as follows:

	--prefix	/usr/pkg
	--pkgdbdir	/usr/pkg/pkgdb
	--sysconfdir	/usr/pkg/etc
	--varbase	/var
	--workdir	work

The working directory will be created if it doesn't exist and has to be
writable by the user executing ./bootstrap.

The bootstrap script will exit if the bootstrap directory already exists,
for example if you have run the script before. In this case, clean it up
by running:

# ./cleanup

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.


PER PLATFORM INFORMATION
========================

pkgsrc supports or has supported many operating systems (platforms).
In general, there is a README.os for each platform that can run
pkgsrc, explaining particular considerations.

Because pkgsrc contains many per-platform fixes and accommodations,
and because the presence of those at times causes more work for
others, we list platforms according to whether they are in active use.
(If you feel a platform is miscategorized, send rationale to
pkgsrc-users@.  Include a README.platform with instructions if it is
missing and you are asserting that there are users.  Developers should
of course feel free to make improvements.)

Note that listing a platform as having no users is not a decision to
remove it from pkgsrc; this is merely recording information that
individual developers can use when deciding how much work is justified
for keeping any particular accommodation.  (As always, any large-scale
removals require a proposal and discussion on pkgsrc-users@.)

Note also that pkgsrc policy is that fixes to packages, unless the
fixes are to adjust a package to pkgsrc norms, should be filed
upstream and the upstream tracker URL included in the patch file or
Makefile.

Platforms are listed by the filename in mk/platform, annotated by the
README.platform here if different.  Problems are listed, such as lack
of a README, lack of cwrappers support, and lack of destdir support.


Platforms with active use and maintenance
-----------------------------------------

The following platforms have active users, and people that regularly
fix problems.

  Darwin (README.macOS, macOS)
  FreeBSD
  Linux
  NetBSD
  SunOS (README.Solaris, illumos, SmartOS, OmniOS)


Platforms believed to have users
--------------------------------

  OpenBSD


Platforms with at least a tiny number of users
----------------------------------------------

  HPUX
  SCO_SV (README.OpenServer5)


Platforms with unknown status
-----------------------------
  Cygwin
  DragonFly (no README)
  FreeMiNT (no README)
  GNUkFreeBSD
  Minix (no README)
  UnixWare (no README)


Platforms believed to have almost no users
------------------------------------------

  AIX (no cwrappers)
  BSDOS (no README)
  IRIX
  Interix
  MirBSD
  OSF1
  QNX (no README)


Platforms believed to have no users
-----------------------------------

  Bitrig
  Haiku