Commit Graph

216 Commits

Author SHA1 Message Date
asami
b9255f3bd3 Sync this up with ftp.c. 1995-07-31 04:00:01 +00:00
jkh
adb6e33f4e Remove dependency on sysinstall. 1995-07-31 02:27:58 +00:00
jkh
a33d87a320 Add ftp.c to makefile - that might make it work better. Sheesh! 1995-07-31 01:26:58 +00:00
jkh
117bc8a1c4 Change the environment variable this looks for from FTP_PASSIVE to
FTP_PASSIVE_MODE.  It would be really nice if we could standardise on
this name so that all tools (like ncftp) that offer passive/active
ftp selection would work seamlessly with one user environment variable
setting.
1995-07-30 09:41:21 +00:00
jkh
8503c9fda1 Document how to get pkg_add to use PASSIVE MODE ftp in such transfers. 1995-07-30 09:37:31 +00:00
jkh
782b438711 Totally eliminate the dependency on libftp (which will be removed from the
FreeBSD source tree) and switch to the internal ftp routines developed
by Poul-Henning and used in sysinstall.
1995-07-30 09:33:31 +00:00
jkh
e01c747916 o Fix PR# bin/643 - always set "where_to" properly.
o Nuke dependence on libftp - it's about to die!
1995-07-30 09:11:20 +00:00
asami
a02580e517 The default for temporary directory is /var/tmp, not /tmp. 1995-07-30 05:25:35 +00:00
ache
38976345b1 You can run pkg_info everywhere expect /var/db/pkg directory :-)
Running there you got any kind of strange errors from tar caused
by treating directories as tar files!
Fix it by adding new isfile(name) (check for reg. files) to simple fexists(name) calls.
1995-07-30 01:44:45 +00:00
ache
438e99a58f If some files lost in /var/db/pkg/<port>/ after system crash f.e.,
pkg_manage silently dumps core, pkg_info claims about them to
stderr, which makes very difficult to find what directory cause it via
tons of pkg_info -a output. I found solution which covers both variants,
now pkg_info claims about missing files to stdout among valid output
with ERROR: prefix. It heals pkg_manage to not dump core and makes
easy to find errors in pkg_info -a output by simple /ERROR 'more' command.
1995-07-30 01:08:34 +00:00
ache
c575f05914 Fix coredump for -v flag
Submitted by: Thomas Gellekum <thomas@ghpc8.ihf.rwth-aachen.de>
Obtained from:
1995-07-28 01:50:35 +00:00
asami
9708dec633 Use lstat() instead of access() for checking file existence. It works
for symlinks too, and according to Rod, access() is evil anyway.

Reviewed by:	jkh
1995-06-24 10:12:59 +00:00
rgrimes
1b1ee55538 Merge RELENG_2_0_5 into HEAD 1995-06-11 19:33:05 +00:00
rgrimes
4f960dd75f Remove trailing whitespace. 1995-05-30 03:57:47 +00:00
jkh
7afb459d6e Only apply @mode directives to files.
Don't use the -p flag to tar; it sets the files to the wrong permissions.
Submitted by:	jmz
1995-05-19 22:40:54 +00:00
jkh
fd82b3cc6a Fix a long-standing bug that broke pkg_info utterly and probably made
pkg_add a little wiggy too.
1995-05-10 23:00:16 +00:00
jkh
6e78c7b340 Fix a long-standing bug that broke pkg_info utterly and probably made
pkg_add a little wiggy too.  Document the fact that pkg_info can also
take a URL.
1995-05-10 23:00:07 +00:00
jkh
2093ba9e8f Bump the number of allowable args by a factor of 4. I just scanned
all possible packing lists and found that at least one of them is
pretty large!
1995-05-10 22:33:55 +00:00
jkh
d8dd6c89d2 Document fetch-by-URL. 1995-05-10 20:56:19 +00:00
jkh
7d860c8058 Re-work make_dist() routine to build the tar command more reasonably.
This should eliminate the problem with truncated packages.
1995-05-10 20:46:06 +00:00
jkh
4b3de059b5 Whoops! One of my automatics was initialized to garbage. Fix it. 1995-04-28 18:24:31 +00:00
jkh
afb65c647c Use mtree -U instead of -u and put back error check. Thanks Rod! 1995-04-28 04:16:30 +00:00
jkh
74bd1b4e5e Don't bother checking the return status of the mtree command - it returns
non-zero stats when it changes things, too.
1995-04-27 11:33:08 +00:00
jkh
b34c5b4d3d Add code for dealing with URLs. 1995-04-26 15:08:23 +00:00
jkh
16c38595ac Make pkg_info URL aware (and also make it use the PKG_PATH properly, like
everyone else).  Try this:
	pkg_info ftp://freebsd.org/pub/FreeBSD/packages/all/gmake-3.73.tgz
