Commit Graph

116 Commits

Author SHA1 Message Date
Ken Smith
b739742ca9 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
Ken Smith
c0523a3bb5 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
Ken Smith
4f0cddb625 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 Lucistnik
f8848b4f6a - Add new virtual category kld
MFC after:	3 days
Approved by:	re (mux)
2007-06-28 17:42:20 +00:00
Florent Thoumie
9cb3e36c56 Add new x11-drivers category.
Reminded by:	miwi
MFC after:	3 days
2007-05-19 21:27:37 +00:00
Pav Lucistnik
f9d0273a09 - Update for new tcl categories
MFC after:	3 days
2007-04-03 08:19:31 +00:00
Erwin Lansing
d43c17aa76 Add gnustep and ports-mgmt ports categories.
Reviewed by:		simon
MFC after:		3 days
2007-01-31 19:13:08 +00:00
Erwin Lansing
db8e6345c3 - 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 Lansing
ab5e0c9ec1 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 Lansing
60be46aeff 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
Ken Smith
baddd88f3f 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
John Baldwin
9d4514b0fd 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
Doug White
c23f4ee59f Don't ask about CD numbers if not installing from CD.
Approved by:	re
2005-07-02 22:34:22 +00:00
Ken Smith
4bef1beb18 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 Stokely
06060d5d6d 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
Ken Smith
d713872fde Update the list of package names/descriptions.
Last second MFC candidate?
2004-11-03 18:26:06 +00:00
David E. O'Brien
75fcf8a737 I missed a s/package_exists/package_installed/ in the last commit. 2004-01-02 09:52:49 +00:00
David E. O'Brien
1618a91860 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
Maxim Sobolev
892c3d7abc 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
Akinori MUSHA
5d7c75f0ad 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
Akinori MUSHA
909a4b7cd3 Add tcl81 that was missing. 2002-09-09 17:53:41 +00:00
Brian Somers
27a0cd1ccf MFS: Extend a buffer size so that packages with particularily deep dependency
lists install properly.
2002-05-17 09:46:46 +00:00
Murray Stokely
bb2d14481b 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 Stokely
1dde8e0111 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 Stokely
9838440951 Silence warnings :
Use static as necessary.
   Use __unused as necessary.
   sizeof(int) != sizeof(void *)
2001-09-22 22:21:01 +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
Dima Dorfman
3676cbfbf4 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
Satoshi Asami
db51163fa1 Add picobsd. 2001-04-22 16:55:11 +00:00
Satoshi Asami
b44318d3c2 Add new categories science and ukrainian. 2001-03-24 21:52:25 +00:00
Jordan K. Hubbard
7257af7aa3 s/dependant/dependent
Submitted by:	rwatson
2001-03-24 01:26:51 +00:00
Jordan K. Hubbard
d97b90c7fc 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
Jordan K. Hubbard
621005e3cb 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
Maxim Sobolev
301a545c0d "zope language" --> "zope platform".
Requested by:	asami
2000-09-22 06:53:44 +00:00
Satoshi Asami
418c506d48 Add french and zope. 2000-09-22 06:32:55 +00:00
John Baldwin
5d971dc0d9 Add in the linux, tcl83, and tk83 ports categories.
PR:		bin/20328
Submitted by:	obrien
2000-08-16 18:44:40 +00:00
John Baldwin
984f371109 Add new 'ruby' ports category.
PR:		conf/20629
Submitted by:	asami
2000-08-16 17:44:35 +00:00
Satoshi Asami
52527e8d67 Add hebrew. 2000-07-31 00:16:28 +00:00
Jordan K. Hubbard
f3026a61ef Increase the size of the various index variables; there was
some overflow occurring.
Submitted by:	steve
2000-02-13 21:11:28 +00:00
Jordan K. Hubbard
1344c9bdf6 MFC: new categories 2000-02-10 01:44:37 +00:00
Jordan K. Hubbard
8e23f29e15 More cosmetic surgery and a nasty null pointer bug in index.c fixed. 1999-12-19 06:34:22 +00:00
Jordan K. Hubbard
a322c54678 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
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
bc9c6dbbd6 Add the latest categories. 1999-11-08 16:23:34 +00:00
Jordan K. Hubbard
3910e95363 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
Jordan K. Hubbard
d03dcaa779 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 Wemm
97d92980a9 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
Satoshi Asami
c32d66c130 Add new ports category "ftp". 1999-08-02 11:33:19 +00:00
Jordan K. Hubbard
7050843886 Eliminate some varargs abuse. 1999-07-02 22:36:14 +00:00
Bill Fumerola
40bebd321a New ports/{java,irc,x11-servers} categories, Step #5 - update misc files. 1999-06-28 02:37:34 +00:00