Commit Graph

185 Commits

Author SHA1 Message Date
Akinori MUSHA
1d9fa666db Update to 20010820.
portupgrade:
	Fix -A and -B which were broken when I introduced -L.
	[Submitted by: Ollivier Robert <roberto@keltia.freenix.fr>]

portsdb:
	Implement -M/--master-recursive, -R/--upward-recursive and
	-x/--exclude, and sort the result in dependency order.
2001-08-19 15:36:12 +00:00
Akinori MUSHA
0e40d5d606 Update to 20010819, with small improvements.
portsdb:
	Do not clobber the INDEX file until the new one is ready,
	so you don't have a zero-sized INDEX while updating it.

pkgdepfix:
	Implement an origin duplicates fixer (only invoked when -o is
	specified), and when it fixes one, redo the whole session.

        Make the cyclic dependencies fixer a bit more intelligent.

portcvsweb:
	Conform to the Secure BROWSER (SB) Specification proposed by
	David A. Wheeler.

	cf. http://www.dwheeler.com/browse/secure_browser.html
	    http://www.tuxedo.org/~esr/BROWSER/
2001-08-19 07:29:30 +00:00
Akinori MUSHA
6ace020ffa Update to 20010818b.
- Introduce a new environment variable "PORTS_INDEX", to specify an
  alternate ports INDEX file location.  You can set this to something
  like `/usr/ports/INDEX.txt" not to overwrite the one under the
  control of CVSup/CVS/CTM.

- Fix portinstall (portupgrade -N) which I broke recently by mistake.

- Change the report format.  It shouldn't be too verbose unless you
  specify -v.
2001-08-18 10:02:12 +00:00
Akinori MUSHA
35eb2ad7c0 Oops, the distfile was named wrong. Bump to 20010818.
Submitted by:	many people
2001-08-18 05:22:30 +00:00
Akinori MUSHA
cd8fb9d41a Update to 20010817b.
- Include the hotfix.
- Unbreak `portversion -t'.
2001-08-17 18:53:04 +00:00
Akinori MUSHA
4a164369fa Fix the shebang lines of commands to specify the absolute path of
ruby, instead of "/usr/bin/env ruby".

Requested by:	OOTOMO Hiroyuki <wbhacker@tky3.3web.ne.jp>
2001-08-17 14:20:35 +00:00
Akinori MUSHA
3f01e5bc4c Apply a hotfix against a bug introduced in the latest version where it
fails in error when one specifies -r and has an empty +REQUIRED_BY.
2001-08-17 11:29:05 +00:00
Akinori MUSHA
aeb1f34225 Update to 20010817, with many improvements and some new features.
pkg_deinstall/pkg_glob, portupgrade:
  - Fix the glob expander to exclude not installed packages recorded
    in +CONTENTS and +REQUIRED_BY files.

pkg_deinstall/pkg_glob, portupgrade, portversion:
  - Properly handle regular expression errors.

pkg_glob:
  - Properly define a signal handler.
  - Show a better report.

portsdb: (overall)
   - Try doing make INDEX when no INDEX file is present, and if it
     fails raise an exception.

portupgrade:
  - Add a new option: -L/--log-prefix, with which a user can save a
    build & installation log file for each port/package.
  - Show a concise and helpful message for each upgrading error.  It
    now autoatically guesses the reason of each failure using the same
    algorithm that Ports Wraith's processlogs script uses.
  - Fix a bug where 'portupgrade -aE' raised an error.

portversion:
  - Support -r/-R/-x as other tools do.
  - Fix a bug where `portversion -E' raises an error.
2001-08-17 07:51:41 +00:00
Akinori MUSHA
8342bdd6ad Update to 20010816b.
Fix a trivial but annoying behavior.  Print progress messages during
(automatically) updating the ports database to stderr instead of
stdout, so the output of `portversion -c > script' won't contain any
unexpected progress messages.
2001-08-15 19:41:32 +00:00
Akinori MUSHA
9309946588 Sorry. Just repacked. I had something I forgot to change. ;) 2001-08-15 17:32:12 +00:00
Akinori MUSHA
abe0b6818c Update to 20010816 with some enhancements and an important change.
(No bugs have been found in the previous version)

