It upgrades ports without reinstalling dependent packages by directly
modifying the package info recorded in the files under /var/db/pkg.
e.g.
portupgrade gtk
portupgrade -cC gnome\*
It currently has many design flaws (to me at least) but I am releasing
this because it's functionally stable enough to use. (I believe.. ;)
Use with care, at your own risk.
- Conform to the new port layout, finally.
- Use COMMENT, DESCR, PLIST, PKGINSTALL, PKGDEINSTALL, PKGREQ,
PKGMESSAGE, SCRIPTDIR and PATCHDIR instead of hardcoded file/directory
names. (suggested by will)
- Fix maxchars checker that has been broken.
- Fix "use ldconfig with ||/usr/bin/true" checker. (patch submitted by
sobomax)
- Fix "include the country code in the module alias name" warning.
Besides, "country code" is corrected to "language code".
- Add french and hebrew to the list of lang-specific categories.
- Properly omit the checks against PORTNAME section etc. when the
testee is a slave port.
- Add "INSTALLS_SHLIB may be missing" checker which searches pkg-plist
for `*.so' and `*.so.<nn>'.
- Make it dynamically read bsd.sites.mk so that we no longer need to
keep it always in sync with bsd.sites.mk. It now should recognize
`/%SUBDIR%/' part too.
- Change `split(/\s+/, "blah blah blah")' to `qw(blah blah blah)'.
- Add some dummy comments that prevent Emacs' CPerl mode from
confusing.
- Add a condition "unless this is a master port" to the warnings that
are specific to master ports, because currently we can't know if a
port is a master port.
Reviewed by: mharo (MAINTAINER)
patches/patch-aa -> files/patch-aa
No repo-copy needed, since there was no history for the patch, but I
include the original commit message for it here:
Adding a `-P' option to the CVS checkout lines is needed or else
bsd.port.mk finds the older directories and complains about mismatched
port versions.
Submitted by: my machine going nuts and trying to build this port by mistake
Approved by: asami
ports layout. Apologies to everyone for taking so long to get around
to this. I'm surprised, nay amazed at how many people are still using
PIB after all this time. Thanks!
PR: ports/22016 ports/22022 ports/22130 ports/22281
- 'cvs -Q' is *too* silent, so just use 'cvs -q' when not verbose.
- cache the results of find_master().
- allow for a trailing slash in the second field in a dependency spec.
- add an option to show the packing lists for selected ports.
- fix a bug where porteasy would build a port when it shouldn't.
Always use the -d option when invoking CVS, to work around breakage in CVS
(said breakage has reportedly been fixed in 1.11, but I haven't verified this)
Bump version number.
port actually does not have any DISTFILES variable. This *should* work
with slave/master ports, but I'm not sure.
Now the portlint port passes its own test. ;->
PR: 21380
Submitted by: des
Approved by: mharo
- better rcsid checking
- add DIST_SUBDIR to section 1 of the Makefile
- add check for WWW: in pkg/DESCR when http:// exists
- add new -t flag, which will require a tab after a variable defination instead
of spaces
- cleanup english grammar
- add -M (make variable passing) flag
- change into portdir instead of constantly using $portdir/file
- get variables from make instead of parsing the Makefile
- update usage()
- fix some portname/version bugs
- add EXTRACT_ONLY to section 1
- fix multi comment sections on top bug
I think I'm going to start a rewrite of lots of portlint's code to
*hopefully* make it easier to add new checks in the future. If you
have any requests of things for me to put on portlint's TODO list,
send me an email letting me know what they are.
Fixes:
* fix some portname/version checking bugs
* put EXTRACT_ONLY in section 1 checking
* fix multi comment sections at top of Makefile regex
* make portlint pass perl -w (this found a few bugs)
No new features in this version
isn't 100% ready for prime time, but it works well enough that it should
be fine to use for most things. I'm not sure if I'll have time to fix
the few minor bugs that I know of and give it a good testing today.
Parts of the PORTNAME/PORTVERSION changes were submitted by knu.
Other changes in this version:
* add "-V", version flag
* use getopts instead of parsing @ARGV
- this fixes a bug where you could only specify one flag after the
dash (ie. -c -N would work and -cN wouldn't)
* change some warnings to fatals
* ignore dot directives in Makefile
- this usually reduces the number of warnings displayed when
a Makefile contains .include or .if foo
* don't blame just emacs for leaving around temporary editor files
* don't warn about installing files into /compat
* correct counting of number of chars in pkg/COMMENT
* understand multiple rcsid tags in the comments section
- this allows us to have both $FreeBSD$ and $NetBSD$, for example
without getting funky warning messages
* scope variables with my instead of local so we can use strict to
help us find bugs in portlint
portlint port passing portlint)
New portlint features:
* Allow pkg/COMMENT to start with a digit
* Warn about .la files in pkg/PLIST
* Better support for comments in the Makefile
- fixes the section off by 1 error
(DISTNAME needs to exist, and so on, when it does)
* don't report "FATAL: no MAINTAINER listed in Makefile" when it does exist
* other random minor bug fixes
- enforce pkg/COMMENT style
- better info file checking in pkg/PLIST
- don't warn about @unexec rmdir foo || true - the handbook says this is fine
- allow CATEGORIES+=
- warn about www.freebsd.org/~user needing to be people.freebsd.org
- warn about PKGNAME being set from another variable instead of being a
fatal error
- understand both $(PORTSDIR) and ${PORTSDIR}
[Has anyone figured-out what makes the number 393 so interesting to PW, now?]
I wonder what was going through Jordan's head during his infamous
$Id$-smashing commit.
Before I forget....
Thanks to naddy@mips.rhein-neckar.de (Christian Weisgerber) for prompting
this commit. See msg-id: 7geokh$tje$1@mips.rhein-neckar.de
put the source code for "portlint" into FreeBSD port tree. The
imported revision is 1.65 (in my local RCS file). (pseudo) version
number for the port is now 2.0.
Whoever make changes to bsd.port.mk is advised to update portlint.pl
too :-)
Note that portlint.pl MUST be portable enough to handle (Net|Open|Free)BSD
bsd.port.mk. There are people using portlint.pl on non-FreeBSD
platforms.
Portcheckout(1) checks out a FreeBSD port and all runtime
and buildtime depending ports into the current working
directory. The output is written to stdout as an
executable shell-script.
Compiling a FreeBSD port usually require a full tree of ports
in /usr/port. A cvs checkout or a cvs update command takes
a very long time and need much free space.
With portcheckout, you checkout only the parts of the port
tree which you really need. This is a magnitude faster!
but aren't in a tk virtual category from
awk -F\| '$9 ~ /tk-/ && $7 !~ /tk/ {print $1}' INDEX
I didn't do anything about the ports which depend on things which depend
on a tk revision. I'd be afraid that the depended-upon port might change
and thus outdate the virtual category in the depender.
been ".../pub/pib/" (I first thought the second "pib" was bogus,
until I realized that the problem was in fact a typo of "pub" and
a missing "/"!)
(2) Fix RUN_DEPENDS, you can't just put a generic name like "tk-4.1"
here. ;)
(3) Change install: target to do-install: and also move it above the
.include <bsd.port.mk>. (You shouldn't define your own "install"
or "patch" or any of the big targets unless absolutely necessary,
the "do-*" targets are where most of the real work is done.)
FreeBSD ports collection. It provides facilities for tracking distfiles,
searching for ports, building etc.
Requires bsd.port.mk revision 1.232 or later and a matching ports collection.