$NetBSD: README,v 1.38 2024/02/08 23:52:34 gutteridge Exp $ To try to get pkgsrc working on your system, please try the following as root: # ./bootstrap [ --workdir ] [ --prefix ] [ --pkgdbdir ] [ --sysconfdir ] [ --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. Platform names are not entirely regular; this listing uses the README suffix, annotated with the platform/foo.mk name if different. 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 indicator because anyone can tell how many packages build on the platform.) macOS (platform/Darwin.mk) Linux NetBSD Solaris (illumos, SmartOS, OmniOS, platform/SunOS.mk) 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 (platform/Minix.mk) OpenServer5 (SCO OpenServer, platform/SCO_SV.mk) SCO UnixWare Platforms with unknown status ----------------------------- Cygwin DragonFly (no README) FreeMiNT (no README) GNUkFreeBSD MidnightBSD Platforms believed to have no users ----------------------------------- * AIX (no cwrappers) BSDOS (no README) Haiku IRIX Interix MirBSD (patched libtool support removed August 2022) * OSF1 QNX (no README)