|
7f7d18eb
|
2019-06-22T17:52:16
|
|
maintainer-makefile: restore portability to non-GNU awks
Reported by Tim Rühsen.
* top/maint.mk (AWK): New variable. Use it.
(sc_prohibit_gnu_make_extensions): Skip if $(AWK) is not gawk.
|
|
97e4b248
|
2019-05-18T08:46:00
|
|
maintainer-makefile: catch uses of $< in non-implicit rules
* top/maint.mk (sc_prohibit_magic_number_exit): New.
|
|
cff31e5c
|
2019-04-01T23:15:56
|
|
gitsub.sh: New file.
* top/gitsub.sh: New file.
|
|
e3970fb9
|
2018-11-29T09:06:26
|
|
long-options: add parse_gnu_standard_options_only
Discussed in https://bugs.gnu.org/33468 .
* lib/long-options.c (parse_long_options): Use EXIT_SUCCESS instead
of 0.
(parse_gnu_standard_options_only): Add function to
process the GNU default options --help and --version and fail for any other
unknown long or short option. See
https://gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html .
* lib/long-options.h (parse_gnu_standard_options_only): Declare it.
* modules/long-options (depends-on): Add stdbool, exitfail.
* top/maint.mk (sc_prohibit_long_options_without_use): Update
syntax-check rule, add new function name.
|
|
8089c009
|
2019-01-06T22:30:13
|
|
maintainer-makefile: Make the configure.ac section optional.
* top/maint.mk (GREP, SED): Define if not defined.
|
|
70eb4687
|
2019-01-03T09:19:27
|
|
maintainer-makefile: fix typo in previous patch
* top/maint.mk (_sc_search_regexp): Fix my accidental corruption
of Roman's work.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
7216e3e8
|
2019-01-02T14:08:00
|
|
maint.mk: Replace grep with $(GREP)
A project that uses maint.mk can specify regular expressions that are
not supported in system grep. Autoconf can discover an alias for GNU
grep and set it in GREP but it takes no effect for maint.mk
The patch provides an ability to use GNU grep if it was discovered by
autoconf and by calling GNU grep we don't get the messages in syntax-check:
prohibit_diagnostic_without_format
grep: empty (sub)expression
grep: empty (sub)expression
grep: empty (sub)expression
grep: empty (sub)expression
grep: empty (sub)expression
grep: empty (sub)expression
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
Message-Id: <20181213153453.38123-3-r.bolshakov@yadro.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
64e5ddb0
|
2018-12-13T18:34:52
|
|
maint.mk: Split long argument lists
$(VC_LIST_EXCEPT) is usually expanded into arguments for a command.
When a project contains too many, some operating systems can't pass all
the arguments because they hit the limit of arguments. FreeBSD and macOS
are known to have the exec limit of 256k memory used by arguments.
More on the issue:
http://lists.gnu.org/archive/html/bug-gnulib/2015-08/msg00019.html
https://www.redhat.com/archives/libvir-list/2015-August/msg00758.html
xargs without flags can be used to limit number of arguments, coupled
with use of the shell's built-in echo which is not subject to the exec
limits.
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
Message-Id: <20181213153453.38123-2-r.bolshakov@yadro.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
e6633650
|
2019-01-01T00:25:11
|
|
maint: Run 'make update-copyright'
|
|
c58eb574
|
2018-10-28T13:06:30
|
|
maintainer-makefile: fix syntax-check rule for "same.h"
* top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
for 'same_nameat', too.
|
|
29596f8d
|
2018-06-19T15:47:53
|
|
README-release: also run any check-very-expensive tests
* top/README-release: Adjust instructions so they run the
check-very-expensive tests when there is such a target.
|
|
67f682f1
|
2018-02-03T16:57:36
|
|
maint.mk: exempt "/proc/filesystems" from "file system" syntax check
* top/maint.mk (sc_file_system): Don't complain about
"/proc/filesystems".
|
|
281b825e
|
2018-01-01T00:57:25
|
|
maint: Run 'make update-copyright'
|
|
2a3dbe99
|
2017-11-12T09:13:30
|
|
maint: shorten https://lists.gnu.org/archive/html/... links
Each /archive/html/ part can be replace with /r/.
Run this to induce the change:
git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
* ChangeLog: Perform that substitution.
* Makefile: Likewise.
* STATUS-libposix: Likewise.
* build-aux/bootstrap: Likewise.
* doc/maintain.texi: Likewise.
* gnulib-tool: Likewise.
* lib/allocator.h: Likewise.
* lib/argp-ba.c: Likewise.
* lib/argp-pv.c: Likewise.
* lib/canon-host.c: Likewise.
* lib/canonicalize-lgpl.c: Likewise.
* lib/float.in.h: Likewise.
* lib/fstat.c: Likewise.
* lib/getdelim.c: Likewise.
* lib/getprogname.c: Likewise.
* lib/glthread/thread.h: Likewise.
* lib/intprops.h: Likewise.
* lib/mbsrtowcs-state.c: Likewise.
* lib/safe-read.c: Likewise.
* lib/signal.in.h: Likewise.
* lib/stat.c: Likewise.
* lib/stdbool.in.h: Likewise.
* lib/stdio-impl.h: Likewise.
* lib/stdio.in.h: Likewise.
* lib/sysexits.in.h: Likewise.
* lib/timespec.h: Likewise.
* lib/wcsrtombs-state.c: Likewise.
* m4/alloca.m4: Likewise.
* m4/extern-inline.m4: Likewise.
* m4/fstatat.m4: Likewise.
* m4/gnulib-common.m4: Likewise.
* m4/lib-ignore.m4: Likewise.
* m4/printf.m4: Likewise.
* m4/regex.m4: Likewise.
* m4/stat-size.m4: Likewise.
* m4/std-gnu11.m4: Likewise.
* m4/stdbool.m4: Likewise.
* m4/sys_types_h.m4: Likewise.
* m4/threadlib.m4: Likewise.
* m4/vararrays.m4: Likewise.
* pygnulib/GLImport.py: Likewise.
* tests/test-exp.h: Likewise.
* tests/test-exp2.h: Likewise.
* tests/test-expm1.h: Likewise.
* tests/test-fflush2.c: Likewise.
* tests/test-getopt_long.h: Likewise.
* tests/test-intprops.c: Likewise.
* tests/test-log.h: Likewise.
* tests/test-log10.h: Likewise.
* tests/test-log1p.h: Likewise.
* tests/test-log2.h: Likewise.
* tests/test-printf-posix.h: Likewise.
* tests/test-regex.c: Likewise.
* tests/test-snprintf-posix.h: Likewise.
* tests/test-sprintf-posix.h: Likewise.
* tests/test-stdalign.c: Likewise.
* tests/test-stdbool.c: Likewise.
* tests/test-vasnprintf-posix.c: Likewise.
* tests/test-vasprintf-posix.c: Likewise.
* top/maint.mk: Likewise.
|
|
03eac9d3
|
2017-09-14T00:35:56
|
|
all: Replace many more http URLs by https URLs. Update stale URLs.
* users.txt: Remove mention of 'newts'.
* lib/localename.c: Update comment about LANG_SOTHO.
|
|
ca35d468
|
2017-09-13T00:48:18
|
|
all: prefer https: URLs
|
|
aab4ea7a
|
2017-09-12T16:36:27
|
|
maintainer-makefile: FTP -> HTTPS
* top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
of FTP, which is planned to be decommissioned on 2017-11-01.
|
|
8e2bc0b5
|
2017-05-13T18:18:22
|
|
maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
* top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
file that uses the assume macro, claiming that verify.h is unused.
|
|
94386a13
|
2017-01-10T07:19:02
|
|
maint.mk: enforce spelling of "timestamp" (i.e., no space)
* top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
disallow /\btime\s+stamps?\b/. Prefer "timestamp".
|
|
4bbd45b4
|
2017-01-02T21:31:49
|
|
maint.mk: support parallel execution of coverage
* top/maint.mk (coverage): Run dependencies serially,
thus supporting parallel processing of each one,
particularly build-coverage, which builds and runs tests.
|
|
a3fd683d
|
2017-01-01T02:59:23
|
|
version-etc: new year
* build-aux/gendocs.sh (version):
* doc/gendocs_template:
* doc/gendocs_template_min:
* doc/gnulib.texi:
* lib/version-etc.c (COPYRIGHT_YEAR):
Update copyright dates by hand in templates and the like.
* all files: Run 'make update-copyright'.
|
|
5996001f
|
2016-12-30T20:37:10
|
|
maint.mk: hoist gnulib_dir definition earlier
Commit 1894933 introduced a temporary warning during all uses of 'make':
Can't open /lib/intprops.h: No such file or directory.
due to an early evaluation of $(shell) prior to the default definition
of $(gnulib_dir). While that has been fixed in commit ffff79d, hoisting
the definition to the top will prevent further edits from inadvertently
reintroducing the problem.
* top/maint.mk (gnulib_dir): Move near top of file.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
ffff79da
|
2016-12-31T01:31:59
|
|
maint.mk: do not always evaluate intprops-related shell
* top/maint.mk (_intprops_names): Change := to just "=" to avoid
using gnulib_dir undefined (gnulib_dir is defined later in the
file, which will be fixed separately), and besides, there is no
need to incur the cost of this shell invocation for every single
use of this .mk file. Reported by Eric Blake in
https://lists.gnu.org/archive/html/bug-gnulib/2016-12/msg00137.html
|
|
1894933d
|
2016-12-30T09:01:05
|
|
maint.mk: improve sc_prohibit_intprops_without_use
* top/maint.mk (_intprops_names): Don't hard-code the list of
symbol names. Instead, derive it on the fly.
|
|
e9ae724b
|
2016-12-30T09:42:06
|
|
maint.mk: update list of intprops.h symbol names
* top/maint.mk (_intprops_names): Regenerate the list of symbol names.
This avoids a false failure of the sc_prohibit_intprops_without_use
in grep.
|
|
38c0fe5c
|
2016-08-18T15:18:25
|
|
main.mk: remove sc_program_name
There is no more need to use set_program_name in tools (getprogname
is enough for most of the cases).
* cfg.mk (local-checks-to-skip): Remove sc_program_name.
* top/maint.mk (sc_program_name): Remove.
|
|
0fe8b3c8
|
2016-08-02T15:41:13
|
|
maint.mk: expand the prohibit_doubled_word regex
This check has a static list of words that are checked for
repetitions. Expand it before running the perl script to
avoid using expensive captures. This decreases the cost
for libvirt from 1.66s to 0.66s.
* top/maint.mk (prohibit_doubled_word_expanded_): Define.
(sc_prohibit_doubled_word): Use it.
|
|
b23fd9d8
|
2016-07-26T16:28:16
|
|
maint.mk: speed up require_config_h_first
Instead of spawning three processes per file,
rewrite the check in perl and run it once for all the files.
* top/maint.mk (perl_config_h_first_): Define.
(sc_require_config_h_first): Use it in place of shell code.
|
|
04fd8821
|
2016-07-29T22:39:31
|
|
maint.mk: speed up sc_po_check
sc_po_check would skip files based on their names, or on the
existence of files with derived names. Rewrite it to use perl
instead of shell to make the check faster.
* top/maint.mk (perl_translatable_files_list_): Define.
(sc_po_check): Use it.
|
|
a4910b94
|
2016-04-13T00:06:36
|
|
intprops, mktime, strtol: assume two's complement
These macros were not portable to every conforming C11 ones'
complement platform. It's not worth the hassle of porting to some
platforms that use ones' complement or signed magnitude, as such
platforms are almost purely theoretical nowadays and porting even
to some of them makes the code harder to review for little
practical benefit. Problem reported by Florian Weimer in:
https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
* lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
(TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
* lib/mktime.c (TYPE_TWOS_COMPLEMENT):
* lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
(TYPE_SIGNED_MAGNITUDE):
Remove. All uses rewritten to assume two's complement, which is
all we can reasonably test nowadays anyway.
* top/maint.mk (_intprops_names): Remove the removed macros.
|
|
71090a2a
|
2016-01-01T00:56:19
|
|
version-etc: new year
* build-aux/gendocs.sh (version):
* doc/gendocs_template:
* doc/gendocs_template_min:
* doc/gnulib.texi:
* lib/version-etc.c (COPYRIGHT_YEAR):
Update copyright dates by hand in templates and the like.
* all files: Run 'make update-copyright'.
|
|
2a8b497f
|
2015-10-18T21:15:35
|
|
maint.mk: sc_tight_scope: remove extraneous expressions
* top/maint.mk (tight_scope): This is not really required since
commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
that matches all nm entries. But it does remove extraneous entries
that may be confusing or cause issue in future maintenance.
|
|
37c054af
|
2015-10-17T19:18:01
|
|
maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
* top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
name-extraction regexp mistakenly used \S+, and would mistakenly
extract "*F" from "extern int *F()" rather than the desired "F".
Use \w+ instead.
|
|
3ef58f46
|
2015-10-17T20:12:48
|
|
maint.mk: sc_tight_scope: factor and support OS X
* top/maint.mk (_gl_tight_scope): Address three issues:
- factor out four instances of code that wraps a string in "^...$"
- allow nm-reported symbol names to have an optional leading "_"
- add "main" to the list of ignored variable names, because on os x,
"main" has nm-reported type "S" in the variable-checking section.
|
|
d5e367c5
|
2015-01-08T12:18:54
|
|
maint.mk: fix compatibility with OS X nm
* top/maint.mk (_gl_tight_scope): Use the -g option to
show exported items rather than the -e option which is
ignored on all platforms except OS X where it gives an error.
Reported by Assaf Gordon.
|
|
b9bfe784
|
2015-01-01T01:38:23
|
|
version-etc: new year
* doc/gnulib.texi:
* lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
* all files: Run 'make update-copyright'.
|
|
5be8d47e
|
2014-09-04T13:11:04
|
|
maintainer-makefile: add syntax check for useless ';;'
Most instances of ;; in C code are mistakes, where the second
semicolon is a no-op. This rule tries to make it easy to flag
the typos occuring at the end of a statement. It intentionally
does not flag for(;;) loops, and misses grammar problems in
comments if the problem occurs in the middle of the line.
Shell files (including configure.ac and Makefile.am, which can
contain shell snippets) are too likely to use case statements
where ;; is legitimate, so those are not scanned.
* top/maint.mk (sc_prohibit_double_semicolon): New rule.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
4044ca9a
|
2014-07-12T15:21:12
|
|
maint.mk: give projects more flexibilty in set_prog_name arguments
* top/maint.mk (sc_program_name): Allow arguments other than argv[0]
to be passed to set_program_name(). This is needed by the multicall
coreutils program for example.
|
|
9d5efe7d
|
2014-07-08T13:12:28
|
|
maint.mk: less syntax-check noise when SIGPIPE is ignored
For a project with enough files, such as libvirt, vc-list-files
can produce so much input that it can lead to SIGPIPE to earlier
parts of a pipeline when later parts do a quick filter. Also,
many buildbot environments (annoyingly) ignore SIGPIPE, which
causes a number of tools to be rather chatty about reporting
EPIPE write failures. It doesn't help that POSIX has standardized
that the shell is unable to revert SIGPIPE to unignored status
if it inherits it as ignored - otherwise, the solution would just
be to re-enable SIGPIPE anywhere we expect to benefit from early
filtering exits. Here's a short demonstration:
$ ( trap '' PIPE; build-aux/vc-list-files | grep -l '\.c$' >/dev/null)
sed: couldn't write 16 items to stdout: Broken pipe
and a link to the much larger buildbot results against libvirt:
http://honk.sigxcpu.org:8001/job/libvirt-syntax-check/2465/console
with noise such as this, detracting from the later actual build
failure it was reporting:
> prohibit_argmatch_without_use
> grep: write error
> grep: write error
> /bin/sed: couldn't write 25 items to stdout: Broken pipe
> sed: couldn't write 1 item to stdout: Broken pipe
> 0.46 prohibit_argmatch_without_use
But look at the above example: we are piping data to grep -l,
and then discarding that output. At most, data | grep -l will
output "(standard input)", and exit early if the first match
is found before the end of a page (causing SIGPIPE to the process
feeding the pipe). It makes much more sense to use grep -l when
searching for a subset of files that have a match among a larger
set of file names passed as arguments, and NOT when used to
filter stdin. Sure, we're burning a bit more CPU power by
processing the full list instead of exiting early, but at least
it cuts down on the noise.
* top/maint.mk (_sc_header_without_use)
(sc_require_config_h_first): Parse full list.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
d55899fd
|
2014-06-04T13:09:56
|
|
maintainer-makefile: delete obsolete code
I noticed this while reading through the file to debug a different
issue. The grace period mentioned in the comment has elapsed.
* top/maint.mk (build_aux): Drop old code, as threatened.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
088f5049
|
2014-06-04T12:52:33
|
|
maintainer-makefile: avoid spurious error messages
Ever since commit 3f51bf41, we are leaving garbage in the console
if a user executes commands without first running configure, as
shown in the following pseudo-transcript:
$ git clone $sv/coreutils.git
$ cd coreutils
$ ./bootstrap
$ make
make: -n: Command not found
There seems to be no Makefile in this directory.
You must run ./configure before running 'make'.
make: *** [abort-due-to-no-makefile] Error 1
The first line stems from the fact that we have a $(shell $(SED) -n)
use, which gets unconditionally executed even though $(SED) is only
guaranteed to be defined if Makefile was included. We also end up
trying to invoke /vc-list-files to compute the set of syntax check
rules to run due to a $(shell $(VC_LIST)), even though that file
likely doesn't exist in the root directory, but where the error
message was squelched. Since we already have the nice hooks in
place to remind the user they haven't created Makefile yet, and
since 'make syntax-check' makes no sense without a Makefile, it is
easier to just avoid $(shell) computations of internal state
associated with syntax check, by using the same conditional as
GNUmakefile in determining if Makefile exists.
* top/maint.mk (syntax-check): Guard definition and use of
$(shell) by whether Makefile is present.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
6ddb55d1
|
2014-04-18T19:34:45
|
|
maint.mk: Relax the copyright check to cater for non FSF projects
* top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
to not require the "Free" suffix after the copyright years.
|
|
3f51bf41
|
2014-02-20T06:56:42
|
|
maintainer-makefiles: use $(SED) for syntax check
Roman Bogorodskiy reported that attempts to use 'make syntax-check'
for libvirt on a BSD host was failing, due to libvirt's use of
GNU sed constructs in cfg.mk. While libvirt could be patched to
use only portable sed constructs, it is also worth making sed
replaceable so that any maintainer can use a consistent sed program
rather than being hardcoded to the first 'sed' on $PATH.
* modules/maintainer-makefile (configure.ac): Check for sane sed.
* top/maint.mk: Change sed to $(SED).
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
a75f17ad
|
2014-01-03T16:58:50
|
|
maint.mk: adapt openat.h-include-without-use test
* top/maint.mk (sc_prohibit_openat_without_use): Also check for
FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
failing on gnulib's own lib/{chmod,chown,stat}at.c files.
With this change, running "make sc_maint" in gnulib's top-level
directory now passes for me.
|
|
7a0c729a
|
2014-01-01T20:25:44
|
|
maint: fix public-submodule-commit to work with newer git
* top/maint.mk (public-submodule-commit): Remove excess quoting.
We were over-quoting the test arguments, and somewhere prior to
version 1.8.5.2.229, git stopped removing those excess quotes,
which made the test fail, since the unexpanded strings would
always differ; using GIT_TRACE=1 confirmed that the git merge-base
command wasn't even being run.
|
|
1276a2c5
|
2014-01-01T00:04:40
|
|
maint: update copyright
I ran 'make update-copyright'.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
20f47607
|
2013-10-29T22:01:44
|
|
maint.mk: prefer gpgv2 over gpgv
* top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
(gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
Reported by Gary Vaughan.
|
|
233419c3
|
2013-10-28T15:25:25
|
|
maint.mk: restore functionality removed by recent change
Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
the context of a shallow-cloned gnulib repository: "git describe"
would fail in such a directory. However, that change made it so
the reported gnulib revision no longer includes the version number
or a commit count, even when run from a full clone.
* top/maint.mk (gnulib-version): Use the full "git describe"
output when possible, e.g., the form above, rather than the
abbreviated, no-tag, no-commit-count string, and fall back to
using a 10-byte hash, rather than the default minimal-length
hash prefix, since while the minimal-length one may be fine today,
it is likely not to be unique for very long.
|
|
4c2f17d2
|
2013-10-26T19:26:13
|
|
maint.mk: fix "release" target to build _version
This fixes a bug in README-release whereby following the outlined
steps, one would publish a tarball whose programs would report
--version output not consistent with the package version number.
This bug caused grep-2.15 to produce a grep program whose
--version option made it print 2.14.56-1e3d rather than 2.15.
* top/maint.mk (release): Making this target build "_version"
ensures that the new version number is reflected in configure.
|
|
6b24f60d
|
2013-10-27T14:08:08
|
|
maint.mk: get current gnulib revision correctly.
* top/maint.mk (gnulib-version): Use git rev-parse to get the
current HEAD revision.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
|
|
a363f4ed
|
2013-05-10T20:24:21
|
|
maint.mk: catch more abuse of HAVE_DECL in syntax-check
Libvirt had a patch that attempted to do:
+#elif defined(SIOCSIFLLADDR) && defined(HAVE_STRUCT_IFREQ) && \
+ defined(HAVE_DECL_LINK_ADDR)
but which was not flagged by the syntax checker as suspicious
(all HAVE_DECL_* symbols defined by autoconf are always defined
after including <config.h>, although they are sometimes defined
as the value 0). Now that code is flagged until changed to:
+#elif defined(SIOCSIFLLADDR) && defined(HAVE_STRUCT_IFREQ) && \
+ HAVE_DECL_LINK_ADDR
* top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
9fc81090
|
2013-01-01T00:50:58
|
|
maint: update all copyright year number ranges
Run "make update-copyright". Compare to commit 1602f0a from last year.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
258a2368
|
2012-12-28T23:13:17
|
|
maint.mk: handle missing git with more grace
* top/maint.mk (no-submodule-changes, public-submodule-commit): Quietly
proceed if git is not present.
Copyright-paperwork-exempt: yes
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
|
|
6f909c90
|
2012-12-08T18:09:18
|
|
maint.mk: typofix in comments
|
|
cc32620e
|
2012-12-08T18:06:12
|
|
maint.mk: avoid extra forks
* top/maint.mk (_cfg_mk): The GNU make manual documents that
"$(wildcard FILE)" expands to empty if FILE doesn't exist.
So use that instead of "$(shell test -f FILE && echo FILE)".
|
|
908b11d3
|
2012-11-20T10:38:45
|
|
maint.mk: avoid gratuitous failure
Reported by Stefano Lattarini in
<http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
* top/maint.mk (public-submodule-commit): Quote more safely.
|
|
04e49dd5
|
2012-10-28T08:38:09
|
|
maint.mk: rename a new configurable variable
* top/maint.mk (_gl_translatable_string_re): Rename from
translation-markers: _gl_ prefix to insulate from user Makefile code,
and the _re suffix to inform that it's a regular expression.
|
|
40277855
|
2012-10-26T10:19:56
|
|
maint.mk: let packages tweak sc_po_check pattern
libosinfo wants to look for XML files with translation markers
of the form <_name>string to translate</_name>. Rather than
globally adding this to the regex, I thought it would be easier
to make it possible for cfg.mk to override the default pattern.
https://www.redhat.com/archives/virt-tools-list/2012-October/msg00270.html
* top/maint.mk (sc_po_check): Add translation-markers, to allow
finding files with other translation markers.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
cb38ce7d
|
2012-09-25T12:19:04
|
|
maint.mk: fix strict vs. lazy variable issues with RELEASE
* top/maint.mk (_equal): New function.
(member_check): Strip the result to avoid spurious spaces.
(url_dir_list): Do not use ifeq, which is strict, as it will
require RELEASE_TYPE to be defined.
(announcement_Cc_, announcement_mail_headers_): Likewise: instead
of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
(announcement_Cc_alpha,announcement_mail_headers_alpha)
(announcement_Cc_beta,announcement_mail_headers_beta)
(announcement_Cc_stable,announcement_mail_headers_stable): these.
(release): Do not depend on $(release-type), as it forces its
evaluation. Bounce to it.
|
|
86647111
|
2012-09-24T10:06:15
|
|
maint.mk: formatting changes
* top/maint.mk: Indent bodies of if's.
|
|
b9a38b45
|
2012-09-20T11:10:34
|
|
maint.mk: provide "make upload" to ease uploading
See <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
Do not depend simply on the current $(VERSION), as there may have been
new commits since the tarball generation. Rather, rely on $(RELEASE),
as "make release-commit" already does.
For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
"make TYPE".
* top/maint.mk (upload_command, upload, release): New.
(RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
(VERSION): first word of $(RELEASE) is always right.
(emit_upload_commands): Adjust.
* top/README-release: Update.
|
|
aca93801
|
2012-09-21T14:11:18
|
|
maint.mk: factor the validation of RELEASE_TYPE
With help from Jim Meyering.
http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
* top/maint.mk (_empty, _sp): Move their definition earlier.
(member-check, release-type): New.
Use the latter instead of $(RELEASE_TYPE).
Remove now useless local checks.
|
|
a294088c
|
2012-09-20T11:09:53
|
|
maint.mk: silent rules
With help from Stefano Lattarini.
* top/maint.mk (writable-files): Use $(AM_V_GEN).
(announcement): Use $(AM_V_at).
|
|
4eb37349
|
2012-09-18T16:25:19
|
|
maint.mk: generalize _gl_tight_scope for non-recursive make
* top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
that *.h would describe additional .h files in the directory
specified by $(_gl_TS_dir). I.e., add this...
(_gl_TS_other_headers): New variable.
|
|
0bd09441
|
2012-09-18T08:49:59
|
|
maint.mk: exempt trailing blanks found in "binary" files
* top/maint.mk (sc_trailing_blank): Filter out any matches found in
"binary" files, as reported by grep. Suggested by Richard W.M. Jones
in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
|
|
b6de4661
|
2012-09-17T11:38:36
|
|
maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
* top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
|
|
aef4fe8a
|
2012-09-17T11:34:44
|
|
maint.mk: teach sc_prohibit_magic_number_exit to accept 77
* top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
uses like "exit (77)". "77" is automake's "skip this test" exit code.
It is not in the same category as "exit (0)" or "exit (1)", and
besides, I know of no symbolic name for that 77. Reported by
Richard W.M. Jones in
http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
|
|
db75e39b
|
2012-09-17T11:25:00
|
|
maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
* top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
all uses of #define, not just those that start in column 1.
Richard W.M. Jones reported a false positive in
http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
|
|
96ad9077
|
2012-08-20T09:38:54
|
|
maint.mk: avoid redundant file name in message
$(_sc_search_regexp) already prefixes its errors with $(ME), so
failure on one of these rules looked like:
maint.mk: maint.mk: replace strcmp calls above with STREQ/STRNEQ
* top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
(sc_prohibit_defined_have_decl_tests, sc_const_long_option)
(sc_makefile_path_separator_check): Remove bogus $(ME).
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
a451aa0d
|
2012-08-07T08:53:55
|
|
maintainer-makefile: Fix syntax error with dash.
* top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
(sc_vulnerable_makefile_CVE-2012-3386): Likewise.
|
|
01c3bdf8
|
2012-08-05T11:19:19
|
|
maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
* top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
for /error ?([^,]*)/. This avoids false-positives for strings like
"Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
|
|
bd54a45e
|
2012-08-01T09:55:49
|
|
maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
* build-aux/do-release-commit-and-tag: Move variable definitions
together.
($branch): Instead of defaulting to "master", default to the current
branch (as gnu-web-doc-update does).
(help): Display the current values of the option arguments.
* top/maint.mk (release-commit): New.
* top/README-release: Simplify the corresponding step.
|
|
678815ea
|
2012-07-30T13:49:49
|
|
maint.mk: use silent-rules support from Automake
* top/maint.mk (news-check, vc-diff-check, announcement)
(no-submodule-changes, alpha beta stable, release-prep)
(web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
|
|
957a625d
|
2012-07-30T13:41:01
|
|
maint.mk: provide a web-manual-update target
* top/maint.mk: here.
* top/README-release: Use it to simplify the web manual update step.
|
|
c0439bc0
|
2012-07-30T12:27:29
|
|
README-release: shorten the circuit to post a news
* top/README-release: Point directly to the news submission form.
|
|
6ae8e2b4
|
2012-07-30T11:30:53
|
|
maint.mk: avoid a sub-shell
* top/maint.mk (release-prep): Remove unneeded sub-shell.
|
|
ed4e07a0
|
2012-07-30T11:09:15
|
|
maint.mk: absolute VPATH issue
* top/maint.mk (release-prep): Help Git find .git/.
From Jim Meyering.
|
|
f5599c80
|
2012-07-28T12:40:53
|
|
maint.mk: absolute VPATH build fix
* top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
$(srcdir) is not a parent of $(builddir).
|
|
8394dc6b
|
2012-07-27T12:12:42
|
|
maint.mk: new rule: refresh-gnulib-patches
I noticed that 8 of coreutils' 9 gl/**/*.diff files was stale.
Use this rule to refresh them.
* top/maint.mk (refresh-gnulib-patches): New rule.
|
|
92875a6a
|
2012-07-20T15:29:22
|
|
maint.mk: forbid exit(-1)
Libvirt accidentally had an 'exit (-1)' which got by the syntax
checker; generally, exiting with 255 is not a wise idea.
* top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
cabce6b8
|
2012-07-17T10:31:35
|
|
maint.mk: minor simplification.
* top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
for default values.
|
|
9bb1d38c
|
2012-07-13T11:54:21
|
|
README-release: make it more legible
* top/README-release: improve typography slightly.
|
|
1f2e7fd8
|
2012-07-15T14:40:29
|
|
maint.mk: add leading "@" to quiet new "make syntax-check" rule
* top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
|
|
fabe8a68
|
2012-07-13T14:02:05
|
|
maint.mk: new syntax check for HAVE_DECL checks
Based on Karel's report, we might as well enforce a syntax check
to help avoid future problems.
https://lists.gnu.org/archive/html/coreutils/2012-06/msg00037.html
Exempt a few files that still get picked up in the wild rather
than as a full gnulib module with m4 files.
* top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
* cfg.mk
(exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
Exempt some false positives.
Based on a report by Karel Zak.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
48fe477c
|
2012-07-09T16:24:00
|
|
maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
* top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
|
|
b38d5918
|
2012-07-09T16:11:34
|
|
maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
Bugs in both of those conspired to make the
sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
_sc_search_regexp's handling of non-empty $in_files would filter
out any offending file names. sc_vulnerable_makefile_CVE-2009-4029's
choice of in_files value meant there would be no match in most
projects, due to the presence of two or more Makefile.in files.
* top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
Fix a bug in how a non-empty $$in_files was processed:
(sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
in spite of the name, it's a regexp, not a list of file names.
|
|
5eae670f
|
2012-06-17T21:16:54
|
|
maint.mk: fix typo in code to derive GPG key at release time
* top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
|
|
b42157dd
|
2012-06-12T12:23:59
|
|
announce-gen: VPATH issues
* build-aux/announce-gen (--srcdir): New option, used to trim the
$srcdir part of the path from $builddir to NEWS.
* top/maint.mk (announcement): Adjust.
|
|
b630d565
|
2012-06-07T16:17:36
|
|
gnu-web-doc-update: VPATH builds
* build-aux/gnu-web-doc-update (--builddir): New option.
Revamp the handling of options.
Prefer $(...) to `...`.
Don't pass --tmpdir=. to mktemp, it is useless given that we specify
the template, and it is GNU mktemp specific.
Prefer set -e to long series of &&.
Restore the initial git branch, not "master".
Properly initialize submodules (don't rely only on bootstrap)
Do not reconfigure blindly, use config.status.
* top/README-release: Update instructions for gnu-web-doc-update.
|
|
8cabb1a2
|
2012-06-11T11:32:54
|
|
maint.mk: revert most of the previous change re "all these"
* top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
For rationale, see the discussion at
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
|
|
70a9bd65
|
2012-06-10T21:49:59
|
|
maint.mk: prohibit common grammar error: "all these"
* top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
the list of prohibited word sequences. It should be "all of these".
* lib/tempname.c (__gen_tempname): Fix one of them.
|
|
e03145b9
|
2012-06-07T16:17:30
|
|
do-release-commit-and-tag: support VPATH builds
* build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
(noteworthy): Defined earlier to factor its value.
(noteworthy_stub): New.
Use it to factor.
(help_version): Split into...
(help, version): these.
Adjust the option processing part.
Support "--option=value" in addition to "--option value".
(builddir): New.
(--builddir): New option.
* top/README-release: Document this.
Reword slightly so that the reader cannot understand that he
has to do these steps before calling do-release-commit-and-tag.
|
|
b7797c33
|
2012-06-07T12:21:36
|
|
maint.mk: fix VPATH issues.
* top/maint.mk (news-check): GNU Make understand $< very well.
(release-prep): NEWS is in $(srcdir).
|
|
52236aad
|
2012-05-25T16:38:49
|
|
maint.mk: add strncpy-prohibiting syntax-check rule
* top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
|
|
94a6552d
|
2012-05-24T10:22:29
|
|
maint.mk: compute $(gpg_key_ID) more portably
* top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
That use of sed is not portable to some fringe systems.
Reported by Paul Eggert in
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
|
|
72aed879
|
2012-05-23T10:38:54
|
|
maint.mk: gpg_key_ID: use sed more portably
* top/maint.mk (gpg_key_ID): End sed block with a semicolon before
the closing brace.
(refresh-po): Fuse two sed invocations into one.
|
|
48056176
|
2012-04-16T20:21:51
|
|
maint.mk: expand syntax-check rule to catch @xref and @pxref abuse
* top/maint.mk (prohibit_undesirable_word_seq_RE_): An @xref{...}
should start a sentence and should not be preceded by "see",
"see also", etc. Add heuristic for @pxref too.
|
|
3d0ba3fe
|
2012-03-29T20:47:55
|
|
maint.mk: fix syntax checks without exclusions
Commit 727075d0 skipped per-line exclusions if ${exclude} is left
undefined, but was immediately broken by commit 44de969c which
always initialized the variable to the empty string.
* top/maint.mk (_sc_search_regexp): Allow for empty variable.
Reported by Daniel P. Berrange.
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
eb713618
|
2012-03-20T13:37:21
|
|
README-release: simplify slightly
* top/README-release: Run "git checkout master" only once.
|
|
986b22b9
|
2012-03-13T12:30:59
|
|
quote: fix syntax-check
* top/maint.mk (sc_prohibit_quote_without_use): quote.h
also exports quote_quoting_options.
|