portupgrade, portversion, pkg_deinstall, pkg_glob, portsdb:

  - Add a new option -E/--regex, which allows you to use the extended
    regular expression instead of the shell glob pattern to specify
    packages or ports.

portupgrade:

  - [IMPORTANT] Turn -c/--clean and -C/--cleanup on by default.
    [Suggested by: Ian Dowse <iedowse@maths.tcd.ie>}

  - Now that -c/--clean is on by default, -Fc no longer means
    "fetch-only + do distclean before each fetch".  Instead, a new
    option -D/--distclean is added which can be used with or without
    -F/--fetch.

  - Add new options -w/--noclean and -W/--nocleanup.

  - Always do `make clean-depends' before building dependent ports.

  - Add a new option -E/--regex, which allows you to use the extended
    regular expression to specify packages.

  - Add a long option --use-packages-only for -PP.

  - Rewrite the WARNING section of the manpage and mention
  pkgdepfix(1) in it.
    [Suggested by: Ian Dowse <iedowse@maths.tcd.ie>]

pkg_glob, pkg_deinstall:

  - Add back long options.
2001-08-15 17:24:02 +00:00
Dag-Erling Smørgrav
5a0e464dc2 Fix handling of unconditional dependencies 2001-08-14 13:58:56 +00:00
Akinori MUSHA
767ba54af5 Update to 20010814, with some enhanced support for coping with cyclic
dependencies.

- Fix a bug in the cyclic dependencies handler where it couldn't
  always cope with a cycle properly.
  [Problem found by: Fritz Heinrichmeyer <jfh@jfh00.fernuni-hagen.de>]
- Don't emit a confusing error message "Cannot update the ports DB!"
  on a recoverable error.
- Implement a cyclic dependencies fixer in pkgdepfix(1).

(Cyclic dependencies could never be generated if ports are made
properly..)
2001-08-13 20:45:15 +00:00
Akinori MUSHA
70c675f6dc Reword more. 2001-08-11 21:19:33 +00:00
Akinori MUSHA
60adc2eea9 Update to 20010812, just a minor update.
- Reword and fix documents.
- Make portsdb -U not imply -u.
2001-08-11 19:58:30 +00:00
Akinori MUSHA
d62ad1dfb1 Update pkg-comment and pkg-descr. 2001-08-11 19:41:33 +00:00
Akinori MUSHA
68b126ec35 Add a hotfix to support the "MD5 (file) = IGNORE" case. 2001-08-11 10:07:05 +00:00
Akinori MUSHA
6bb28a13bd Update to 20010811.
portsclean:
  - Rewrite in Ruby and implement the distfiles cleaner. [new]

portsdb:
  - Show a progress message while updating INDEX.*.
  - Record version information into INDEX.rdo.
  - Record category information into INDEX.rdo and enhance the API
    accordingly.
  - Introduce the automatic PORTS_DBDIR selector.  Now it will use
    whichever writable directory in the following ones: $PORTS_DBDIR,
    $PORTS_DIR, /usr/ports, $PKG_DBDIR, /var/db/pkg, $TMPDIR, /var/tmp,
    /tmp (checked in the order named)

portcvsweb:
  - New tool: a tool to open CVSweb to view a CVS log. [new]
2001-08-11 09:22:05 +00:00
Akinori MUSHA
cff77daeb5 Update to 20010809.
pkg_deinstall:
	- Bring in most of the options of pkg_delete(1).
	- Add a new option `-P', which preserves shared libraries.
	- List failed packages if any.
	- Obsolete GNU style long options, which take space and would
	  only rarely be used.

