Commit Graph

45 Commits

Author SHA1 Message Date
John Baldwin
4b6c29cebc - Rename installFixupBin to installFixupBase to finish up the 'bin' to
'base' dist rename.
- Rework struct dist to allow for different types of dists.  There are
  currently three types of dists: DT_TARBALL, the traditonal gzipped and
  split tar file; DT_PACKAGE, a package; and DT_SUBDIST, a meta-dist in
  the tree that has its own array of dists as its contents.  For example,
  the 'base' dist is a DT_TARBALL dist, the 'perl' dist is a DT_PACKAGE
  dist, and the 'src' dist is a DT_SUBDIST dist with its own dist table
  that contains 'sbase', 'ssys', etc.
- Add helper macros for defining array entries for the different types of
  dists to try and make the statically defined dist table in dist.c more
  readable.
- Split the logic to deal with a DT_TARBALL dist out of distExtract()
  and into its own distExtractTarball() function.  distExtract() now
  calls other functions to extract each dist.
- Tweak the percentage complete calculation in distExtractTarball() to
  do the multiply prior to the divide so it doesn't have to use floating
  point.
- Axe the installPackage() function along with the special handling for
  the perl and XFree86 dists in distExtractAll() since distExtract()
  handles package dists directly now.
- Add back in subdists for the X packages based on the split up packages
  that XFree86-4 uses that as closely map to the X dists we used with
  X 3.3.x.
- Lots of things like distSetX() and the X dist masks are no longer
  #ifndef X_AS_PKG since we use them in both cases now.
- Make the entire installFixupXFree() function #ifndef X_AS_PKG, we only
  call it in that case anyways, and it's not suitable for the X_AS_PKG
  case.
- Add in X dist menus for the X_AS_PKG case.

Approved by:	re
2003-01-17 19:05:32 +00:00
John Baldwin
404846adf0 Only include the diskPartitionEditor script command if WITH_SLICES is
defined.

Approved by:	re
2002-11-27 19:41:06 +00:00
John Baldwin
6fe0921bc4 Expand X_AS_PKG so that we don't declare distribution bitmasks or menus
for the X distributions if X_AS_PKG is defined.

Tested on:	i386
Approved by:	re
2002-11-27 18:36:30 +00:00
John Baldwin
e364f0da42 Fix handling of the 'noError' variable. According to the code comments,
one can set the 'noError' variable to ignore any errors that occur for the
next command.  However, the code was only unsetting 'noError' when an error
actually occurred, so if you set 'noError', the next command completed ok,
and the command after that failed, the second command's failure would be
ignored.  This fixes this by performing the 'noError' check earlier and
then unsetting 'noError' after every command that is run.

Sponsored by:	The Weather Channel
2002-06-03 19:42:49 +00:00
John Baldwin
77218da374 Add a 'mediaClose' script command to close the open media. An example use
would be to unmount the CD you installed from and prompt the user to
eject it before rebooting the machine.

Sponsored by:	The Weather Channel
2002-06-03 19:39:28 +00:00
David E. O'Brien
4807422fe7 Switch to using XFree86 version 4. We do this thru installing the package,
so know we have proper PKG registration and dependency information.

This is a WIP for 5.0 DP #1, so it is still rough around the edges and
does not GC the old XFree86 3.3.6 handling stuff that should be GC'ed.
Sponsored by:	FreeBSD Mall, Inc.
2002-04-02 20:42:54 +00:00
Robert Watson
0c09bcb0e8 Compensate for default disabling of network services in inetd.conf(5)
by providing the opportunity to edit inetd.conf during the system
installation process.  The following modifications were made:

(1) Expand the Anonymous FTP description dialog to indicate that inetd
    and ftpd must be enabled before it can be used.

(2) Introduce a new configInetd() pair of dialogs, the first describing
    inetd, giving a couple of examples of services that require it, and
    hinting at potential risk, then asking the user if they wish to
    enable it.  The second indicates that inetd.conf must be configured
    to enabled specific services, and asks if the user would like to
    load inetd.conf into the editor to modify it.  Add this
    configuration action to the index.

There are some further improvements that might be considered:

(1) Provide a more inetd.conf-specific configuration tool that speaks
    inetd.conf(5).  However, this is made difficult by the "yet another
    configuration format" nature of inetd.conf, as well as its use of
    commenting to disable services, rather than an in-syntax way to
    disable a service without commenting it out.  Submissions here
    would probably be welcome.

(2) There's some overlap between settings in the somewhat obtuse
    Security Profile mechanism and other settings, including the inetd
    setting, and NFS server configuration.  As features become
    individually tunable, they should probably be removed from the
    security profile mechanism.  Otherwise, somewhat counter-intuitively,
    sysinstall (in practice) queries multiple times whether inetd, nfsd,
    etc, should be enabled/disabled.  A possible future direction might
    be to drive profiles not by degree of paranoia, rather, the set
    of services desired.  Or simply to remove the Security Profile
    mechanism and resort to feature-driven configuration.

