summaryrefslogtreecommitdiff
path: root/mk/misc
AgeCommit message (Collapse)AuthorFilesLines
2022-11-23mk: Remove unnecessary execs in various show targets.jperkin1-13/+16
2022-06-16mk/developer.mk: reorganize documentation for 'make cce'rillig1-31/+35
In most cases, the command 'make cce' is all that is needed to add a changes entry, so put it at the top of the documentation. The smaller steps are useful when updating multiple packages at once, which is less often the case. Make the possible values for CTYPE stand out, instead of hiding them in the body text.
2021-01-20developer.mk: improve a commentgutteridge1-4/+4
2021-01-13mk/misc/show.mk: Only advise changing user-settable variablesgdt1-4/+4
Before, it was easy for a user to misinterpret the message as e.g. setting PYPACKAGE for gnome-doc-utils.
2020-12-14show-all: explain how to show the values of tricky variablesrillig1-7/+20
In most cases, the output of "bmake show-all" is reliable, but in a few edge cases there may still be surprises.
2020-09-12show-all: use descriptive variable namesrillig1-29/+29
The show-all code is mostly line noise, therefore it is all the more important to provide at least a few hints to a potential reader, by using descriptive variable names for the iteration variables: g => grp c => cat v => var w => width x => word
2020-09-12show-all: use separator for long rows of backslashesrillig1-5/+5
I had been confused by the printf commands since some of them used '\n' and some used '\\\n', which seemed as if there were some quoting issue that would make it necessary to double the backslashes. This assumption was wrong though. The printf commands for the single-valued variables use the normal '\n', while the lines for the multi-valued variables end with a real backslash in the output, to mimick the continuation lines in makefiles. As a hint that the '\\\n' means backslash + newline, add single quotes between the two characters.
2020-09-12show-all: fix escaping of '$' in variable modifiersrillig1-7/+4
The previous code relied on the exact implementation of Var_Parse in bmake, and that it does not issue any error messages in case of $$ in variable modifiers. In variable modifiers, a $ is escaped using \$, not $$, as documented in the manual page. At the time when I wrote the previous version with the _SHOW_ALL.d4 and _SHOW_ALL.d8 hacks, I did not know about the backslash escaping rule, and I just added dollar signs until everything seemed to work. I couldn't explain why it worked though, which is not surprising since the code was using an undocumented implementation flaw of bmake.
2020-07-04mk/misc/show.mk: fix reference to further documentationrillig1-3/+3
2020-07-01show-all: fix typo in variable namerillig1-2/+2
The width only applies to a single group, not to several or even all groups.
2020-07-01mk/buildlink3: increase width of varnames in show-all-bl3rillig1-21/+23
The buildlink3 variable names are quite long. So long that using the default column width of 24 characters, most of the variable values are not aligned. In this case, it makes sense to shift them all to the right a bit.
2020-05-10mk: move locking.mk from internal to miscrillig1-0/+168
Locking is not really internal since it has user-settable variables.
2020-04-26mk/misc/can-be-built-here.mk: remove NOT_FOT_UNPRIVILEGEDrillig1-13/+2
It is unused, and its error message wrongly said "only for unprivileged", which nobody complained about for 13 years.
2020-03-30mk/misc/show.mk: prevent unnecessary .for loop expansionrillig1-2/+2
The .for loops are expanded by bmake as soon as they are parsed. Since there are many variable groups, and since each of these groups has several variables, this takes quite a bit of time. The time for running "bmake clean" in pkgtools/pkglint went down from 1.0 second to 0.7 seconds. This may not seem much, but when multiplied with 23088 times 9, this little change may speed up a full bulk build by 62000 seconds, which is about 18 hours. The side-effect is that the show-all-* targets can only be run from the command line, not as a dependency of other targets. This restriction will probably go unnoticed.
2020-03-20show-all: fix output for list variables containing dollar charactersrillig1-4/+7
Before, variables containing dollar characters displayed so wrong that it was hard to explain. To fix the problem, I typed almost random characters into the code until the output was exactly as expected. I still do not understand: * why the list variables need 8 dollars to survive the @x@ loop, * why the code only works if the dollars come from an external variable instead of being written inline, * why the backslash in the :C modifier needs to be doubled. Anyway, the output of "bmake show-all-extract" now contains the shell variable $${extract_file}, just as it should. The dollars are now doubled in the output and thereby match the source code from the Makefile exactly.
2019-09-08mk/misc/show.mk: document how to explicitly mark variables as ignoredrillig1-1/+6
An upcoming check in pkglint will require that if a file has a _VARGROUPS section, it must contain the full truth, mentioning every variable that is used or defined in the file. Some variables may be so internal though that they are not interesting in any scenario for understanding what goes on in the file. These variables can be explicitly ignored. They will not be listed by "bmake show-all" and pkglint will not complain about them.
2018-11-30mk/misc: make configuration for show-all targets more configurablerillig1-17/+22
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).
2018-11-11mk/misc: adjust layout of the show-all output to pkgsrc formatrillig1-16/+19
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.
2018-11-10mk/misc: in show-all, list values of *_ENV and *_ARGS in separate linesrillig1-15/+57
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)
2018-10-08Fix whitespace issues reported by pkglintrillig1-3/+3
2018-05-28mk/misc/show.mk: improve wording of the help textrillig1-5/+5
2018-05-16mk/*: improve documentation for "make help"rillig1-1/+2
2018-02-26mk/misc/show.mk: document the show-all-* targetsrillig1-1/+5
2018-01-07Improved documentation for "make help".rillig1-2/+3
The check for target(help) prevents a warning when "make help" is run from a category directory.
2017-09-16mk: remove import targetwiz1-117/+0
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.
2017-09-13mk/misc/developer.mk: improve commit messagewiz1-2/+2
Commits to doc/ might also affect the TODO file, so use "doc: " instead of "CHANGES-2017: " as default prefix. Suggested by jperkin.
2017-09-12mk/bsd.pkg.mk: Adapt changes-entry targetwiz1-2/+2
Prefix package name to commit message.
2016-07-11Run mk/scripts/mkreadme in quiet mode by default.wiz1-2/+2
2015-01-30Uniq BUILD_DEFS and BUILD_DEFS_EFFECTS before printing.jperkin1-3/+3
2015-01-01Add support for BROKEN_ON_PLATFORM and BROKEN_EXCEPT_ON_PLATFORM, as perdholland1-1/+27
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...
2014-12-30Remove pkg_views support, second part: infrastructure.wiz1-12/+1
2014-06-02Remove old bulk build code. Use pbulk.wiz1-8/+1
2014-02-22Use ${NETBSD_LOGIN_NAME} for ssh.obache1-3/+4
2014-02-20Add upload-distfiles target for PKG_DEVELOPER, for uploading missing distfilesobache1-2/+50
to our backup ftp server.
2013-08-31Small grammar fixes in the comment.rillig1-7/+8
2013-06-07Move show-depends-options again, to be worked form non-option packages.obache1-1/+12
2013-04-12Allow running on systems where pkg_admin is not in PATHjoerg1-2/+2
2013-02-10Experimental support of manifest files for Windows UAC.obache2-0/+53
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".
2011-11-13Use first entry of CATEGORIES as default CATEGORY.joerg1-1/+2
2011-11-13If importing into an existing directory, remove the content first.joerg1-1/+11
2011-11-13Allow empty FROM to actually work. Allow importing from the targetjoerg1-7/+5
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
2011-11-13Don't bail out with parse error if _EXPERIMENTAL isn't set.joerg1-2/+2
2011-09-15Update description for cce, from Snader_LB.wiz1-2/+2
2011-09-08Introduce PKGSRC_SETENV, defaulting to SETENV. Can be set to ${SETENV} -iabs1-2/+2
to santise environment
2009-08-23Add USE_NETBSD_REPO option to force make cce and friends to use thejoerg1-5/+15
main repository. Very useful when using a local copy of the repository for normal operation.
2009-08-21Make cce depend on todo-entry-remove as well.wiz1-2/+2
2009-08-21When making an entry to the CHANGES-* file using 'make changes-entry',wiz1-10/+22
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.
2009-07-28Documented the trap into which I had just fallen.rillig1-1/+8
2009-07-26Added an experimental target "import" that makes it easier to importrillig1-0/+108
packages from pkgsrc-wip and other sources.
2008-11-19Documented BUILD_DEFS and BUILD_DEFS_EFFECTS.rillig1-1/+16