portupgrade:
	- Make portupgrade use pkg_deinstall instead of pkg_delete, to
	  utilize its -P option.

	- Now portupgrade always uninstalls old packages, but
	  preserves shared libraries by default.  The -u option has
	  been changed to mean "Do not preserve old shared libraries".
	  Note, however, that its behavior is the same as before, it
	  is just the default behavior that has been changed.

	  With this change, portupgrade no longer leaves extra garbage
	  even if you don't specify -u, but only old versions of
	  shared libraries for safety. :)

	- Utilize $tmpdir properly for pkg_tarup. (previously
	  PKGREPOSITORY was used prior to PKG_TMPDIR or TMPDIR)

	- Add a notice regarding the disk space for backup files.

Since it's my birthday today, I just wish this update doesn't contain
terrible bugs.. ;)
2001-08-08 22:30:02 +00:00
Akinori MUSHA
032137d53e Update to 20010802, only a minor update.
overall:
- Fix commands not to quit when user answers ^D to a yes/no question.
- Call pkg_* commands in fullpaths.

portupgrade:
- When -s is specified, run sudo to build & install dependent ports
  when some are missing, too.

portsclean:
- This is a new command which cleans ports' working directories.
2001-08-02 08:19:23 +00:00
Akinori MUSHA
9bcd672114 Update to 20010730 with some enhancements.
portupgrade:
- Make portupgrade a little bit more fail-safe by restoring modified
dependency info on installation failure.

portversion:
- Make portversion refer to the ports database and run several times
faster. (!)

portsdb:
- Do not immediately fail in error when it finds an error in the INDEX
  file, but skip the line and continue.
2001-07-30 14:01:02 +00:00
Akinori MUSHA
2ee75b5cf1 Update to 20010727 with a couple of new commands added. (No changes
have been made to the existing utilities)

pkg_deinstall:	This is a package deinstaller with wildcards and
		dependency recursion support.

pkg_glob:	This is a package glob expander with wildcards and
		dependency recursion support.
2001-07-26 19:28:42 +00:00
Akinori MUSHA
62f0245b8c Update to 20010714, a maintenance release.
2001-07-14 17:05  knu

	* misc/zsh/: _pkgdepfix, _portupgrade, _portversion: Improve zsh
	compdefs.

2001-07-14 16:40  knu

	* portupgrade.1: Fix manpage.
	[Submitted by: Sean Chittenden <sean@chittenden.org>]

2001-07-03 14:26  knu

	* pkgdepfix.1, portsdb, portsdb.1, portsdb.rb, portupgrade.1:
	Introduce a new environment variable PORTS_DBDIR, which specifies
	an alternative ports database directory.  This is useful when
	/usr/ports is on a readonly filesystem.
	[Requested by: Makoto MATSUSHITA <matusita@jp.freebsd.org>]

	Warn and abort the update if PORTS_DBDIR is not writable,
	instead of just failing in error.
2001-07-14 08:12:05 +00:00
Akinori MUSHA
9caf58e05d Update to 20010627. Enhance the behaviors of some flags:
-B CMD
    --beforebuild CMD	Run the sapecified command before each build.  If the
			command exits in failure, the port/package will be
			skipped.  Here is some typical uses:

			portupgrade -B 'cvs update' 'gnome*'

			portupgrade -aB 'test ! `make -V IS_INTERACTIVE`'

    -x GLOB
    --exclude GLOB	Exclude packages matching the specified glob pattern.
			Exclusion is performed after recursing dependency in
			response to -r and/or -R, which means, for example,
			the following command will upgrade all the packages
			depending on XFree86 but leave XFree86 as it is:

			portupgrade -rx XFree86 XFree86
2001-06-26 17:02:41 +00:00
Akinori MUSHA
c74e098113 Update to 20010622, a maintenance release with better diagnostic
messages.
2001-06-22 14:53:14 +00:00
Akinori MUSHA
a86edf2a86 Whoops, 20010617 had an installation problem. 2001-06-17 11:43:11 +00:00
Akinori MUSHA
3eab80a70e Revise pkg-descr. 2001-06-17 10:12:43 +00:00
Akinori MUSHA
396b2f3afd Update to 20010617.
portupgrade:
  Add a new option: -N/--new.  If it is specified, portupgrade
  installs a new one when a specified package is not installed.

