of ports which are depending on a port with a changed shared lib version.
Edwin dedicates this script to his son Dirk, born few days ago :)
Congrats (again) !
PR: ports/63915
Submitted by: edwin
which are copied to www.freebsd.org for use by 'make fetchindex', as well
as the source of build failure reports on ports@FreeBSD.org when it is
broken.
- CC committers and maintainer [1]
- include affected ports in the subject line [2]
- do a CVS log of the version checked out [3]
Suggsted by: Ade Lovett <ade@FreeBSD.org> [1]
Bjoern A. Zeeb <bzeeb-lists@lists.zabbadoz.net> [2]
Pav Lucistnik <pav@FreeBSD.org> [3]
You can even get notified of version changes in your favourite
perl modules by setting
WATCH_REGEX='p5-.*'
Plus, it has a nice configurable nagging option.
- Does not execute unknown commands nor call sh(1) at all.
- Does not overwrite existing files by default.
- Does not extract files into upper directories.
- Does have a dry run (-n) flag to see what would have been extracted.
- Does have a strip (-p N) flag to strip any number of levels from
pathnames.
It (so far) only supports shell archives made with BSD shar.
also print the exact location of the file to checkout.
This is for those who rarely adds new ports and do not remember the
location of Additional FreeBSD Contributors article.
Approved by: will
Perl before, sometimes we would word wrap too soon. Now we should never
generate a line more than 72 characters long (but as close to 72 characters
long as we can without breaking up a word).
Approved by: will (maintainer)
of master sites.
Before that %SUBDIR% was not expanded and the resulting URL was malformed.
L-o-o-o-ng maintainer timeout waiting for review of a slightly different
solution.
and removed files.
This can be used as the basis of a pkg-plist, or even just for
curiosity about what files something is touching.
Fairly raw at the moment, and doubtless inefficient, but it should
make a useful tool for port creators.
PR: ports/47424
Submitter: Daniel O'Connor <doconnor@gsoft.com.au>
hosts (non-freefall)" bug: add '-A' argument to ssh(1) command line
for accessing host cointaining modules file. This should fix the
bug for ssh-agent(1) users. Others can just switch to using
ssh-agent(1).
Approved by: will (maintainer)
from recursive dependency builds a la:
make DEPENDS_TARGET='install package clean' all install package clean
The pkg-list script obtains a list of the packages in the dependency
directories; the pkg-stash script moves them away to a predefined
directory, adding a timestamp to the package file name. This is
convenient for keeping ready-built packages for system rescue
activities.
This fixes addport for me on -stable (cvs was erroring out), and also
fixes addport when you have the EDITOR environment variable set.
Approved by: will
actually simplifies some of the code and makes other parts more complicated.
Tested by: www/mod_filter && (after bugfixes) sysutils/sjog
Noticed by: ijliao (by way of peter)
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.
is going to commit a large number of ports and doesn't want to bloat
the repo any more than necessary. Later on I'll add support to
modulesupdate to do multiple modules at the same time. I should check that
script in CVS, but nobody's repocopied non-ports-specific tools to src yet
to my knowledge so I can't do that.
cvs ops. Many committers found it difficult to debug while using addport
with the -n argument. I'm inclined to agree with the sentiment.
Submitted by: sada, deischen, others
1) Re-add functionality removed in revision 1.11, but only as an option.
This time, it checks out its own copy of ports/Mk and points PORTSDIR
at the correct location. To use this, use the -a option. It will not
work if it can't find portlint in your path.
2) Add option -f to disable fetching the distfile.
3) Add option -m to disable checking out a copy of Mk for 1). For those
that have a current Mk in PORTSDIR and don't want to check out a fresh
copy for whatever reason.
4) Support CVSROOT environment variable.
5) Note environment variables recognized by addport.
6) Fix breakage trying to use -d with multiple directories (not tested).
7) Actually use $interactive variable.
8) Update usage().
9) Note original RCSID for my shell script; take over as MAINTAINER.
Tested by: gshapiro (this revision was used in adding sendmail)
mkptools are broken up into simple scripts:
mkpskel takes a distribution file as an argument and generates a
skeleton; it guesses the extract method, the package name, and so forth,
and generates populated Makefile and distinfo and empty pkg-descr,
pkg-comment, and pkg-plist.
mkpextr goes through the extract phase, and generates what it believes
are the necessary variables necessary to build the port. It guesses the
work source directory, what the Makefile is called, whether it has
configure, whether to use libtool, and other bits such as wildly
guessing kde, qt, gtk, gnome, and ssl requirements. Run it in a port
directory, and it generates Makefile.extr.
mkpmerge merges the results from mkpskel and mkpextr (and will later
merge the results from the other phases) into Makefile.
mkpclean cleans up any extra files that may be hanging about.
automatic checking on their ports to be added, I'm removing it and its
overriding -v option. Let the improper port additions continue, and screw
anyone who doesn't care about the repo.
Propelled by: obrien, msmith
$DISTDIR to put distfiles in, if they can't touch $PORTSDIR/distfiles.
If this is freefall, default to $tmpdir, which is relatively secure since
most users on it are trusted. Reset FETCH_BEFORE_ARGS to "-btA" instead
of "-btsA", so the distfile is actually fetched. Add a method to allow
the name of the module to be changed if -i is used. Update to use the
modulesupdate that's in /usr/local/bin.
Addport should now work properly on freefall, without -v option.
Submitted by: roger (-s, $tmpdir by default on freefall)
Thanks to: peter (copying modulesupdate to /usr/local/bin)
with a directory specified as ``.'' or containing a ``/''. A new option -i
was added to allow people more control over the port's position in the CVS
repository. A new feature was added to allow multiple ports to be added in
the same execution of addport. Addport will now add a port to the category
Makefile properly if it is the first port in a category.
A major reorganization of addport was also performed - now the functions
are at the *bottom* instead of scattered around. This should allow easier
understanding of the process addport goes through. I've also added -w to
perl's exec args, and moved to a hash for getopts().
usage() was extended to help explain addport's functionality better.
Bugs submitted by: nbm
Some help from: sheldonh
very good with perl yet, so anyone who can propose a better way to do
this (with s/// or m// or something using regex) that might also include
the case where the argument contains slashes (i.e. games/somegame). But
anyways, this should catch folks who use ``.''. :->
Submitted by: obrien, sada
gnomedepends is a script, which analyses pkg/PLIST and gives an advice as to
which GNOME ports should be listes in {RUN,LIB}_DEPENDS for the port to ensure
correct removal of GNOME shared directories.
the script working for the cases when either one directory is a symlink.
Submitted by: Juriy Goloveshkin <juriy@avias.com>, Volodymyr Kostyrko <arcade@limbo.dn.ua>
installed ports collection and prompt to remove unmatching entries (i.e.
distfiles that doesn't have corresponding md5 file).
Hardly requiested by: will
gives a diff of any port with broken distfiles, if the distfile names are
the same. This script will help keep more ports' up-to-date distfiles on
ftp.FreeBSD.org.
PR: 18723
Submitted by: Alexander Langer <alex@cichlids.com>
getpr - downloads a problem report from GNATS and attempts to extract
the patch, shar, uuencoded file from it.
this probably needs to be checked for potential security problems.
prpatch - just does `patch $1 < pr-patch' (pr-patch is created by getpr)
prdone - checks in the port, attempting to fill out the commit message using
information from the problem report and then takes you into edit-pr
so you don't forget to close the PR.