summaryrefslogtreecommitdiff
path: root/bootstrap/README
blob: 361178ee79fb5e304a6cb573414c2bcdc57955aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
$NetBSD: README,v 1.36 2022/09/29 02:25:15 charlotte 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.

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/Minux.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
  * OSF1
  QNX (no README)