portinstall:
  New command equivalent to `portupgrade -N'.  You can specify a port
  origin to name the one you want to install, too:
    e.g. `portinstall shells/zsh'
2001-06-17 07:38:49 +00:00
Akinori MUSHA
a3b2597105 Update to 20010615.
This is a maintenance release.

  - Manpages provided.
  - Ports DB got faster.
  - Wording fixed.
  - New feature added to portsdb(1): you can use it to expand
    port/pkgname globs. (archivers/p5-*, zsh, gnome*, etc.)
2001-06-15 09:36:29 +00:00
Akinori MUSHA
aa878d3f24 Oops, wrong checksum. 2001-06-10 21:06:39 +00:00
Akinori MUSHA
da51098583 Update to 20010611, with many changes and enhancements.
Beware of bugs, just in case. ;)

portupgrade:
  - Sort packages by default and remove -s/--sort.
  - Rename -y/--yield/-Y/--yield-command to -s/--sudo/-S/--sudo-command.
  - Implement -a/--all.
  - Implement -x/--exclude=GLOB.
  - Exit on OptionParser::ParseError immediately.
  - Do not call "make fetch-recursive" but just "make fetch", now that
    portupgrade does recursion itself.
  - In fetch mode, specify -DPACKAGE_BUILDING for ports that define
    IS_INTERACTIVE. [Submitted by: Jimmy Olgeni <olgeni@uli.it>]]

portversion:
  - Exit on OptionParser::ParseError immediately.

portsdb:
  - New tool: which updates INDEX and INDEX.db in the ports directory.

pkgdepfix:
  - Implement origin fixer with intelligent guessing, finally!
    (-o/--fix-origin)
  - Make pkgdep guessing more intelligent.
2001-06-10 20:57:39 +00:00
Dag-Erling Smørgrav
a59d310d9d Add experimental pkg_version(8)-like functionality. 2001-06-09 15:50:05 +00:00
Akinori MUSHA
c2e939e56c Clarify that portupgrade can do upgrade by means of both the port and
the package.
2001-06-09 05:50:11 +00:00
Akinori MUSHA
b718988ce7 Change pkg_tarup to ${LOCALBASE}/sbin/pkg_tarup in RUN_DEPENDS.
Found by:	bento
2001-06-09 01:48:47 +00:00
Akinori MUSHA
322fde13d1 Update to 20010607b.
portupgrade:
  - Change the meaning of -P/--use-packages.  If specified once, it
    uses packages whenever available or uses ports.  If specified
    twice, it never try to use ports but only uses packages.

  - The package directory is now specified via the environment
    variable, by PKGREPOSITORY and PKGREPOSITORYSUBDIR.

Print the usages to stdout instead of stderr.
2001-06-07 03:17:47 +00:00
Akinori MUSHA
ea9d950857 Update to 20010607.
portupgrade:
  - Implement -P/--use-packages, which everyone bugged me with. :>

pkgdepfix:
  - Add "delete" to the choices as to how to deal with a stale
    dependency.
  - Alter the prompt message.
  - Add zsh compdef.
2001-06-06 20:05:57 +00:00
Akinori MUSHA
d10d546f44 Update to 20010606b.
pkgdepfix:
  - Implement automatic guessing.
  - Add yes-to-all to the choices of yes/no prompt.
  - Do "stty sane" on interrupt.

portupgrade:
  - Backing up +REQUIRED_BY must have been done before pkg_delete.
    [Submitted by: SASAKI Katuhiro <sahiro@vanilla.freemail.ne.jp>]