Reviewed by:	imp, chris, jake, nate, -arch, -stable
2001-08-02 03:25:16 +00:00
Kris Kennaway
a015c9348c Mark relevant functions __printflike()/__printf0like() and silence some of
the non-constant format string warnings.

MFC after:	1 week
2001-07-05 09:51:09 +00:00
Dima Dorfman
13704ca508 Introduce DEVICE_INIT, DEVICE_GET, and DEVICE_SHUTDOWN macros. As the
names suggest, they perform methods on Device's.  In addition, they
check that the pointer passed to them is valid; if it isn't, they
pretend that the action failed.  This fixes some crashes due to NULL
dereferences (e.g., PR 26509).

Approved by:	jkh (some time ago)
2001-07-02 00:18:04 +00:00
Jordan K. Hubbard
b9d13dac47 One whack at the idea of having "security profiles" which select the
appropriate(?) defaults for "low", "medium" and "high" security
environments.  Medium is basically what we currently have with a little
seat-belt tightening where it made sense.  Low is the same as medium but
without the tightening.  High is positively fascist with nothing turned
on by default and an automatic call to 911 if it can find a modem.
2000-09-22 19:12:41 +00:00
Jordan K. Hubbard
88007fd897 Revise this for the brave new world of "crypto"
Submitted by:	markm
Approved by:	me!
2000-02-29 09:09:36 +00:00
Jordan K. Hubbard
be4a40d0eb Don't call it a Novice install, call it Standard.
Also say thousands of packages, not hundreds.
2000-02-18 07:09:45 +00:00
Jordan K. Hubbard
98bfd247d1 Add support for FTP installation via HTTP proxies.
Submitted by:	Philipp Mergenthaler <un1i@rz.uni-karlsruhe.de>
PR:		11316
2000-01-04 04:50:07 +00:00
Jordan K. Hubbard
7025aeb16e Completely rip-out and redesign sysinstall's refresh model as well
as redoing all the menus to have proper, or at least non-hallucinogenic,
keyboard accelerators.

This requires my recent update to libdialog to work properly and will
probably also exhibit some other "interesting" behavior while the last
few missing screen clears are found (which is why I'm not going to MFC
immediately).  At least now, however, sysinstall does not gratuitously
redraw random screens at the drop of a hat and drive serial console
installers out of their minds.
1999-12-14 04:25:29 +00:00
Jordan K. Hubbard
bc775f8b25 Allow distributions to be excluded more easily in scripts.
Submitted by:	Brian Dean <brdean@unx.sas.com>
1999-11-08 11:51:57 +00:00
Peter Wemm
97d92980a9 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
Jordan K. Hubbard
4d24621b10 o Make package matching for specific package loading use the Latest/
feature of packages now so that no version info is embedded.

o Add a default X desktop menu offering afterstep, enlightenment, KDE, GNOME
  and Windowmaker desktops instead of the boring twm(1) based one if the
  user so chooses.  This will require a little testing.
1999-04-27 14:33:29 +00:00
Jordan K. Hubbard
c8f07a79f8 Remove the registration stuff; we're redoing this and the emailed
registrations have a high failure rate for various reasons.
1999-04-24 01:53:55 +00:00
Jordan K. Hubbard
63cad5499d Totally change the way variables are accounted for in sysinstall.
Now we know which variables are internal and which need to be
backed to /etc/rc.conf.site.  rc.conf is not touched now.

Also kget kernel change information back properly and set up a loader.rc
file to use it.
1999-02-05 22:15:52 +00:00
Jordan K. Hubbard
18c434c8f2 o Break fixups into binary fixups and XFree86 based fixups.
o Move fixups into extraction routine so all consumers don't have to duplicate
  the right behavior.
o Make some things more orthogonal (just for asthetics sake)
o Add option to go back and do it again if XF86Setup fails (possibly with
  a different setup - this one has always annoyed me).
