Commit Graph

64 Commits

Author SHA1 Message Date
martin e9705aba47 Clear the remainder of the status line after updating it - this allows
messages to be of arbitrary length w/o leaving garbage from previous
ones.
2007-10-09 18:43:26 +00:00
martin 109baa1a34 Make the DEBUG version build again. 2006-09-29 09:29:12 +00:00
snj a640fe8c43 It's "its." 2006-04-24 19:00:29 +00:00
dsl ac97411677 Use a menu for 'install from floppy' questions.
Ask whether the user wants to delete the fetched files (ftp and floppy) after
install.  Delete after sucessful install of each file.
Kill bufferred tty input in a couple of places when typeahead will be wrong.
Code added to run.c to do a 'cd' in the child, unused (so far).
2006-02-25 20:21:00 +00:00
dsl 9fc0a7f722 Rework the installation loop so that it is possible to change the source
of the sets after an error.
A side effect is that it now does fetch-install-fetch-install..., not
fetch-...-fetch-install-...install.
The set selection code now uses a byte per set (not a bit-pattern) removing
the restriction of 32 sets, and allowing a per set status display (TBC).
Also TBC is deleting sets from /usr/INSTALL.
However I believe it works...
2006-01-12 22:02:44 +00:00
dsl 630725bdbc Put 'Delete ?' (not "yes or no") in box when we ask whether the user
want to keep or delete the dist files.
Stop the "type enter to continue" if the rmdir fails - may not be empty.
Report an error if the chroot() (for RUN_CHROOT) fails.
fflush log and script files before writing to them from a child.
2005-02-26 17:40:49 +00:00
dsl 8cc827516a Remove used variable 2004-10-16 12:52:30 +00:00
dsl 3a2118e931 A load of usability fixes mainly to network installs.
I've made the error retry loops go back as far as the input menus.
Split all the pathname inputs into 2 pieces (base directory and set directory).
Reduced the size of some fixed strings.
Stopped the install aborting if ftp can't find a set (eg the X ones).
The French and Polish transations don't differenciate between Base_dir and
Set_dir - but that can be fixed later.
2004-06-05 21:18:59 +00:00
dsl 9e2ccccce9 Don't leak an fd if malloc() fails in collect() 2004-05-15 21:51:30 +00:00
dsl 31d8f670de - Change enum for partition numbers from [A..Z] to PART_[A..P] (16 is enough)
- Rename run_prog() to run_program() and remove the 'errmsg' argument (almost
  never used).
- Be consistent about #define<space> in defs.h
- Allow BSDFFS partitions to be FFSv1 or FFSv2 (fixes PR install/23547)
- i386: install correct bootblocks for root filesystem type.
- Do 'fsck -p' before all mounts (but never a full fsck), rename fsck_xxx()
  to mount_xxx() and remove some wrapper functions.
- Allow root to be an APPLEUFS partition - and allow them to be newfsed,
  should fix PR install/23198
- Redo fstab processing for upgrade to avoid large static data items and
  memory leaks.  Change walk() to abort on user defined error.
  (the fstab stuff really needs more work though...)
- i386: 'Warp' cursor to alternate option when selecting console/bootblocks,
  should fix PR port-i386/23546.
- Allow MENU_ok and MENU_yesno to take user defined title.
- Ensure that mountpoint not defined for swap (and similar issues) when
  editing netbsd label.
- Tweaks to error handling in run_program(), allow user to say that errors
  are expected or that the display shouldn't be cleared before returning.
- Remove some old code that has been festering under #if 0
2003-11-30 14:36:43 +00:00
dsl 5815f1a577 Line up 'Command' and 'Status' strings,
ensure command text doesn't overflow line.
2003-11-11 17:27:13 +00:00
dsl 7ef7a3f227 Checkpoint a load of changes - seems to work ok still.
- rework run_prog() so that the program name (etc) is usually displayed if
  the program generates any output, or terminates with an error.
  Allow arguments to included in single quotes.
  Try to collect console output so it doesn't interfere with curses.
- Add a '*' to the cylinder count if non-integral number of cylinders
  (on disklabel editor)
- Only show partition type for unused partitions.
- Show size including unused space on '+' partition, remove a..z since
  the don't relate to partition IDs (netbsd partition sizes)
- Fix deleting of 'user' partitions - killed size of next ptn.
- Don't default a swap partition is the disk already has one.
- Fix deleting of extended MBR partitions - changed size of ptn 2.
- Show error message if user tries something illegal in mbr editor.
- Default to old diskname (actually disk type - dunno why!)
- Use MI enable_rc_conf() to set RC_CONFIGURED=YES, use a single sed
  command instead of a raft of code playing with files etc.
- Float some menus to just below header text, saves counting and lets
  language variants have different height headers (use y=-1)
- Track whether anything is mounted on /mnt2 better.
- Put more texts into message file.
- Change english prose texts to be more correct.
- Stop french and polish versions core dumping if ptn start/size changed.
- Fix processing logic for saving /etc (action is still borked)
- Do tail-end setup if any sets (eg X) can't be found (but not if you give
  in (yet)).
