is it makes patch names longer, and many shells autoexpand it to "\:\:"
which makes them even longer.
* Note that this file uses ts=4.
Approved by: sobomax
Some work/cleanup here would probably be desirable. I'm committing them
now to give others the ability to reproduce these package splits and help
with making these scripts better. The README should have some more
documentation in the future.
A better solution to the package set size problem would be to teach
sysinstall to ask for the CD on which a particular package is when it
needs to add it, but for now this will do.
Requested by: murray
Written by: steve
Discussed with: steve, kris (some time ago)
down to user support flaws in the FreeBSD ports system. The flaw in question
is related to the fact that dependencies are often "chained", which allows to
simplify maintenance of ports with large number of implied dependencies (a la
Evolution, Nautilus, you-name-it). Dependency chaining it's not a problem by
itself, but the fact that when building or installing a port the system doesn't
check chain integrity - it's only checks that dependencies explicitly
specified in port's Makefile are satisfied, which opens wide window for
various hard-trackable problems when one or more links in the middle of the
chain missed.
The idea behind the tool is quite simple - it should be executed right after
main dependency checking procedure, two times for each build - check build-time
chain before building the port (pre-pre-extract) and check run-time chain
before installing the port (pre-pre-install). When executed, the tool checks
integrity of the specified chain (build-time, run-time or both) and reports all
errors, both fatal (dependency isn't installed) and non-fatal (dependency is
installed, but different version).
I've wrote this tool mostly to simplify maintenance of the GNOME ports, but
it doesn't contain anything GNOME-specific, so that it could be used in the
other parts of tree as well.
As an example I've added GNOME_VALIDATE_DEPS_CHAIN knob into bsd.gnome.mk (off
by default), which enables automatic chain validation for all ports that
USE_GNOMELIBS. This is a bit hackish, because I've used pre-extract and
pre-install targets - what we probably need is a generic way to plug various
custom tasks specified in bsd.xxx.mk (where xxx is kde, gnome, python, etc.)
into various parts of the build process (something like {pre,post}-pre-foo,
{pre,post}-post-foo springs into my mind).
The code is quite raw, so that I would appreciate any bug reports, patches,
suggestions, constructive critiquie and so on.
file. For example I'm usually keeping all working directories in /tmp using
WRKDIRPREFIX, while for the quick access to a port's files creating a symlink
to this directory in skeleton's dir (i.e. ports/foo/bar/src -->
/tmp/usr/ports/foo/bar/work/bar-0.0) and with this patch the tool correctly
works when I'm specifying `src/foo.c' as an argument.
Add mkppackage, which will create a "fake"-style package, but not
really. It doesn't try fake PREFIX and such to the build (it's not
really possible anyway yet), but it uses pkg_create's '-s' option to
pretend the package generated was installed in ${PREFIX}.
a work/ dir in the repository placed there by addport without permission.
Also restore the rcsids from the predecessors of this script by removing
their $'s.
If I had more time, I'd just revamp parts of this script.
Submitted by: greid
Apologies to: greid && cvs@
tool has something in common with update-patches shell script, but has more
features and is more intelligent. See README.patchtool or source code for
details.
guess WRKSRC or PATCHDIR. Don't munge "." characters in filenames.
This requires support in bsd.port.mk, a patch for which is in PR
24292.
Submitted by: Christian Weisgerber <naddy@mips.inka.de>
which holds final veto power over what @dirrm lines go into the plist.
This is a bit less evil than all the regexps previously used to manually
remove those directories.
mkpbuild just builds a port with WRKDIRPREFIX and PREFIX set to a
directory in /tmp, and with the owner and group variables set to the
user. A placeholder - in future, it'll have build error/log parsing.
mkpinstall's claim to fame is to do the same, except with "make install"
instead of "make build", and it then parses the mtree file, and compares
that and the current directory tree and the files, and auto-generates a
plist.
They're not pretty, but they finish the mkptools set basic
functionality: automatic skeleton generation with mkpskel, on-extraction
requirements guessing, and plist generation.
Future direction might be parsing build and install failures, checking
for '/usr/local' abuse, more requirements guessing, and stuff like that.
to the extra testing's make procs. Fix _stupid_ mistake where -n option
had no effect on hindering ``cvs add'' and CVSROOT/modules updating.
Cosmetics; remove extra space in generated commit log message and fix the
usage section's style in regards to options that take arguments. Add
missing -g option's mention.
Submitted by: assar (DISTDIR, CVSROOT/modules updating routine bugs)
than CVSROOT (now ADDPCVSROOT) to avoid conflicts for people who normally
set CVSROOT to something besides freefall (like myself). Second, allow
autofill to work for non-PR additions by checking for a -l argument of -1.
Third, remove the bogus $portname check in autofill that screws up if you
are adding something with a PKGNAMEPREFIX (i.e. p5-).
let portlint fill out your commit log message. It takes data from your
port's Makefile and pkg-comment to generate this, then displays the
resulting file and gives a chance to fix any problems.
Also, change -c option to move the file to the temp directory. Since -c
and -l option conflict, -l will take precedence. Move -c option down to
where directories are parsed.
Reviewed by: Jeremy Shaffner <jeremy@external.org>
new port. Slight hack used to obtain absolute path for the file. I'll
probably change that to make it copy the file to the tmpdir instead. For
now, this provides a stepping stone to use to begin automating commit log
messages - with, of course, a chance to edit the file again.