116 Commits

Author SHA1 Message Date
kensmith
eac902752f Package installation is handled by starting off with the list of packages
the user selected and then recursively installing their dependencies, finally
installing the ones the user selected after the recursion unwinds.  Since
users often select "high-level" packages that are on a higher numbered
disc for the multi-volume release CDROMS this resulted in excessive disc
swapping while installing things like kde, gnome, etc.

Cut down on disc swapping by iterating through the disc volumes one at a
time if we notice the package set is on multiple volumes.  If a package
is on a higher volume don't install it yet, but still "process it" so we
get its dependencies installed.  Because of the way the package sets for
releases get assembled we're guaranteed dependencies will be on the same
volume or lower.

Reviewed by:	jhb
MFC after:	1 week
2008-10-15 15:54:33 +00:00
kensmith
7b1f74b3d2 Plug a memory leak. Once any given package (e.g. perl) was installed
we would leak a saved screen for every other package we tried to install
that listed perl as one of its dependencies.  When installing things
like gnome and kde that wound up being a LOT of leaked memory.

Insta-MFC request coming so this can be tested as part of 6.3-RC2...

Testing help from:	kris
2007-12-29 04:56:07 +00:00
kensmith
8c3947d45b For the INDEX file to be used on disc1 of the 7.0-RELEASE the longest
"build dependencies" field is 5,108 characters which overflows the
length of the junk buffer by a teeny bit.  This whole section needs
much more error checking but for now just completely ignore stuff
we have no interest in instead of copying it to someplace we don't
use in the process.

Insta-MFC probably coming since this is holding up 7.0-RC1...
2007-12-24 00:43:11 +00:00
pav
bff51e9c12 - Add new virtual category kld
MFC after:	3 days
Approved by:	re (mux)
2007-06-28 17:42:20 +00:00
flz
d0329841d0 Add new x11-drivers category.
Reminded by:	miwi
MFC after:	3 days
2007-05-19 21:27:37 +00:00
pav
b73c81825c - Update for new tcl categories
MFC after:	3 days
2007-04-03 08:19:31 +00:00
erwin
11d416de5c Add gnustep and ports-mgmt ports categories.
Reviewed by:		simon
MFC after:		3 days
2007-01-31 19:13:08 +00:00
erwin
d4c9673d94 - Add geography and spanish ports categories
- Use "related to" instead of "relating to" consistently [1]

Submitted by:   Rostislav Krasny <rosti.bsd@gmail.com> [1]
Reviewed by:    simon
MFC after:      3 days
2006-12-19 16:46:44 +00:00
erwin
2810e9967c Fix a typo ceri found while reviewing and I forgot to commit
in the previous version.

Submitted by:	ceri, matteo
Reviewed by:	cperciva

Also note that the last revision was:
Reviewed by:	ceri, simon
2006-12-11 11:01:13 +00:00
erwin
65d60cf2c0 Update the list of ports categories.
This is an updated version of:
PR:             85367
Submitted by:   linimon

Reviewed by:    simon
MFC after:      3 days
2006-12-11 08:54:17 +00:00
kensmith
d93d3ea462 Move the check for which disc volume we have/want to after we install
the package dependencies.  Installation of the dependencies may leave
us on the wrong disc volume.

MFC after:	3 days
2006-11-19 08:12:54 +00:00
jhb
1ec49d602a Fix numerous warnings. Aside from menu items in system.c and menu.c
this now compiles on i386 with WARNS?= 3.  Most of the fixes included
adding missing 'static' keywords to internal functions, using fully-defined
terminators in statically defined arrays of structs, and various
signed vs unsigned mismatches.  Also G/C'd unused configSecurity()
function.
2006-02-28 21:49:33 +00:00
dwhite
dd5c43b572 Don't ask about CD numbers if not installing from CD.
Approved by:	re
2005-07-02 22:34:22 +00:00
kensmith
f1944299a8 Update parsing of the ports INDEX file to accomodate some new
fields that got added to it recently-ish.  While here document
what each of the fields is based on discussion with portmgr@.