2003-10-19 20:17:31 +00:00
dsl df047cb827 Just convert \r\n to \n\r when relaying program output.
Ensure we never write an undefined error message.
Remove support for RUN_SYSTEM - it isn't used and there are too many paths
through this code....
2003-09-27 10:38:05 +00:00
dsl 144c38f82d Don't delete \r that aren't followed by '\n' when relaying program output.
Needed to get progress bar displayed correctly.
Kill a level of indent to get some coding space.
2003-08-09 19:26:38 +00:00
itojun 4b276b6083 use bounded string op 2003-08-06 13:56:58 +00:00
dsl 117888d14f When writing /etc/fstab:
add support for setting mount options of async, noatime, nodevmtine and softdep.
add noauto if 'mount' was not requested.
add entry for /proc (with noauto)
Display fragment size and block size on the correct line.
Ask for numeric fragment size (not # fragments/block).
Show one unused partition when editing disklabel.
Zap all fields when a partition is made FS_UNSED.
Tweak some menu texts (a space at the end of a line causes a line break!).
Simplify code that displays output from commands - curses is requied to not DTRT
with CR/LF sequences, I need to revert libcurses :-(
2003-08-05 13:35:26 +00:00
dsl 02dbd70852 Remove extra process and pipe that relayed data from the master pty
to sysinst's main process when a command is run (eg the file list from pax).
Since the pty is in 'packet' mode, the boundaries of the pty reads would
need to be preserved in order to detect control records.
If the pipe became full the main process could treat part of a filename
as a control byte and then save the rest of the name as tty settings.
The effect of 'random' tty settings is unknown, but could be responsible
for core dumps while displaying the full file list from pax.
I suspect that the extra pipe was originally used because select wasn't
supported on the master side of a pty (not checked).

Also cd out of /targetroot if set installation is killed with ^C ^C.
2003-07-28 11:32:21 +00:00
dsl 96ace5d58c Remove 'menu_ent' parameter from action routines.
Add menu for all disklabel partition types.
Default 'partition type' and 'sizechoice' menus to current value.
Change 'standard/use existing' to 'set sizes/use existing'.
2003-07-27 07:45:08 +00:00
dsl 7f5beafa6b Sprinkle a load of consts, and change a few variable names.
Now compiles with WARNS=3.
2003-07-25 08:26:21 +00:00
dsl 6684cadd5e Remove some fixed length strings.
Do limited filename globbing.
2003-07-18 09:34:42 +00:00
dsl 9c3018b9f2 Remove the endwin() and refresh() pair which caused the screen to flash
whenever a command was run.  Maybe a screen redraw is required if the
command is able to corrupt the screen - but the refresh was happening
much too early to fix that, and it would be better to collect/discard
the commands output anyway.
2003-07-17 19:44:53 +00:00
dsl 0f636f6d49 Ensure correct curses tty settings are restored after a program runs.
Remove the abberant call to endwin() in i386 md_update() that caused
echo to be left on. I've not removed the endwin from the other ports.
Only run MAKEDEV if etc.tgz installed.
Some extra sanity checks on an 'rm -rf %s'.
2003-07-10 13:36:48 +00:00
dsl 0e919832bd Another pass of the rototiller. Mainly:
1) New MBR editor
2) Hierarchic timezone menu
2003-07-07 12:30:19 +00:00
dsl 08fc1c1957 A load of KNF changes, plus a couple of strnxxx => strlxxx my fingers did
on the way through.
2003-06-16 19:42:13 +00:00
dsl 8376bdad86 Add extra parameter (exit text) to new_menu() calls 2003-06-04 19:09:50 +00:00
dsl 19b2fb2fb0 Add NULL to all process_menu() calls - value is passed through to the
action routine.
Make the french and polish versions compile.
NB needs a new version of menuc - so need 'build.sh tools'
2003-06-03 11:54:48 +00:00
martin 246aa3ebe9 Avoid a spurious warning (with random errno) if read(2) returns 0
(i.e. at EOF).

This should close PR install/20054.
2003-02-09 16:31:05 +00:00
christos 2d7e213ded pass lint[pass1] 2003-01-10 20:00:27 +00:00
fvdl 171b46b525 FILE *log -> FILE *logfp, to avoid warnings about gcc-current's
builtin log() function.
2002-12-05 01:17:15 +00:00
jdolecek b29d271447 change launch_subwin() to pass failure reason back to caller, add check
pipe(2) call was successful
make launch_subwin(), va_prog_cmdstr() static
2001-09-13 18:07:26 +00:00
mrg d436dd6641 extend sysinst disk handling, some general clean ups, better /etc support
and some sparc64 fixes.  details:

- new scripting_{,v}fprintf() that also write to the script log (if open).
- support of creation of LFS filesystems
- standard installs now allow one to choose which file systems to create,
out of the list of /usr, /var, /home, MFS /tmp, and swap.  a / is always
created, but the rest all optional. [*]
- new disklabel method: use existing.  this requires one to fill in the
mount points (and having at least a "/" is enforced).
- preservation of existing filesystems (at install) is supported.
- rewrote most of make_fstab(): the entire thing is generated from the
bsdlabel now, rather than hard coding / to 'a' and swap to 'b'.  create
MFS /tmp if requested.
- if IPv6 support isn't present, don't display any ipv6 messages.
- better rc.conf support
- sparc & sparc64 default to "cylinders" now.
- choosing "standard" instead of "standard with X" de-selects the X pkgs
by default.
- sparc64: don't install bootblocks until we have a complete system, avoids
booting with no /dev/console.
- sparc64: bump STDNEEDMB, it is way low.


