Up to now, there was a central list of variable name patterns that
defined whether a variable was printed as a sorted list, as a list or as
a single value.
Now each variable group decides on its own which of the variables are
printed in which way, using the usual glob patterns. This is more
flexible since different files sometimes differ in their naming
conventions.
Two variable groups are added: license (for everything related to
LICENSE) and go (for lang/go).
In Makefiles, the variable values are aligned vertically. This format is
now also used in the show-all target, which makes it easier readable.
Some more variables have been marked as multi-value, and single-valued
variables ending in space are clearly marked. Without the latter, the
regression test would have a line with significant trailing whitespace.
The *_ENV and *_ARG values are typically very long, and reading them in
a single line is unnecessarily difficult. Therefore, each of their
values is listed on a separate line, for example:
fetch:
usr DIST_PATH (undefined)
pkg MASTER_SITES = \
http://ftp.gnome.org/pub/GNOME/sources/glib/2.56/ \
ftp://ftp.gnome.org/pub/GNOME/sources/glib/2.56/ \
ftp://ftp.cse.buffalo.edu/pub/Gnome/sources/glib/2.56/ \
https://download.gnome.org/sources/glib/2.56/ \
# end of MASTER_SITES
pkg DIST_SUBDIR (undefined)
While it would be useful, the current implementation has not been
updated even to use 'cvs add' instead of 'cvs import' (policy change
in 2012). Use the import-package.sh script currently residing in wip/
instead.
discussion on tech-pkg.
BROKEN_ON_PLATFORM and NOT_FOR_PLATFORM are the same, except that
(now) BROKEN_ON_PLATFORM sets PKG_FAIL_REASON and NOT_FOR_PLATFORM
sets PKG_SKIP_REASON. BROKEN_EXCEPT_FOR_PLATFORM and ONLY_FOR_PLATFORM
correspond in the same way.
The idea is that going forward we will distinguish unbuildable
packages that theoretically ought to be fixed (these are BROKEN) from
packages where it doesn't make sense to build (these are NOT_FOR)...
examples of the former include most non-64-bit-clean packges; examples
of the latter include OS-specific language bindings.
A general review of the uses of NOT_FOR_PLATFORM and ONLY_FOR_PLATFORM
(converting many of them to BROKEN...) is coming up.
Similarly, a general review of the uses of PKG_FAIL_REASON and
PKG_SKIP_REASON is coming up.
For this to become useful, pbulk needs to be taught to report failing
and skipped packages differently - the idea is that failing packages
should be reported up front and skipped packages don't need to be. This
has not been done yet, but one set of things at a time...
For Windows Vista or later, executable files including special keywords
(install, update, patch, and so on) in its name are expected as requireing
privileged permissions by default (UAC).
If not, it must be specified with manifest file, or it will be failed to
execute as "Permission denied".
location in pkgsrc, it is after all the natural place for testing new
imports. Don't try to remove a file named after the import message, it
won't exist.
XXX Needs more work for the second case to remove the files before
XXX running cvs up
the target now automatically also removes any TODO entries for the
package that was updated.
Script improved based on version by dholland; further suggestions
by gdt and joerg.
targets. Values are now case-insensitive, and the expanded set of values
that can be used are:
Added => add*
Updated => up*
Removed => rem*, rm
Renamed, Moved => ren*, mov*, mv
This changes is purely for usability reasons -- I have trouble remembering
the exact values, and I don't like to type with capitalization unless.
Remember .include "foo.mk" is looked for (first) in the directory that
contains the makefile being processed (like in C), so remove all the
${.PARSEDIR} and ../ sequences that just cause grief.
# XXX Accumulate commit message during each operation, so that a final
# commit operation will have a sensible message with all of the
# previous operations.
# XXX Fail if uid is 0, or perhaps != CVS meta files owner, to catch
# the case of invoking these targets as root.
and to support the "inet6" option instead.
Remaining usage of USE_INET6 was solely for the benefit of the scripts
that generate the README.html files. Replace:
BUILD_DEFS+= USE_INET6
with
BUILD_DEFS+= IPV6_READY
and teach the README-generation tools to look for that instead.
This nukes USE_INET6 from pkgsrc proper. We leave a tiny bit of code
to continue to support USE_INET6 for pkgsrc-wip until it has been nuked
from there as well.
shell command that is run via the RUN macro. This makes the output a
little more verbose, but when you have the need to set PKG_DEBUG_LEVEL
that high, you can probably need the extra help you get from this
change.