Patch from:     murray (slightly adapted)
MFC after:	1 day
2005-03-24 23:03:39 +00:00
murray
f35fea1e33 Recover gracefully if the user puts in the wrong CD volume after being
prompted to insert another CD for a package.

MFC After:	3 days
2005-03-18 00:55:12 +00:00
kensmith
bf16c0707e Update the list of package names/descriptions.
Last second MFC candidate?
2004-11-03 18:26:06 +00:00
obrien
b2b8372d7e I missed a s/package_exists/package_installed/ in the last commit. 2004-01-02 09:52:49 +00:00
obrien
74a2ee4150 s/package_exists/package_installed/g as that's much more descriptive of
what the function does.
2004-01-02 09:19:13 +00:00
sobomax
63fd51fe66 Increase size of the static buffer used to hold runtime dependency list
read from CD from 2k to 16k, because in the modern world of meta-packages
(Gnome et al) the length of this list could easily owerflow limit causing
strange things to happen, ranging from installation failure due to list
truncation to complete stack trashing (there is very vague bounds checking).
For example, x11/gnome2-fifth-toe runtime dependencies list is 2,418 bytes
long.

Due to obvious reasons, this is an immediate MFC candidate.

Sponsored by:	Porta Software Ltd
MFC after:	1 day
2003-02-27 20:43:52 +00:00
knu
c4af534777 Add several new real categories and virtual categories.
[Those marked with an asterisk (*) are virtual categories]

- accessibility* : Ports to help disabled users

  PR:		ports/39103
  Requested by:	trevor

- finance : Monetary, financial and related applications

  PR:		ports/39102
  Requested by:	trevor

- haskell* : Software related to the Haskell language

  PR:		ports/41959
  Requested by:	obraun

- hungarian : Hungarian language support

  PR:		ports/37576
  Requested by:	Janos Mohacsi <janos.mohacsi@bsd.hu>

- multimedia : Multimedia software

  Requested by:	many

- parallel* : pplications dealing with parallelism in computing

  PR:		ports/39094
  Requested by:	trevor

- portuguese : Portuguese language support

  PR:		ports/35991
  Requested by:	trevor
2002-11-18 09:33:56 +00:00
knu
03f6ecd2b2 Add tcl81 that was missing. 2002-09-09 17:53:41 +00:00
brian
0f2466f1e0 MFS: Extend a buffer size so that packages with particularily deep dependency
lists install properly.
2002-05-17 09:46:46 +00:00
murray
d375e1c241 Add support for an additional field to the packages/INDEX file. If
present, this field specifies the media volume that the disc is
contained on.  If the volume of a given packages is different than the
current volume of mediaDevice, then the user is prompted --

  "This is disc #%d.  Package %s is on disc #%d\n"
  "Would you like to switch discs now?\n"

If the user selects yes, then DEVICE_SHUTDOWN is called and the user
is then prompted --

  "Please remove disc #%d from you drive, and add disc #%d"

This works well for a carefully crafted INDEX file, but more work
needs to be done to sort dependencies on a given package based on the
volume that they reside on, to minimize the amount of disc flipping
required of the user.

This commit is a no-op for normal INDEX files and FreeBSD CDs.  These
additional features are only used if the INDEX and cdrom.inf file have
multi-volume support.
2002-04-13 13:00:42 +00:00
murray
96cd8b4b8c The huge dependency lists of some of our packages has brought
attention to the sub-optimal way that we deal with package
dependencies.  Traditionally, for each package in an INDEX that the
user wants to add, we check all of the dependencies first even if the
package is already installed.  With some GNOME packages, this can
cause package_extract to be called for 50 different dependencies when
we know the top level package is already installed.

The new behavior is to not check dependencies for packages that are
already installed.  This fixes a bug where sysinstall gets itself into
a CPU intensive loop when trying to install sawfish gnome with the
most recent ports/INDEX.  There is a bug somewhere in the ports INDEX,
but with over 6,400 ports we need to be a little more forgiving here.
2002-01-29 21:41:08 +00:00
murray
93c176a9ba Silence warnings :
Use static as necessary.
   Use __unused as necessary.
   sizeof(int) != sizeof(void *)