Because of the portupgrade bug, portupgrade -u would have broken some
of your +REQUIRED_BY files.  Please fix them up with pkgdepfix.
2001-06-06 08:33:16 +00:00
Akinori MUSHA
3f909a39ff From now on I use release dates for this port's version numbers, and
this is version 20010606.

A new tool pkgdepfix is added.  It allows you to interactively fix
/var/db/pkg's @pkgdep / +REQUIRED_BY discrepancies.  Run this
periodically to let portupgrade properly trace dependencies.
2001-06-05 17:33:21 +00:00
Akinori MUSHA
551a15f1e3 Update portupgrade to 1.42.
I think I have finally fixed the problem some people have seen that it
deletes a package registry in some cases!  At the same time, -m and -p
now works properly again.

Those problems were all due to Shellwords::shellwords' destroying its
given string.  Thanks to Tadayuki OKADA <tadayuki@mediaone.net> for
sending me a report that made me realize what the problem was.
2001-06-02 13:21:58 +00:00
Akinori MUSHA
e9a5e89b99 De-typo (s/priviledge/privilege/g) with no PORTREVISION bump. 2001-06-01 15:17:01 +00:00
Akinori MUSHA
4fea95ebd9 Update portupgrade to 1.40. A bug with pkgdep has been fixed.
I'd like to call this a stable release, and take a rest for a while
until the next stable release. ;)
2001-06-01 12:22:06 +00:00
Akinori MUSHA
435ce6fdea Update portupgrade to 1.39.
* Fix file permissions and owners of replaced files.
* Stop raising a false alarm. (which was harmless, though..)
2001-06-01 11:28:38 +00:00
Akinori MUSHA
5ce67365d6 Update portupgrade to 1.36.
* No need to recurse @pkgdep search, really.
* Support the latest pkg_tarup.
* Backup +REQUIRED_BY a bit earlier, just in case.
* If it fails to copy the new +REQUIRED_BY to the package's dbdir,
  emit a message and save the file in TMPDIR.
2001-06-01 03:22:46 +00:00
Akinori MUSHA
002a0185d3 Apply a hotfix against a critical bug that +CONTENTS are lost when you
do upgrade as root and TMPDIR and /var/db/pkg are on different
filesystems.
2001-05-31 15:18:00 +00:00
Akinori MUSHA
caa8a3b243 Update to 1.34. Now it never tries to yield root priviledges
unless -y is specified.
2001-05-31 05:38:02 +00:00
Akinori MUSHA
a01e84a0c6 Update to 1.33. More operations need root priviledges. 2001-05-31 05:12:59 +00:00
Akinori MUSHA
bec4f9dede Update portupgrade to 1.31 and portversion to 1.7.
* Fix the Makefile/PKGNAME error detection.
  [Reported by:	Tadayuki OKADA <tadayuki@mediaone.net>]

* Implement -y/--yield which yields root priledges where needed.

* Implement -Y/--yield-command which specifies the command to yield
  root priledges. (default: sudo)
2001-05-31 03:32:59 +00:00
Akinori MUSHA
a47f237214 Update to portupgrade 1.29.
portupgrade:
	- Fix a bug that -s/--sort didn't work.  D'oh!
	- Make -u/--uninstall fail-safe.  It backs up old
	  installations with the help of pkg_tarup and restores on
	  installation failure.
        - Show option errors more gracefully.
        - Die on signals more gracefully.

portversion:
	- Show option errors more gracefully.
        - Die on signals more gracefully.
2001-05-30 07:00:21 +00:00
Akinori MUSHA
459053e850 Update to 1.28 which fixes a bug when a package does not have @pkgdep
or +REQUIRED_BY.

Reported by: Jimmy Olgeni <olgeni@uli.it>

I'll debug harder next time.  Sorry for this. :(
2001-05-29 23:07:28 +00:00
Akinori MUSHA
a3b1fbaca7 Update to portupgrade 1.27.
Everything should now be fine while bug reports and thoughtful
suggestions are always welcome.
2001-05-29 22:21:34 +00:00