Commit Graph

637 Commits

Author SHA1 Message Date
Jordan K. Hubbard
d14afa6dd2 As per Bruce's advice, use sysconf to get the max argument size and
dynamically allocate that much space, also using snprintf() and strncat()
to do proper bounds checking.
1995-04-26 11:43:20 +00:00
Jordan K. Hubbard
8d006a838c Check dependencies BEFORE doing final extraction of package.
Fix a bug where direct-extract mode would have still invoked the
packing list reordering commands.
1995-04-26 07:43:35 +00:00
Jordan K. Hubbard
0170dd7dec My handling of the missing dependency but !Verbose was wrong. Make
the right message come out.
1995-04-26 06:56:05 +00:00
Jordan K. Hubbard
1c491c8eb8 Use ARG_MAX instead of _POSIX_ARG_MAX: 4K is too small!
This should stop the SIGBUS errors in pkg_create for some packages.
1995-04-24 21:50:11 +00:00
Jordan K. Hubbard
2a20a9edde Stage almost nothing through the playpen now - this should speed pkg_creates
up by a couple of factors, as well as decrease the amount of temporary space
required to build a package down to almost nothing.
1995-04-22 14:55:07 +00:00
Jordan K. Hubbard
3e1a18606d Export the min_free() function. 1995-04-22 13:58:44 +00:00
Jordan K. Hubbard
cbf098db0e Second round:
1. Make paths work correctly.
2. Make pkg_add generally more robust in the face of failure.
3. Make the depend messages come out on stderr or stdout, but not both
   interspersed! :-)
1995-04-22 13:58:24 +00:00
Jordan K. Hubbard
e692e3aa52 1. Add an new @option directive. You'll understand it better in a moment.
2. Fix a long-standing bug in pkg_add where the failure of one package in
   a multipackage installation (pkg_add *.tgz) would blow you right out of
   the water.  Ick.