1995-04-26 15:08:02 +00:00
jkh
33fa95f0b3 Add depend on libftp since this is now in lib. 1995-04-26 15:07:14 +00:00
jkh
675175e019 Add a great deal more error checking to various things. 1995-04-26 15:06:58 +00:00
jkh
b9e5fa60d0 Further work on making all this more robust in the face of failure.
Also allow URL specification for a package.  This works for things the
package may depend on, too.

Allow PKG_PATH to be used anywhere a package is being searched for.
1995-04-26 15:06:26 +00:00
jkh
4afd6c66c7 Yikes! How did that typo slip past! I'd swear I compiled it. Oh well,
thanks, Satoshi!

Embarrassed by:	asami
1995-04-26 12:37:46 +00:00
jkh
4d406202b1 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
jkh
fc953cf02d 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
jkh
b90c96a965 My handling of the missing dependency but !Verbose was wrong. Make
the right message come out.
1995-04-26 06:56:05 +00:00
jkh
224e2db404 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
jkh
06e78f6873 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
jkh
d3abd00ffe Export the min_free() function. 1995-04-22 13:58:44 +00:00
jkh
6310426601 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
jkh
de203839fa 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
jkh
62b882306c Argh - missed a printf! That should be the last of plist-spewers. 1995-04-22 01:20:13 +00:00
jkh
0ca59fff83 Don't spew garbage into the packing list when PlistOnly and verbose are
both on.  Whoops!
1995-04-22 00:59:33 +00:00
jkh
f50974f2ec 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
jkh
fc0ace6edf 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
jkh
63dadcab7d Correct a bogusly formatted printf(). 1995-04-21 06:30:41 +00:00
jkh
23fe5be93f 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
jkh
496b8887e4 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
jkh
ca71c94b25 Use a more nicely formatted message when we run out of space. 1995-04-18 13:04:34 +00:00
jkh
3e496240b4 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
jkh
e8ff66af03 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
jkh
fd8db944d6 Rename TMPDIR to PKG_TMPDIR, just to make Jeff happy.. :-) 1995-02-16 12:43:00 +00:00
jkh
865c4a7d98 Make pkg_install use /var/tmp instead of /tmp
Suggested by:	hsu
1995-02-15 03:48:13 +00:00
jkh
f8d21a60a1 Whoops! How embarassing. Just now noticed that I forget to update the .Os
lines.  Done.
1995-01-05 10:37:13 +00:00
jkh
b0f37a24cb Fix a bad formatting directive. 1995-01-05 10:31:42 +00:00
jkh
85c85b8011 Fix misleading typo in description of @unexec. 1995-01-05 10:22:51 +00:00
swallace
fa156e55d6 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
jkh
46ecb27be8 More changes from John T. Kohl. Man pages, mostly.
Submitted by:	jtkohl
1994-12-06 01:04:17 +00:00
jkh
773a5f451d Many of John T. Kohl's patches from NetBSD. Thanks, John!
Submitted by:	jkohl
1994-12-06 00:51:50 +00:00
jkh
316a159f85 Don't create packages with bogus @name lines. 1994-11-17 10:54:11 +00:00
jkh
7778f5380f 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
jkh
f0f266b384 Add a new basename_of() function. 1994-11-17 10:51:51 +00:00
jkh
5d00f60140 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
jkh
47d2d53b0b Sigh. NOW it's ok! :-) 1994-10-14 05:57:49 +00:00
jkh
eef0ef01be Print a better verbose message when creating packages. 1994-10-14 05:56:15 +00:00
jkh
2cf39cacf3 This should do it - I forgot about pkg_info. 1994-10-14 05:55:57 +00:00
jkh
d5a2450087 Whoops - variable was in wrong scope. Correct. 1994-10-14 05:43:41 +00:00
jkh
56f1e635f2 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
jkh
b1ba6ab286 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
jkh
34751162a4 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
jkh
60db1604bf 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
jkh
04cc46fa4b 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
jkh
3ef0581e73 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
jkh
b9af6c1c08 Delete obsoleted *dist targets. 1994-09-13 10:20:37 +00:00
jkh
a933b2cf05 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
f91b99de98 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
jkh
d34ba06ad5 Add @srcdir option for customizing creation of packages.
Submitted by:	jkh
1994-08-28 14:15:30 +00:00
jkh
cae4aac15c 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
asami
3549c2a452 Add explanation of -e in usage(). 1994-06-01 05:15:00 +00:00
asami
c0c88c1f41 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
asami
93b71d3919 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
jkh
cb0aba89af Change Header to Id. 1994-05-25 06:28:14 +00:00
jkh
066a73bf85 Add new find_plist() function. 1994-05-25 06:27:24 +00:00
jkh
50de4f0fe3 Change in_plist() call to find_plist(). 1994-05-25 06:24:41 +00:00
jkh
873ef098bd Remove find_name(), replace with more generic find_plist() function. 1994-05-25 06:24:18 +00:00
asami
bdec29e658 Typo (pkg_add => pkg-add). 1994-05-20 19:35:33 +00:00
asami
d197971d10 Make clear what arguments the "require" script gets. 1994-05-20 19:34:44 +00:00
asami
1ade05e2e4 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
alm
10d0bd53ff Add `-h' option to force tar to follow symbolic links 1994-05-19 18:27:41 +00:00
jkh
b6741361c8 Whoops, -Y and -N would work better if they were in the getopts string! 1994-04-16 21:50:53 +00:00
jkh
68314379f2 Make y_or_n() pay attention to AutoAnswer global. 1994-04-05 14:08:47 +00:00
jkh
4549480f2f Add -N and -Y flags for auto-answer feature. 1994-04-05 14:05:40 +00:00
jkh
e9527e9a0f Cleaning house. 1994-01-06 08:19:38 +00:00
jkh
bae438b28c If require script fails, don't try to delete installed package. 1993-10-10 20:25:31 +00:00
jkh
666e5b3752 Added files necessary for automating packing of distributions. 1993-10-10 20:24:47 +00:00
jkh
5103a9329c Fix problems with executing from current directory 1993-10-08 01:19:35 +00:00
nate
1eca961b56 Now works with/without obj directories 1993-09-20 23:47:51 +00:00
jkh
496a6be0ca Finally stuck a version number on this thing! :) 1993-09-19 01:52:33 +00:00
jkh
14f46efaad Added code for doing % sequence expansion, added new @unexec command. 1993-09-18 03:39:50 +00:00
jkh
c8b21d348c Doc new % sequence expansion for command execution.
Fixed bad verbose message.
1993-09-18 03:39:21 +00:00
jkh
1bb96bf0e1 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
jkh
da177bd171 Fixed broken -t flag; thanks Rich! 1993-09-14 19:53:01 +00:00
jkh
b1c65574c1 Whoops - got the exclude flag wrong, try again. 1993-09-12 20:56:40 +00:00
jkh
a0cfa510c6 Fixed an embarassing bug with @owner, @mode & @group 1993-09-12 20:45:53 +00:00
jkh
4ed84e3b72 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
jkh
6aac10242b Rudementary README 1993-09-08 23:46:04 +00:00
jkh
a9f8298bb5 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
jkh
c9cd950a49 Nailed one last lurking ^L. 1993-09-07 01:01:32 +00:00
jkh
3e88a4ee85 Fixed bug in copying script files from absolute locations 1993-09-06 23:28:42 +00:00
jkh
3b6c96ab2f Doc'd option for current directory prefix in @exec 1993-09-06 23:28:19 +00:00
jkh
7ed3f46cfa Added option for current directory prefix in @exec (without which it's pretty
useless).
1993-09-06 23:26:21 +00:00
jkh
c211573e5c 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
jkh
e9a6985275 Made staging area configurable rather than assuming /tmp (-t) 1993-09-05 04:54:24 +00:00
jkh
443968adfa 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
jkh
4ccfdf0953 Fixed bug in pkg_create that affected Rich's attempts to package emacs 1993-09-04 18:19:41 +00:00
jkh
67a5d22fbc Added Rich's wish front-end. 1993-09-04 17:06:09 +00:00
jkh
a1623ebed9 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
jkh
fb96eba597 Removed annoying -Wall 1993-08-30 01:51:16 +00:00
jkh
54fe2d5416 Install man pages in /usr/local/man 1993-08-30 01:47:26 +00:00
jkh
e83dde8008 The release version of my package install suite. Please see man pages
for info.
1993-08-26 01:19:55 +00:00