2001-09-22 22:21:01 +00:00
kris
307edbea2b 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
dd
4a798fb83a 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
dd
72fb52d783 Increase the buffer sizes for the build deps, run deps, and the line
itself verbatim from INDEX.  This fixes seg. faults with newer INDEX
files which have some gnome ports with outrageously long run deps.

Approved by:	jkh
2001-06-22 21:47:55 +00:00
asami
a460df7466 Add picobsd. 2001-04-22 16:55:11 +00:00
asami
9a4702fb59 Add new categories science and ukrainian. 2001-03-24 21:52:25 +00:00
jkh
e0c6f4a727 s/dependant/dependent
Submitted by:	rwatson
2001-03-24 01:26:51 +00:00
jkh
fd2808ffad Fix an informational message a little and properly check status of a yes/no
question which I bollicked up in my previous commit.
2000-12-16 05:36:10 +00:00
jkh
c8394629dc Adapt sysinstall to use the new msgNoYes() function which assumes
no as a default.  Sysinstall should be both less dangerous and less
annoying as a result of this change, though that's just my opinion
(since they're the defaults which annoy ME the least :).
2000-12-14 02:49:02 +00:00
sobomax
dbe68aca96 "zope language" --> "zope platform".
Requested by:	asami
2000-09-22 06:53:44 +00:00
asami
54da84c8d5 Add french and zope. 2000-09-22 06:32:55 +00:00
jhb
2a98230257 Add in the linux, tcl83, and tk83 ports categories.
PR:		bin/20328
Submitted by:	obrien
2000-08-16 18:44:40 +00:00
jhb
0338204b01 Add new 'ruby' ports category.
PR:		conf/20629
Submitted by:	asami
2000-08-16 17:44:35 +00:00
asami
6ad510b9f7 Add hebrew. 2000-07-31 00:16:28 +00:00
jkh
2d7b768a18 Increase the size of the various index variables; there was
some overflow occurring.
Submitted by:	steve
2000-02-13 21:11:28 +00:00
jkh
71b17017a3 MFC: new categories 2000-02-10 01:44:37 +00:00
jkh
bead2e7139 More cosmetic surgery and a nasty null pointer bug in index.c fixed. 1999-12-19 06:34:22 +00:00
jkh
0b50cdfa85 Yet more cosmetic fixes (I have a little time to kill while waiting for
something else, so I might as well tweak 3.4's look-and-feel for the better
while I'm at it - final release build should be sometime later on tonite).
1999-12-18 03:13:19 +00:00
jkh
d3944eb60a 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
jkh
af24dd0170 Add the latest categories. 1999-11-08 16:23:34 +00:00
jkh
2b983202e6 Oh crud, did I ever screw the pooch! Rather than sync this with -stable,
I backed-out the changes in -current and didn't touch stable at all (I
thought I had my patch order reversed, not what actually happened).
AIEEE!  I can't even blame the crack for this one since I broke my
crack pipe a few weeks ago.  I think sleep deprivation gets the blame
for this one.

Medal for noticing this one goes to:	Jim Bloom <bloom@acm.org>
1999-09-02 00:51:16 +00:00
jkh
2fdb12ea19 MFC: Catch 3.2-stable sysinstall up to 4.0-current level functionality,
bringing in DHCP support.  The only thing I left out were Poul-Henning's
newfs changes since I'm not sure if he's brought the rest of that support
into -stable yet.  If it turns out that this is the case, I'll MFC those
changes too.
1999-09-01 04:29:30 +00:00
peter
efabb9ccb1 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
asami
ede804a714 Add new ports category "ftp". 1999-08-02 11:33:19 +00:00
jkh
09d2fcf7ce Eliminate some varargs abuse. 1999-07-02 22:36:14 +00:00
billf
e3def919df New ports/{java,irc,x11-servers} categories, Step #5 - update misc files. 1999-06-28 02:37:34 +00:00