1998-11-15 09:06:20 +00:00
Jordan K. Hubbard
8eac04a792 MF22: Paul Traina's changes. 1998-07-18 09:42:02 +00:00
Paul Traina
69ac164732 Put all variables in VAR_ #define's to force a single location for all
of these magic knobs.  This is purely cosmetic and a documentation issue
so we don't have to glop through the source code looking for gems.
1997-09-17 16:18:22 +00:00
Jordan K. Hubbard
9f86ac0aa7 Much better dispatch code and scripting support.
Submitted by:	pst
1997-09-16 18:57:18 +00:00
Jordan K. Hubbard
321a8d519a Make upgrade potentially a little less interactive.
Add and document new loadConfig function (sort of like a script #include).
Make TCP/IP setup far less chatty when it doesn't need to be.
1997-09-08 11:09:11 +00:00
Jordan K. Hubbard
86ff624834 Make some changes to the way the label editor reads script variables
so you don't need to re-enter it for each and every filesystem. Heads up!
This change is incompatible with the previous scripting format,
so those folks (all 2 of you) using config files should take a look
at the changes to the sample install.cfg file for the diskLabelEditor's
new calling syntax.

Finally write a man page for this thing, documenting all of the above
and more.  I can't drive a stake through this thing's heart without
properly documenting it first, so please consider this step #1 in that
process (to be honest, sysinstall will also live on for some time in
the 2.2. branch since it's unlikely that the new install tools will ever
make it over there - they're strictly 3.0 material).
1997-08-11 13:08:29 +00:00
Jordan K. Hubbard
5028762fea Eliminate Samba configuration. Sorry, but this was another one of
those ideas that, like the Apache server setup, was well-intentioned
but doomed to fail in the face of change.  That and the fact that it
shouldn't be part of the installation tool, it should be part of the
post-installation setup tool (which we need to write).  Combining the
two utilities into one utility was my first conceptual mistake.

Apologies also to Coranth Gryphon, who worked hard on the Apache
and Samba server setup code.  These features were quite useful
for awhile, if that's any consolation, I just simply had the wrong
ideas about where to put them. :-(
1997-07-16 05:22:42 +00:00
Jordan K. Hubbard
b4cfcc4383 Adjust my installation script to more closely match reality.
Add a system command to script mechanism (so you can call things like
tzsetup from scripts).

Add noError variable for causing script errors to be ignored.
1997-06-22 09:45:41 +00:00
Jordan K. Hubbard
31377e1f1f Change the way that X configuration method is selected. 1997-06-21 15:45:15 +00:00
Jordan K. Hubbard
17c5409baf YAMF22 1997-06-13 17:55:32 +00:00
Jordan K. Hubbard
55bdcc5909 YAMF22 1997-06-13 09:34:10 +00:00
Jordan K. Hubbard
50bd8586a0 YAMF22 1997-06-12 07:35:40 +00:00
Jordan K. Hubbard
8e45ec2c8c Resurrect / implement some of the more esoteric scripting features,
such as partitioning a disk or overriding an interactive prompt.
1997-06-05 09:48:03 +00:00
Jordan K. Hubbard
dc6995f3e1 Actually, rethink last commit and simply remove the apache configuration
entirely, as promised earlier (it's outdated now and doesn't really belong
in sysinstall).
1997-05-22 00:17:11 +00:00
Jordan K. Hubbard
628febdfb7 Sync with 2.2. 1997-03-10 21:11:57 +00:00
Jordan K. Hubbard
7c8f98f5b7 Add a registration screen so we can finally start counting our little user
puppies.
1997-03-09 22:25:49 +00:00
Peter Wemm
b97fa2ef50 Revert $FreeBSD$ to $Id$ 1997-02-22 14:13:04 +00:00
Jordan K. Hubbard
37c16c5340 Clean up a long-standing bug in the scripting code. You could set variables,
but you couldn't call functions!  Now you can do both.
Guard against whitespace pollution in variable names.
1997-01-16 10:24:09 +00:00
Jordan K. Hubbard
1130b656e5 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
Jordan K. Hubbard
507372af02 Now that I've got my source tree sorted out, bring all the things
I've been committing into 2.2 directly all this time.
1996-12-14 23:09:10 +00:00
Jordan K. Hubbard
5def50038a Use macros for package names so it's easier to update them in one
place (sysinstall.h) when packages change rev.

Change the way that the routing daemon is configured entirely, to
placate Joerg.  Also auto-load gated if it's specified, while we're at it.
1996-11-04 12:56:33 +00:00
Jordan K. Hubbard
23c0fda959 Installation cleanup, round II. 1996-10-01 12:13:29 +00:00
Jordan K. Hubbard
fdc0e7826c Document shortcuts.
Fix a bug which prevented variables from working properly
1996-07-02 10:57:58 +00:00
Jordan K. Hubbard
0006fae5d6 Allow argv[0] to be a command also. 1996-06-26 09:09:30 +00:00
Jordan K. Hubbard
dabbacad12 Implement selective text attributes for the syscons vty / vt100 emulator
selection since an attribute which looks good on a color console doesn't
necessarily look good in an xterm.
1996-06-08 09:08:51 +00:00
Jordan K. Hubbard
16185b823a Fix some long-standing malloc bugs in the package handling code (freeing garbage
in one place, leaking memory in another).

Add a facility to invoke subsystems directly by naming them on
sysinstall's command-line when running post-install.  A replacement
for pkg_manage might, for example, be `/stand/sysinstall configPackages'

Fix bogon where upgrade shell was entered with tty modes spammed.

Fix bug with release name checking in ftp_strat.  Turned a bunch of
bogus exit()s into proper calls to systemShutdown().
1996-05-16 11:47:46 +00:00