1995-04-22 07:41:02 +00:00
Jordan K. Hubbard
adbcdd9cce Argh - missed a printf! That should be the last of plist-spewers. 1995-04-22 01:20:13 +00:00
Jordan K. Hubbard
922a707e02 Don't spew garbage into the packing list when PlistOnly and verbose are
both on.  Whoops!
1995-04-22 00:59:33 +00:00
Jordan K. Hubbard
cca32e93aa Some patches to make deletions of non-existent files and directories slightly
less fatal (so that the database entry is subsequently removed anyway).
Submitted by:	Edward Wang <edward@edcom.com>
1995-04-22 00:14:20 +00:00
Jordan K. Hubbard
3a5e372a3d 1. Add proper dependencies to the library in my Makefiles. This was pointed
out by Bruce.
2. Add a "feature" to pkg_create (OK, OK, it's a miserable hack!) to get
   it to dump its internal packing list out so that the `fake-pkg' rule in
   bsd.port.mk can generate a more meaningful packing list.
1995-04-22 00:03:18 +00:00
Jordan K. Hubbard
36034afc79 Correct a bogusly formatted printf(). 1995-04-21 06:30:41 +00:00
Jordan K. Hubbard
8c4e15334e Greatly simplify the calling of mtree - the error handling wasn't working
anyway, at least not with FreeBSD's mtree, and the arguments were being
built incorrectly.
1995-04-19 14:54:25 +00:00
Jordan K. Hubbard
e804f03a5d Add support for the ${PKG_DBDIR} environment variable. /var/db/pkg is the
default, and probably not something you'd ever change, but now it's
possible to do so for local/custom installations.
1995-04-19 14:02:01 +00:00
Jordan K. Hubbard
4b96fa37b0 Use a more nicely formatted message when we run out of space. 1995-04-18 13:04:34 +00:00
Jordan K. Hubbard
1b164cce2b Neither of these tools really told you what you needed to know neatly
and succinctly in verbose mode.  I hope people find this more to their
liking.
1995-04-10 08:01:52 +00:00
Jordan K. Hubbard
6c5325bf0e Add true support for dependency lists.
1. pkg_create now has a -P argument for specifying dependencies on the
   command line.
2. pkg_add will honor dependencies and chain-load them automatically if
   it finds the required package(s) in the same directory as the package
   that is being loaded.  For best results, install packages from a directory
   containing all the packages you'll possibly need
   (like /usr/ports/packages/all).

2 remaining flaws:

1. pkg_add looks in one place (where you were when you loaded the primary
   pkg) for depended packages.  If you can come up with a search path scheme
   that's not a total hack - be my guest!

2. Recursive dependency expansion can result in the name of a dep being
   listed more than once.  This doesn't bother pkg_add since it checks
   for package existance with pkg_info and will skip already-loaded packages.
   I don't know how/if pkg_delete handles this yet, however.  I need to look
   into it.
1995-04-09 15:05:01 +00:00
Jordan K. Hubbard
87e4e7246c Rename TMPDIR to PKG_TMPDIR, just to make Jeff happy.. :-) 1995-02-16 12:43:00 +00:00
Jordan K. Hubbard
6fc1110b71 Make pkg_install use /var/tmp instead of /tmp
Suggested by:	hsu
1995-02-15 03:48:13 +00:00
Jordan K. Hubbard
c090e04591 Whoops! How embarassing. Just now noticed that I forget to update the .Os
lines.  Done.
1995-01-05 10:37:13 +00:00
Jordan K. Hubbard
3852eb465e Fix a bad formatting directive. 1995-01-05 10:31:42 +00:00
Jordan K. Hubbard
8b47e5f5f6 Fix misleading typo in description of @unexec. 1995-01-05 10:22:51 +00:00
Steven Wallace
022402f2be Added new function show_index() which does a 'smart' display of the index file.
Index descriptions are limited to MAXINDEXSIZE (60) chars.  Any description
beyond that is truncated.  Also, only the first line is displayed as well.
This allows pkg_info -a -I to be formated in two columns with one line
per package for easy reading.

Reviewed by:	jkh
1995-01-05 01:10:13 +00:00
Jordan K. Hubbard
ad12efc944 More changes from John T. Kohl. Man pages, mostly.
Submitted by:	jtkohl
1994-12-06 01:04:17 +00:00
Jordan K. Hubbard
8f396ebfb6 Many of John T. Kohl's patches from NetBSD. Thanks, John!
Submitted by:	jkohl
1994-12-06 00:51:50 +00:00
Jordan K. Hubbard
07b5b56eba Don't create packages with bogus @name lines. 1994-11-17 10:54:11 +00:00
Jordan K. Hubbard
3e78200fd8 Protect against old packages with bogus @name fields. Use basename_of()
on the name before recording it in /var/db/pkg.  Sorry, Kaleb, you
were right after all!  It was my fault! :)
1994-11-17 10:53:21 +00:00
Jordan K. Hubbard
d08bdbd3d1 Add a new basename_of() function. 1994-11-17 10:51:51 +00:00
Jordan K. Hubbard
eead05e797 Remove the QUERY_* functions. I don't think they're as good an
idea as I apparently once did.
1994-11-17 10:35:04 +00:00
Jordan K. Hubbard
cfa2a10c70 Sigh. NOW it's ok! :-) 1994-10-14 05:57:49 +00:00
Jordan K. Hubbard
1593f21e50 Print a better verbose message when creating packages. 1994-10-14 05:56:15 +00:00
Jordan K. Hubbard
69bb95d933 This should do it - I forgot about pkg_info. 1994-10-14 05:55:57 +00:00
Jordan K. Hubbard
9b98d77e09 Whoops - variable was in wrong scope. Correct. 1994-10-14 05:43:41 +00:00
Jordan K. Hubbard
ae38c11f2d Fix bug in home directory calculation that I introduced with the free space
checking code.  Fix the free space checking code, while I'm at it! ;)
Thanks to Garrett for spotting the home dir problem.
1994-10-14 05:42:24 +00:00
Jordan K. Hubbard
5da4a65126 Fix bug in home directory calculation that I introduced with the free space
checking code.  Fix the free space checking code, while I'm at it! ;)
Thanks to Garrett for spotting the home dir problem.
1994-10-14 05:34:04 +00:00
Jordan K. Hubbard
90c00ca832 Be optionally verbose about free-space checking. I need this to ascertian
whether or not this always works.
1994-10-08 23:55:36 +00:00
Jordan K. Hubbard
46f5c7be76 Add the ability to verify that a package won't extract in the space
available.  Thanks to Michael Elbel for pushing me in the right direction.
1994-10-04 16:07:50 +00:00
Jordan K. Hubbard
92fdc4d3b4 My last commit to bsd.port.mk made me think - `pkg_create -p ...' should
override the PLIST file's own first @cwd.  Make this so.
1994-10-04 15:54:39 +00:00
Jordan K. Hubbard
61f402e0c8 Don't let pkg_delete remove the recorded location until everything has
absolutely, positively been successfully removed.
Reviewed by:
Submitted by:
Obtained from:
1994-09-29 13:19:43 +00:00
Jordan K. Hubbard
e6da2877bd Delete obsoleted *dist targets. 1994-09-13 10:20:37 +00:00
Jordan K. Hubbard
74650bd888 Make this stop trying to go into /usr/local and inherit the settings
from above instead.
1994-09-13 10:20:02 +00:00
Adam David
d70574cd96 Allow creation of absolute package names
typo index() --> rindex()  in order to split correct suffix
Fix @srcdir so it actually works
Submitted by:	adam
1994-08-29 16:31:38 +00:00
Jordan K. Hubbard
2566293698 Add @srcdir option for customizing creation of packages.
Submitted by:	jkh
1994-08-28 14:15:30 +00:00
Jordan K. Hubbard
21e91f6209 Argh! What a boneheaded bug! Finally fix the blank-line-in-packing list
problem!  I am pond scum!
1994-07-11 01:11:14 +00:00
Satoshi Asami
ef71329dfe Add explanation of -e in usage(). 1994-06-01 05:15:00 +00:00
Satoshi Asami
f19aa10180 Close /dev/tty that is opened in y_or_n()...this is called many times
so it will run out of ptys if not properly closed.
1994-06-01 05:14:19 +00:00
Satoshi Asami
5edd12d270 The environment variable PKG_PREFIX is set to the first @cwd command
in the packing list, or the argument to -p if it is specified, before
the requirements/installation/deinstallation scripts are called.  This
enables the scripts to be written to work on the final installation
destination, even if the user uses -p to override the package's default.
1994-05-25 18:00:04 +00:00
Jordan K. Hubbard
dbda0ec78e Change Header to Id. 1994-05-25 06:28:14 +00:00
Jordan K. Hubbard
4e8667ba2c Add new find_plist() function. 1994-05-25 06:27:24 +00:00
Jordan K. Hubbard
b6532a528a Change in_plist() call to find_plist(). 1994-05-25 06:24:41 +00:00
Jordan K. Hubbard
b2f6083aad Remove find_name(), replace with more generic find_plist() function. 1994-05-25 06:24:18 +00:00
Satoshi Asami
54685a8efa Typo (pkg_add => pkg-add). 1994-05-20 19:35:33 +00:00
Satoshi Asami
da239ee1ba Make clear what arguments the "require" script gets. 1994-05-20 19:34:44 +00:00
Satoshi Asami
45597cd27f Make clear what arguments the "require" package gets (the original didn't
make any sense, with a ".b" instead of ".B" in front of "INSTALL"!).
1994-05-20 19:33:08 +00:00
Andrew Moore
6a87350c4e Add `-h' option to force tar to follow symbolic links 1994-05-19 18:27:41 +00:00
Jordan K. Hubbard
16157b233d Whoops, -Y and -N would work better if they were in the getopts string! 1994-04-16 21:50:53 +00:00
Jordan K. Hubbard
a4723e41a9 Make y_or_n() pay attention to AutoAnswer global. 1994-04-05 14:08:47 +00:00
Jordan K. Hubbard
ceaf47d002 Add -N and -Y flags for auto-answer feature. 1994-04-05 14:05:40 +00:00
Jordan K. Hubbard
2778d8ded3 Cleaning house. 1994-01-06 08:19:38 +00:00
Jordan K. Hubbard
bb9863dc0b If require script fails, don't try to delete installed package. 1993-10-10 20:25:31 +00:00
Jordan K. Hubbard
7f801ea51e Added files necessary for automating packing of distributions. 1993-10-10 20:24:47 +00:00
Jordan K. Hubbard
6e27d75777 Fix problems with executing from current directory 1993-10-08 01:19:35 +00:00
Nate Williams
02954343b7 Now works with/without obj directories 1993-09-20 23:47:51 +00:00
Jordan K. Hubbard
0d58df1c64 Finally stuck a version number on this thing! :) 1993-09-19 01:52:33 +00:00
Jordan K. Hubbard
f165719da7 Added code for doing % sequence expansion, added new @unexec command. 1993-09-18 03:39:50 +00:00
Jordan K. Hubbard
d4473b1c59 Doc new % sequence expansion for command execution.
Fixed bad verbose message.
1993-09-18 03:39:21 +00:00
Jordan K. Hubbard
ec97537369 Make sure permissions on registry location are readable by pkg_info.
Add new % sequence expansion for command execution.
1993-09-18 03:38:48 +00:00
Jordan K. Hubbard
5db659db0b Fixed broken -t flag; thanks Rich! 1993-09-14 19:53:01 +00:00
Jordan K. Hubbard
77277aa67e Whoops - got the exclude flag wrong, try again. 1993-09-12 20:56:40 +00:00
Jordan K. Hubbard
599bf623a8 Fixed an embarassing bug with @owner, @mode & @group 1993-09-12 20:45:53 +00:00
Jordan K. Hubbard
7cb39e249b Added and doc'd -X flag to pkg_create that allows you to specify an exclude
list for the final package.
1993-09-12 20:45:31 +00:00
Jordan K. Hubbard
299ac87439 Rudementary README 1993-09-08 23:46:04 +00:00
Jordan K. Hubbard
d23866636a Added two new options, one of which is fairly far reaching:
-q	turns on "quiet" mode, where informational headers and such are not
	dumped, just the information.

-L	Shows full pathnames of files comprising a package.  With -q,
	this can be useful for doing fileset operations, such as
	"du -s `pkg_info -q -L foo_bin`" to see how much space package
	"foo_bin" is taking up.
1993-09-08 01:46:59 +00:00
Jordan K. Hubbard
4af610b846 Nailed one last lurking ^L. 1993-09-07 01:01:32 +00:00
Jordan K. Hubbard
4710700ef6 Fixed bug in copying script files from absolute locations 1993-09-06 23:28:42 +00:00
Jordan K. Hubbard
df33e97f45 Doc'd option for current directory prefix in @exec 1993-09-06 23:28:19 +00:00
Jordan K. Hubbard
96c8ba9a7a Added option for current directory prefix in @exec (without which it's pretty
useless).
1993-09-06 23:26:21 +00:00
Jordan K. Hubbard
81bbfca32c Added -e flag to pkg_info. Now you can test to see whether a package
is installed or not rather easily (useful for install scripts that want
to check for prerequisite packages).  See man page for details.
1993-09-05 22:36:54 +00:00
Jordan K. Hubbard
e0ab6cb9c7 Made staging area configurable rather than assuming /tmp (-t) 1993-09-05 04:54:24 +00:00
Jordan K. Hubbard
368b3399cd Made staging area configurable rather than assuming /tmp (-t)
Made pkg_add -n less bitchy.
Made -p in pkg_add override "default" package location in pkg_create.

Added concept of "slave" and "master" modes, allowing many different things
to be done to packing lists on the fly.  This is really something for
front-end drivers to use, but also something for the more expert user.

rename()'ing files before trying to copy them, thus saving
considerable time when targets and staging area are on same filesystem.
1993-09-05 04:53:51 +00:00
Jordan K. Hubbard
14cb3fbecd Fixed bug in pkg_create that affected Rich's attempts to package emacs 1993-09-04 18:19:41 +00:00
Jordan K. Hubbard
6cb9d5292c Added Rich's wish front-end. 1993-09-04 17:06:09 +00:00
Jordan K. Hubbard
a9c42a2388 Lots of misc tweaks, support for arbitrary separators in pkg_info, more
intelligent name handling in pkg_create.  Most of these files are changed
because of rcsid's being different in my cvs tree and freefall's (foo).
1993-09-03 23:01:17 +00:00
Jordan K. Hubbard
10505e6324 Removed annoying -Wall 1993-08-30 01:51:16 +00:00
Jordan K. Hubbard
58f08fb6f9 Install man pages in /usr/local/man 1993-08-30 01:47:26 +00:00
Jordan K. Hubbard
6d946b2e52 The release version of my package install suite. Please see man pages
for info.
1993-08-26 01:19:55 +00:00