diff options
author | Jim Meyering <meyering@fb.com> | 2014-09-14 16:31:49 -0700 |
---|---|---|
committer | Jim Meyering <meyering@fb.com> | 2014-11-30 18:59:33 -0800 |
commit | 5b9c447bb829d31352645e91773db092189385c2 (patch) | |
tree | 07aa8c77b3a5c5e6e3b9bb10f6ac96eca4a01bf4 | |
parent | e9a211194e8a241f8ab50b92f2f226d33b91de76 (diff) | |
download | sed-5b9c447bb829d31352645e91773db092189385c2.tar.gz |
maint: add cfg.mk, derived from grep's
* cfg.mk (local-checks-to-skip): Exempt many failing tests.
(old_NEWS_hash): Define.
* NEWS: Tweak wording to avoid semblance of doubled word: in in-place.
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | cfg.mk | 143 |
2 files changed, 144 insertions, 1 deletions
@@ -136,7 +136,7 @@ Sed 4.1.1 * yield an error when running -i on terminals or other non regular files -* do not interpret - as stdin when running in in-place editing mode +* do not interpret - as stdin when using in-place editing mode * fix bug that prevented 's' command modifiers from working @@ -0,0 +1,143 @@ +# Customize maint.mk -*- makefile -*- +# Copyright (C) 2009-2014 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# Used in maint.mk's web-manual rule +manual_title = GNU Sed: a stream editor + +# Use the direct link. This is guaranteed to work immediately, while +# it can take a while for the faster mirror links to become usable. +url_dir_list = http://ftp.gnu.org/gnu/$(PACKAGE) + +# Tests not to run as part of "make distcheck". +local-checks-to-skip = \ + sc_GPL_version \ + sc_bindtextdomain \ + sc_cast_of_alloca_return_value \ + sc_cast_of_argument_to_free \ + sc_const_long_option \ + sc_error_message_uppercase \ + sc_file_system \ + sc_immutable_NEWS \ + sc_long_lines \ + sc_m4_quote_check \ + sc_makefile_at_at_check \ + sc_po_check \ + sc_program_name \ + sc_prohibit_always_true_header_tests \ + sc_prohibit_atoi_atof \ + sc_prohibit_doubled_word \ + sc_prohibit_empty_lines_at_EOF \ + sc_prohibit_have_config_h \ + sc_prohibit_magic_number_exit \ + sc_prohibit_strcmp \ + sc_prohibit_strncpy \ + sc_require_config_h \ + sc_require_config_h_first \ + sc_space_tab \ + sc_prohibit_tab_based_indentation \ + sc_texinfo_acronym \ + sc_unmarked_diagnostics \ + sc_useless_cpp_parens + +# Tools used to bootstrap this package, used for "announcement". +bootstrap-tools = autoconf,automake,gnulib + +# Now that we have better tests, make this the default. +export VERBOSE = yes + +# Comparing tarball sizes compressed using different xz presets, we see +# that -6e adds only 60 bytes to the size of the tarball, yet reduces +# (from -9) the decompression memory requirement from 64 MiB to 9 MiB. +# Don't be tempted by -5e, since -6 and -5 use the same dictionary size. +# $ for i in {4,5,6,7,8,9}{e,}; do (n=$(xz -$i < sed-4.2.2.tar |wc -c);echo $n $i) & done |sort -nr +# 900032 4 +# 854932 5 +# 844572 4e +# 843780 9 +# 843780 8 +# 843780 7 +# 843780 6 +# 837892 5e +# 836832 9e +# 836832 8e +# 836832 7e +# 836832 6e +export XZ_OPT = -6e + +old_NEWS_hash = d41d8cd98f00b204e9800998ecf8427e + +# Many m4 macros names once began with 'jm_'. +# Make sure that none are inadvertently reintroduced. +sc_prohibit_jm_in_m4: + @grep -nE 'jm_[A-Z]' \ + $$($(VC_LIST) m4 |grep '\.m4$$'; echo /dev/null) && \ + { echo '$(ME): do not use jm_ in m4 macro names' \ + 1>&2; exit 1; } || : + +sc_prohibit_echo_minus_en: + @prohibit='\<echo -[en]' \ + halt='do not use echo ''-e or echo ''-n; use printf instead' \ + $(_sc_search_regexp) + +# Look for lines longer than 80 characters, except omit: +# - program-generated long lines in diff headers, +# - the help2man script copied from upstream, +# - tests involving long checksum lines, and +# - the 'pr' test cases. +LINE_LEN_MAX = 80 +FILTER_LONG_LINES = \ + /^[^:]*\.diff:[^:]*:@@ / d; \ + \|^[^:]*man/help2man:| d; \ + \|^[^:]*tests/misc/sha[0-9]*sum.*\.pl[-:]| d; \ + \|^[^:]*tests/pr/|{ \|^[^:]*tests/pr/pr-tests:| !d; }; +sc_long_lines: + @files=$$($(VC_LIST_EXCEPT)) \ + halt='line(s) with more than $(LINE_LEN_MAX) characters; reindent'; \ + for file in $$files; do \ + expand $$file | grep -nE '^.{$(LINE_LEN_MAX)}.' | \ + sed -e "s|^|$$file:|" -e '$(FILTER_LONG_LINES)'; \ + done | grep . && { msg="$$halt" $(_sc_say_and_exit) } || : + +# Indent only with spaces. +sc_prohibit_tab_based_indentation: + @prohibit='^ * ' \ + halt='TAB in indentation; use only spaces' \ + $(_sc_search_regexp) + +# Don't use "indent-tabs-mode: nil" anymore. No longer needed. +sc_prohibit_emacs__indent_tabs_mode__setting: + @prohibit='^( *[*#] *)?indent-tabs-mode:' \ + halt='use of emacs indent-tabs-mode: setting' \ + $(_sc_search_regexp) + +# THANKS.in is a list of name/email pairs for people who are mentioned in +# commit logs (and generated ChangeLog), but who are not also listed as an +# author of a commit. Name/email pairs of commit authors are automatically +# extracted from the repository. As a very minor factorization, when +# someone who was initially listed only in THANKS.in later authors a commit, +# this rule detects that their pair may now be removed from THANKS.in. +sc_THANKS_in_duplicates: + @{ git log --pretty=format:%aN | sort -u; \ + cut -b-36 THANKS.in | sed '/^$$/d;s/ *$$//'; } \ + | sort | uniq -d | grep . \ + && { echo '$(ME): remove the above names from THANKS.in' \ + 1>&2; exit 1; } || : + +update-copyright-env = \ + UPDATE_COPYRIGHT_USE_INTERVALS=1 \ + UPDATE_COPYRIGHT_MAX_LINE_LENGTH=79 + +exclude_file_name_regexp--sc_long_lines = ^tests/.*$$ |