Merge from vendor branch TNF:
[pkgsrcv2.git] / bootstrap / README.Interix
1 $NetBSD: README.Interix,v 1.11 2004/05/02 03:38:21 tv Exp $
2
3 Please read the general README file as well.
4
5 Interix is a POSIX compatible subsystem for the Windows NT kernel,
6 providing a Unix-like environment with a tighter kernel integration than
7 available with Cygwin.  It is part of the Windows Services for Unix
8 package, available for free for any licensed copy of Windows 2000, XP,
9 or 2003.  SFU can be downloaded from:
10
11     http://www.microsoft.com/windows/sfu/
12
13 Services for Unix 3.5, current as of this writing, has been tested.  3.0
14 or 3.1 may work, but are not officially supported.  (The main difference
15 in 3.0/3.1 is lack of pthreads.)
16
17 A prebuilt bootstrap kit and prebuilt binary packages for Interix 3.5 are
18 available from the pkgsrc information page:
19
20     http://www.netbsd.org/Documentation/software/packages.html
21
22 =====
23
24 At an absolute minimum, the following packages must be installed from
25 the Windows Services for Unix 3.5 distribution in order to use pkgsrc:
26
27     Utilities -> Base Utilities
28     Interix GNU Components -> (all)
29     Remote Connectivity
30     Interix SDK
31
32 When using pkgsrc on Interix, DO NOT install the Utilities subcomponent 
33 "UNIX Perl".  That is Perl 5.6 without shared module support, installed to 
34 /usr/local, and will only cause confusion. Instead, install Perl 5.8 from 
35 pkgsrc (or from a binary package available at the URL above).
36
37 The Remote Connectivity subcomponent "Windows Remote Shell Service" does
38 not need to be installed, but Remote Connectivity itself should be
39 installed in order to have a working inetd.
40
41 Finally, during installation you may be asked whether to enable setuid 
42 behavior for Interix programs, and whether to make pathnames default to 
43 case-sensitive.  Setuid should be enabled, and case-sensitivity MUST be 
44 enabled.  (Without case-sensitivity, a large number of packages including 
45 perl will not build.)
46
47 =====
48
49 If SFU is already installed and you wish to alter these settings to work 
50 with pkgsrc:
51
52 * To uninstall UNIX Perl, use Add/Remove Programs, select Microsoft 
53   Windows Services for UNIX, then click Change.  In the installer, choose 
54   Add or Remove, then uncheck Utilities->UNIX Perl.
55
56 * To enable case-sensitivity for the filesystem, run REGEDIT.EXE, and 
57   change the following registry key:
58
59   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel
60
61   Set the DWORD value "obcaseinsensitive" to 0; then reboot.
62
63 * To enable setuid binaries (optional), run REGEDIT.EXE, and change the 
64   following registry key:
65
66   HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Services for UNIX
67
68   Set the DWORD value "EnableSetuidBinaries" to 1; then reboot.
69
70 =====
71
72 IMPORTANT NOTES
73
74 * The package imanager (either the pkgsrc "su" user, or the user
75   running "pkg_add") must be a member of the local Administrators
76   group.  Such a user must also be used to run the bootstrap.  This is
77   slightly relaxed from the normal pkgsrc requirement of "root".
78
79 * The package manager should use a umask of 002.  "make install" will
80   automatically complain if this is not the case.  This ensures that
81   directories written in /var/db/pkg are Administrators-group writeable. 
82
83 * The popular Interix binary packages from http://www.interopsystems.com/
84   use an older version of pkgsrc's pkg_* tools.  Ideally, these should
85   NOT be used in conjunction with pkgsrc.  If you choose to use them at
86   the same time as the pkgsrc packages, ensure that you use the proper
87   pkg_* tools for each type of binary package.
88
89 =====
90
91 KNOWN ISSUES
92
93 * It is not necessary, in general, to have a "root" user on the Windows
94   system; any member of the local Administrators group will suffice. 
95   However, some packages currently assume that the user named "root" is
96   the privileged user (these will eventually be fixed).  To accommodate
97   these, you may create such a user; make sure it is in the local group
98   Administrators.
99
100 * "pkg_add" creates directories of mode 0755, not 0775, in $PKG_DBDIR.
101   This will be fixed.
102
103   For the time being, install packages as Administrator, or use a
104   "chmod -R g+w $PKG_DBDIR" after installing a package to work around it.
105
106 =====