INSTALLATION_DIRS, as well as all occurrences of ${PREFIX}/man with
${PREFIX}/${PKGMANDIR}.
Fixes PR 35265, although I did not use the patch provided therein.
around at either build-time or at run-time is:
USE_TOOLS+= perl # build-time
USE_TOOLS+= perl:run # run-time
Also remove some places where perl5/buildlink3.mk was being included
by a package Makefile, but all that the package wanted was the Perl
executable.
rather than just pretending to. I know I meant this to work, but
somehow I forgot actually to make it work a long time ago.
Addresses a problem pointed out in private email.
as it's only used internally by bsd.prefs.mk.
* Make _PKGSRCDIR a public variable by renaming it to PKGSRCDIR.
Also, generate its value from ${_PKGSRC_TOPDIR} so it's less fragile
than the old method of stripping off the last two components of
${.CURDIR}. PKGSRCDIR may now be used after bsd.prefs.mk is defined.
* Change all references to _PKGSRCDIR to PKGSRCDIR.
particular data set has the current directories under ${pkgsrc} for
all known packages, unlike the location of where the package lived
when you built it. It may have moved, you see. This makes it
possible for pkgdepgraph to rebuild (so to speak) packages that have
moved.
And now there are 2.7.
either indicate how involved the rebuild process is (how many
interrelated packages can be deleted/rebuilt at once) or specific
packages you do not want to impact (like...perl?).
Welcome to 2.6.
"interesting" package, where "interesting" is defined by the other
options given on the command line.
Rework the "rebuild", "delete", and "fetch" output modes to use a new
generic routine invoked with (the new) -m option. Other new options
are:
-a all packages (to make more packages becoming "interesting")
-e adds an "existence check" to each of the lines of sh(1) style
output (ala the current rebuild output)
-r reverses the order in which the packages are listed
-S package
selects a subgraph of the installed package base
-s print a simple list of packages instead of sh commands
Also: fix a dreadful bug in the group number assignment loop. Groups
are now assigned more properly, meaning that wholely selected
subgraphs (via the new -S option) work.
Welcome to version 2.5.
you need and then build off-line (suggested by smb).
Add -M to set the name/location of the make program (for the -F and -R
output formats) to be used on systems where the make program is not
the one you want (suggested by seb).
Clean up a bug with subgraph assignment and counting.
Move to 2.3.
of commands to rebuild directly from pkgsrc), -K (as with lintpkgsrc)
as a way of specifying the PKG_PATH (the environment is also checked),
and convert to using Getopt::Long, so that we can stuff multiple
values for "out of date" packages or packages to be "updated" into
arrays. Now you can make more than one package be out of date, etc.
* label the graph and the subgraphs (feature)
* rework subgraph identification in the main loop (feature)
* better handling of recoloring graphs that contain subgraphs (bugfix)
* be a little more picky about what *might* be a pkg directory (bugfix
via seb)
* fix a bug in error reporting in canonification routine (bugfix via
seb)
* add comments (bugfix? feature?)
New features (excerpts from the man page, not in proper order, so that
you can better see how it fits together):
-L Limit the graph to those packages that are out of date or ulti-
mately depend on some package that is.
-D Instead of the standard graph output, pkgdepgraph lists the
packages that need to be deleted, in ``least required first''
order, so that they can be deleted without any dependency prob-
lems.
-R Instead of the standard graph output, emits a series of sh(1)
commands that will rebuild all the out of date packages by re-
building all the deleted leaf packages.
-U package
Generates a graph with only the out of date dependencies of
package marked in red (ie, packages that are out of date but not
dependencies of package will not be considered out of date).
-f Force a rebuild of all dependent packages. This option is for
use in conjunction with the -U option to force a rebuild of all
the dependencies of a package to be updated.
-O package
Marks package as out of date so that you can see the impact of
deleting dependent packages and rebuilding everything.
-t target
Changes the target of the -R output from ``install'' to target
in case you want to ``make package'' or some other target.
-c Inserts a ``make clean'' command in the set of instructions to
rebuild packages (see the -R option) after they are installed.
-C Asserts -c and adds ``CLEANDEPENDS=YES'' so that all rebuilt de-
pendencies are cleaned as well.
The code was also cleaned up a bit, some unused or otherwise useless
variables were culled, the "multiple box" phenomenon of subgroups is
fixed, and the examples were all cleaned up to take advantage of all
the new features.
Hey ma! Now I can update my pkgs in four easy steps!
$ lintpkgsrc -i > pkgdepgraph.in
$ pkgdepgraph -R pkgdepgraph.in > rebuild.sh
$ pkg_delete `pkgdepgraph -D pkgdepgraph.in`
$ sh rebuild.sh
(1) Graph recoloring, so that as you delete and rebuild bunches of
packages, you can see how far along you are (I use this a *lot*).
(2) Subgraph grouping (based on work done by David Maxwell) which
clusters groups of packages with common prefixes in their names inside
a box.
(3) The explicit dependency on the graphviz pkg has been removed so
that pkgdepgraph can be run on "client machines" that only wish to
generate graph data, not to view it (ie, machines that have packages
installed but which do not wish to incur the overhead of X or the
other stuff that graphviz requires). The fact that you should install
graphviz *somewhere* so that you can view the data is noted by the new
INSTALL script.
Some useless comments have also been removed.
inter-dependencies of your installed packages. The "dot" language
is interpreted by the graphviz package to make graphs. There are
several uses for such information.
(1) A graphical representation of information is always good to
look at.
(2) The output itself can be sorted and filtered to provide a list
of packages to delete in order that they can be rebuilt (to replace
out-of-date components).
(3) You can visually estimate the work involved in (or impact of)
removing a given component in order to replace it.