[*] i have added default values for DEFVARSIZE & DEFUSRSIZE (this is used
only if /usr and /home are selected) to each port, based on STDNEEDMB.  as
such, my guesses might be wrong so port maintainers should look at these.
2001-01-14 02:38:13 +00:00
mrg 8da46e6897 de-__P()-ify 2000-12-22 10:12:12 +00:00
fvdl 30b8888d4a * Change the interface of run_prog: use a flags argument instead of
seperate booleans. Add flags to run as a plain 'system()' command,
  fullscreen (but on a pty), and chrooted, and implement their
  functionality. Add a bit of TIOCPKT handling code to handle
  programs messing with term settings better.
* Ask to set the root password at the end of an install.
* Remove a few unneeded comments.
* Sprinkle some touchwin() calls here and there to make the output cleaner.
  They shouldn't really be needed, but even normal usage (no syslog
  messages) even left the screen messy sometimes.
* Change some messages around that were apparently swapped by accident and
  thus caused confusion.
2000-10-11 23:47:55 +00:00
hubertf caa284ac57 * Add timezone-setting menu to sysinst, offering all timezones from
(/mnt)/usr/share/zoneinfo in a listbox, and setting (/mnt)/etc/localtime
   accordingly.
 * Adjust for the needed menuc change un run.c's log_flip() and script_flip()
   functions.

Related PRs:
 5777   sysinst does not offer to tweak /etc/localtime
 8099   changing the default time zone is non-obvious
 9910   sysinst doesn't ask about setting timezone
2000-08-15 01:08:00 +00:00
thorpej d972fb140a Don't access curses internals, use getmaxy() instead. 2000-04-14 21:46:11 +00:00
he 5b26c39aa4 Remove local declaration of errno, rely on <errno.h> instead. 2000-01-24 10:40:56 +00:00
mycroft 4fe7833802 Fix display problems:
* Use endwin() strategically so that the child does not corrupt the display
  when suspending or exiting.
* Handle backspace.
* Only do one refresh per buffer-full.
* Eliminate redundant code.
2000-01-19 09:44:01 +00:00
mycroft 03d845d8cf Fix display glitch when suspending and resuming. 2000-01-19 08:46:26 +00:00
mycroft c82f5a6009 In command execution displays, only draw a single line between the status
display and the output window, not a whole box.  This looks better, and it
works much better on terminals.
2000-01-13 18:52:21 +00:00
jeremy c85fda06d1 Added error checking to log and script file creation functions.
Prevents sysinst from coredumping should the root filesystem be accidentally
mounted read-only.
2000-01-07 02:02:05 +00:00
abs b148673ade If the first wait4() in launch_subwin() caught the child exiting, the loop
would never exit. This resulted in somewhat suboptimal infinite install times.
1999-07-14 16:30:58 +00:00
cgd c624190287 convert run_prog's error message from being a "const char *" to a msg.
XXX Only the callers that actually pass strings were fixed, the rest were
XXX left passing 'NULL'.  Eventually they should be cleaned up to pass
XXX MSG_NONE, but I didn't want to do that yet because somebody else
XXX (jonathan) is hacking on the run_prog callers and I didn't want to
XXX cause him a Lot of conflicts.  at least right now, MSG_NONE and NULL
XXX are as equivalent as they need to be.
1999-07-04 21:39:33 +00:00
cgd 1904092f06 message const poisoning, and conversion from integers to an opaque
message type.
1999-07-04 21:32:48 +00:00
cgd afa3578c2f provide a way to ignore tty-generated signals (INTR and QUIT) and/or
forward them on to subprocesses.  nice when running a subprocess in
a display window to allow the user to kill the subprocess w/o nuking
sysinst itself.  add handling for QUIT, which gets handled the same
as intr.  add handling for HUP which just cleans up.  More signals
should be handled.
1999-06-22 00:43:57 +00:00
cgd f337a5c974 actually use all of the action window for command output 1999-06-21 02:55:27 +00:00
cgd 7f0f3a202c simplify the code to display cmd output in subwindows slightly. while
at it, remove the gratuitous inefficiencies.
1999-06-21 02:47:41 +00:00
cgd 9c8517c573 handle CRs properly when running cmds w/output to subwin 1999-06-21 02:31:17 +00:00
cgd f4ce9a35ea nuke extra spaces around logging menu title, allow the menu to be
automatically horizontally centered.
1999-06-20 20:26:42 +00:00
cgd a640bc7014 copyright notice typo fixups, as noticed in PR#7248. This software
was developed, not develooped.
1999-06-20 06:08:13 +00:00
garbled 128b6749ab Check the return code of subwin and newwin for NULL. 1999-06-20 04:17:57 +00:00