pkgsrc/bootstrap
gdt 145e9569b3 bootstrap/README: Slice platforms more finely
Separate active use, maintained, and published bulk builds.  This
amounts to a new users/maintained-but-no-bulk section for FreeBSD.

Sort OpenBSD into "platforms with active use" based on list comments.

Drop mention of Darwin, as I can find on evidence that Darwin
continues to exist outside of macOS in any meaningful way.
2022-06-01 12:26:04 +00:00
..
bootstrap README.macOS: nbsed requires no user action, merge comment to bootstrap. 2022-04-06 13:06:09 +00:00
cleanup
README bootstrap/README: Slice platforms more finely 2022-06-01 12:26:04 +00:00
README.AIX bootstrap: Document non-working status of AIX 2022-04-05 12:57:21 +00:00
README.Bitrig
README.Cygwin
README.FreeBSD bootstrap: Tested on FreeBSD 12 and 13 without problems. 2021-10-31 09:26:49 +00:00
README.GNUkFreeBSD
README.Haiku
README.HPUX HP-UX status update 2022-04-13 07:03:24 +00:00
README.Interix
README.IRIX
README.IRIX5.3
README.Linux README.Linux: Note RHEL 8.5 works 2022-06-01 12:15:39 +00:00
README.macOS README.macOS: mention how to get an X11 server from pkgsrc. xref wiki 2022-04-09 17:23:12 +00:00
README.MidnightBSD bootstrap: Add MidnightBSD support to bootstrap shell script 2021-03-15 16:22:06 +00:00
README.Minix3 bootstrap: Improve README.Minix3 2022-04-04 00:00:52 +00:00
README.MirBSD
README.NetBSD README.NetBSD: slightly rephrase note about make(1) 2022-02-25 23:03:10 +00:00
README.OpenBSD README.OpenBSD: add section headers 2022-06-01 12:07:37 +00:00
README.OpenServer5 bootstrap: Separate UnixWare and OpenServer 2022-04-01 17:19:28 +00:00
README.OSF1 README.OSF1: update documentation 2022-04-03 22:28:13 +00:00
README.Solaris README.Solaris: Solaris 11 dependency info from JuvenalUrbino 2022-04-27 17:43:34 +00:00
README.UnixWare bootstrap: Separate UnixWare and OpenServer 2022-04-01 17:19:28 +00:00
testbootstrap Remove clauses 3,4 from TNF-only copyright blocks. 2018-08-22 20:48:36 +00:00

$NetBSD: README,v 1.33 2022/06/01 12:26:04 gdt 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.) On platforms that
ship with same-named pkg_* tools, such as OpenBSD and older FreeBSD,
consider putting $prefix/bin earlier in PATH.

Remember also to use bmake to build packages in pkgsrc. It's very
likely that the native make on your system will be incompatible with
the Makefiles in pkgsrc.

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.${platform} for each platform that can
run pkgsrc, explaining particular considerations.

Note that pkgsrc contains many per-platform fixes and accommodations,
and pkgsrc does not always work well on very old platforms.  We list
platforms according to whether they are in active use as a clue to
whether pkgsrc on that platform is likely to work.  Improvements to
code and documentation are always welcome.

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 (which is probably a bug).
Platforms with a * are believed to be non-working; see the README for
the platform for perhaps more information.  A platform not having a
README is a clue that it might not work.

Platforms with active use, maintenance and published bulk builds
----------------------------------------------------------------

The following platforms have active users, and people that regularly
fix problems.  They also have active bulk builds posted to
`pkgsrc-bulk`.  (Bulk build publication is a key quality indictor
because anyone can tell how many packages build on the platform.)

  macOS
  Linux
  NetBSD
  Solaris (illumos, SmartOS, OmniOS)

Platforms with active use, maintenance
--------------------------------------

The following platforms have active users and maintenance, but do not
have published bulk builds.

  FreeBSD

Platforms with active use
-------------------------

The following platforms have active users, but are not known to have
active maintenance.

  OpenBSD


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

  HPUX
  Minix3
  OpenServer5 (SCO OpenServer, platform/SCO_SV.mk)
  SCO UnixWare


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


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

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