summaryrefslogtreecommitdiff
path: root/.gitignore
AgeCommit message (Collapse)Author
2014-09-19build: fix dependency issues with man page generationPádraig Brady
* .gitignore: Remove reference to no longer generated make file. * configure.ac: Don't bother generating placeholder make file. * man/local.mk: Hardcode the man page deps list for normal builds to be compatible with all make implementations and configure options. Note in SINGLE_BINARY mode, all man pages will be generated on any change to the coreutils binary, but development will generally not be done in this mode, so this shouldn't be an issue. Fixes http://bugs.gnu.org/18055
2014-07-13build: support building all tools in a single binaryAlex Deymo
Add the --enable-single-binary option to the configure file. When enabled, this option builds a single binary file containing the selected tools. Which tool gets executed depends on the value of argv[0] which can be set implicitly through symlinks to the single program. This setup reduces significantly the size of a complete coreutils install, since code from lib/libcoreutils.a is not duplicated in every one of the more than 100 binaries. Runtime overhead is increased due to more dynamic libraries being loaded, and extra initialization being performed for all utils. Also initially a larger binary is loaded from storage, though this is usually alleviated due to caching and lazy mmaping of unused blocks, and in fact the single binary should have better caching characteristics. Comparing the size of the individual versus single binary on x86_64: $ cd src $ size coreutils $ size -t $(../build-aux/gen-lists-of-programs.sh --list-progs | grep -Ev '(coreutils|libstdbuf)') | tail -n1 text data bss dec hex filename 1097416 5388 88432 1191236 122d44 src/coreutils 4901010 124964 163768 5189742 4f306e (TOTALS) Storage requirements are reduced similarly: $ cd src $ du -h coreutils $ du -ch $(../build-aux/gen-lists-of-programs.sh --list-progs | grep -Ev '(coreutils|libstdbuf)') | tail -n1 1.2M coreutils 5.3M total When installing, the makefile will create either symlinks or shebangs based on the --enable-single-binary setting, for each configured tool. In this way, all the tools are still callable individually, but they are all implemented by the same "coreutils" binary installed on the same directory. * .gitignore: Add new generated files. * Makefile.am: New rules to generate build-aux/gen-single-binary.sh and install symlinks. * NEWS: Mention the new feature. * README: Add "coreutils" to the list of utils. * bootstrap.conf: Regenerate src/single-binary.mk * build-aux/gen-lists-of-programs.sh: New --list-progs option. * build-aux/gen-single-binary.sh: Regenerate * configure.ac: New --enable-single-binary option and other variables. Disallow --enable-single-binary=symlinks with --program-prefix et. al. * man/coreutils.x: Manpage hook. * man/local.mk: Add manpage hook and fix dependencies. * src/coreutils.c: Multicall implementation. * src/local.mk: New rules for the single binary option. * tests/local.mk: Add $single_binary_progs to support require_built_() from init.cfg * tests/misc/env.sh: Avoid the use of symlink to echo. * tests/misc/help-version.sh: Add exception for coreutils. * tests/install/basic-1.sh: Really avoid using ginstall strip functionality if there is an issue with the independent strip command. * src/kill.c: Changes to call exit() in main. * src/readlink.c: Likewise. * src/shuf.c: Likewise. * src/timeout.c: Likewise. * src/truncate.c: Likewise.
2013-09-12maint: avoid patching help2manBernhard Voelker
Commit cde1ea0e separated the coreutils-specific patches from help2man. Most changes had been made to accommodate to the coreutils style guide, i.e., to avoid syntax-check failures like sc_long_lines. Yet 2 changes had to be put into the patch help2man.diff. But this added the dependency to patch(1) in distribution builds. Incidentally, the 2 remaining parts of the patch can easily be done outside of help2man. Therefore, this commit partly reverts the recent separation of help2man into 'help2man.in' and 'help2man.diff', and instead uses the original help2man script. * man/help2man.in: Rename to ... * man/help2man: ... this file. * man/help2man.diff: Remove. * man/local.mk (mandeps): Remove man/help2man. (man/help2man): Remove recipe. (.x.1): Add the --info-page option when calling help2man in order to change the name of the texinfo manual from the default, "info PRG", to "info coreutils 'PRG invocation'". Furthermore, use an sed pattern to remove the sentence starting with "For complete documentation". * .gitignore (/man/help2man): Remove entry. * .x-update-copyright: Replace the entries for the files 'man/help2man.diff' and 'man/help2man.in' by 'man/help2man'. * cfg.mk (sc_long_lines): Instead of 'man/help2man.in', exempt 'man/help2man' from this test. (sc_po_check): Likewise. (sc_space_tab): Instead of 'man/help2man.diff', exempt 'man/help2man' from this test. (sc_trailing_blank): Likewise. (sc_prohibit_tab_based_indentation): Instead of 'man/help2man.in' and 'man/help2man.diff', exempt 'man/help2man'. * man/dummy-man: Recognize the option --info-page=... as no-op.
2013-09-09maint: update help2man to 1.43.3Bernhard Voelker
Instead of diverging further from the upstream GNU help2man project (http://www.gnu.org/software/help2man/), hold a copy of the original script and keep track of our changes in a separate patch file. The man pages created with the new version show the following, non-invasive differences: a) command options in the EXAMPLE sections are no longer in bold format, b) file names are underlined now consistently. * man/help2man: Rename to ... * man/help2man.in: ... this file, and update content from the upstream GNU help2man project. * man/help2man.diff: Add patch file for help2man to remove the sentence "For complete documentation ..." (see commit 5d4f09d8), and to emit "info coreutils 'PROG invocation'" into the man pages (77abf69a). * man/local.mk (mandeps): Add help2man to the dependencies of the man pages. (man/help2man): Add rule to generate this script from the upstream help2man.in file and the help2man.diff patch. * .gitignore: Add man/help2man as it is no longer version controlled. * cfg.mk (sc_long_lines): Exempt help2man.in from this check. (sc_po_check): Likewise. (sc_space_tab): Likewise. (sc_trailing_blank): Exempt man/help2man.diff from this check. (sc_prohibit_tab_based_indentation): Instead of help2man, now exempt both help2man.in and help2man.diff from this test. * .x-update-copyright: Add new file and add the above new help2man files as well as the COPYING file.
2013-06-13maint: update gitignore entriesPádraig Brady
* .gitignore: Exclude the generated doc/manual directory, and also the src/fs-latest-magic.h file referenced in README-release.
2013-01-20maint: fix alphabetical order in .gitignoreBernhard Voelker
Since commit v8.20-67-g0f525b6, .gitignore sometimes showed up as changed because the entries "*.gcda" and "*.gcno" had not been in alphabetical order. * .gitignore: Exchange the entries "*.gcda" and "*.gcno".
2012-12-15maint: update gitignore entriesAssaf Gordon
* .gitignore: ignore GCC coverage data files.
2012-11-13factor: cleanup for primes.hPaul Eggert
* .gitignore: Add src/primes.h back, since it's no longer in the repository.
2012-11-12factor: maintainer builds primes.h, not builderPaul Eggert
With this change, the maintainer builds primes.h and it is part of the tarball. primes.h's contents are not architecture-specific. * .gitignore: Remove /src/primes.h. * src/factor.c: Include verify.h. (W): New constant. Verify that uintmax_t lacks holes and that W is no wider than the integers used to generate primes.h. * src/local.mk (EXTRA_DIST): Add src/primes.h. (BUILT_SOURCES, CLEANFILES): Remove src/primes.h. ($(top_srcdir)/src/primes.h): Rename from src/primes.h. Do not depend on src/make-prime-list. Instead, use sub-make to build, so that we build primes.h only if it does not exist. * src/make-prime-list.c: Include <limits.h>, for ULONG_MAX. (wide_uint): Define to uintmax_t or unsigned __int128 if not #defined. (struct prime, binvert, process_prime): Use it instead of uintmax_t. (print_wide_uint): New function. This generates the proper pinv value regardless of the width of uintmax_t on the target, so long as the width doesn't exceed that of the width of wide_uint on the maintainer host that generated src/primes.h. (output_primes): Use it. Output WIDE_UINT_BITS, too. Let the target compute its own lim, since its uintmax_t may be narrower than ours. (SZ): Remove. * src/primes.h: New file, generated with 128-bit integers and usable on any host where uintmax_t's width is no greater than 128 bits.
2012-11-05maint: fix factor's test file name pattern in .gitignoreBernhard Voelker
* .gitignore: Adapt the entry for the files generated during the factor tests (see v8.20-9-g1cace4a).
2012-10-04factor: merge with preexisting factor; integrate tests; avoid warningsJim Meyering
* src/factor.c: Renamed from factor-ng.c, with the following changes: Adjust copyright header to be consistent with others. Use xmalloc and xrealloc, to avoid segv upon OOM. Switch back to using readtokens to handle input. Diagnose invalid inputs. s/fprintf+exit/error/ (print_factors): Add comments. (strto2uintmax): Return strtol_error, not int. (read_item): Remove, no longer used. (main): Use atexit(close_stdout) so that we don't ignore failed write. * cfg.mk: Exempt src/longlong.h from several tests. Exempt run.sh from the test-list-consistency test. Exempt make-prime-list.c from numerous tests, since we won't be making it conform: it must not link with libcoreutils.a. Exempt factor-ng.c from the no-upper-case error message test. * AUTHORS (factor): Add Torbjörn and Niels. * tests/local.mk (factor_tests): Encode the 37 tests. ($(factor_tests)): Rule to generate a test script for each test. * tests/factor/run.sh: New script, marked as very expensive. * .gitignore: Ignore new generated files. * src/local.mk (src/primes.h): New rule. (noinst_PROGRAMS): Add make-prime-list. (noinst_HEADERS): Add longlong.h. Remove all wheel-related rules and files. * src/wheel-gen.pl: Remove file. maint: mark set-but-not-used variables with ATTRIBUTE_UNUSED * src/factor-ng.c (redcify, prime_p, isqrt2): Mark them, so we don't have to disable -Wunused-but-set-variable. maint: use __builtin_expect only if __GNUC__ * src/factor-ng.c (LIKELY, UNLIKELY) [__GNUC__]: Add #ifdef guard. build: avoid warning about unused macro * src/factor-ng.c (__GMP_DECLSPEC): Don't define here * src/longlong.h (__GMP_DECLSPEC): Define if not already defined.
2012-09-01build: refactor how lists of coreutils programs are definedStefano Lattarini
This is in preparation of future changes. Still, this patch leaves the build system in a better shape; true, with more indirections, but also with less convoluted and brittle hacks. Unfortunately, this commit also makes some rebuild rules incomplete; that will son be fixed by follow-up patches. * build-aux/gen-lists-of-programs.sh: New, generates autoconf and automake input fragments that define "lists" of all coreutils programs, with further distinctions about how and when these programs should be built (by default; if the system is capable enough; only if the user asks for them explicitly). This is useful to avoid duplicating the definitions of these lists among several files (at least 'configure.ac' 'src/Makefile.am'); such duplication had proved a source of inconsistencies and bugs in the past. And the pre-existing way to avoid such duplication, as implemented in 'configure.ac' before this patch, was overly complex and brittle. * Makefile.am (EXTRA_DIST): Distribute the new script. * bootstrap.conf (bootstrap_post_import_hook): Run the new script to generate 'm4/cu-progs.m4' and 'src/cu-progs.mk'. * .gitignore: Ignore those files. * configure.ac: Include 'm4/cu-progs.m4', and decidedly simplify most of the program lists definition and processing accordingly. * src/Makefile.am: Similarly include 'src/cu-progs.mk', containing definition of variables $(default__progs), $(no_install__progs) and $(build_if_possible__progs). Accordingly ... (no_install__progs, build_if_possible__progs): ... remove. (EXTRA_DIST): Adjust definition. Adjust a comment.
2012-08-30maint: slightly improve .gitignoreStefano Lattarini
* .gitignore: Ignore '.deps' only when it's a directory. Ignore '*.trs' only if they are in a subdirectory of the 'tests/' directory.
2012-01-04maint: ignore *.trs files, lib/getopt.h and build-aux/test-driverJim Meyering
* .gitignore: Also ignore automake's new .trs files and its build-aux/test-driver, as well as lib/getopt.h.
2011-11-24maint: append many lib/ and m4/ names to .gitignoreJim Meyering
2011-03-13touch: update to latest gnulib to fix Solaris 10 touch segfaultJim Meyering
* gnulib: Update to latest, to address http://debbugs.gnu.org/8230. When built on Solaris 9 and run on Solaris 10, touch would segfault. Reported by Ben Walton. * bootstrap: Update from gnulib. * tests/init.sh: Likewise. * NEWS (Bug fixes): Mention this.
2011-02-10tests: avoid gross inefficiency in "make test"Jim Meyering
Do not run a sub-make to set up the environment for each and every test script. Instead, run it just once and store the result in a file. * tests/check.mk (built_programs): Remove definition. (.built-programs): New rule to create the temporary file. (CLEANFILES): Arrange to remove it. (TESTS_ENVIRONMENT): Simply cat .built-programs, rather than running the sub-make. * .gitignore: Ignore it.
2011-01-01maint: generate much of the THANKS fileJim Meyering
Before this change, we had a tendency to manually list each contributor's name in THANKS. Now, each commit "Author" is included in the generated THANKS file automatically, and most of the old THANKS file is now a template, THANKS.in. We'll still have to manually list the names of people who report problems without a usable patch. * THANKS.in: New file, derived from THANKS, but removing names of those who are listed as git log 'Author:'s. * THANKS: Remove file. * thanks-gen: New file. * Makefile.am (THANKS): New rule. (EXTRA_DIST): Add .mailmap, THANKS.in and thanks-gen. * .gitignore: Add THANKS and THANKS-to-translators. * .mailmap: Unify on single address and name-spelling per contributor.
2010-11-04cp, mv, touch: fix file time manipulation on Solaris 10Eric Blake
* gnulib: Update to latest, for futimens fix. * .gitignore: Ignore another recent gnulib-generated file.
2010-10-17.gitignore: anchor patternsJim Meyering
* .gitignore: Anchor most patterns. Remove .tarball-version. * doc/.gitignore: Anchor all patterns. Remove getdate.texi and get_date.texi.
2010-06-14maint: ignore another gnulib generated fileEric Blake
* .gnulib: Exclude lib/c++defs.h.
2010-03-11maint: drop *.lzma suportEric Blake
* .gitignore: Remove *.lzma lines.
2010-03-10maint: ignore *.xz filesEric Blake
* .gitignore: Ignore *.xz created by 'make dist', now that we no longer produce *.lzma.
2010-02-15build: ignore another gnulib artifactEric Blake
* .gitignore: Add lib/warn-on-use.h.
2010-01-06maint: apply correct license to auxiliary filesEric Blake
* gnulib: Update, for maint.mk improvements. * HACKING: Use GFDL 1.3, not 1.2. * NEWS: Likewise. * README: Likewise. * cfg.mk (old_NEWS_hash): Update accordingly. * .gitignore: Ignore file created by 'make update-NEWS-hash'.
2009-12-26maint: ignore more built filesEric Blake
Recent gnulib changes added new built files. * .gitignore: Add arg-nonnull.h, link-warning.h, unused-parameter.h.
2009-11-02build: avoid some warningsEric Blake
* gl/lib/mbsalign.c (mbsalign): Mark unused parameter. * bootstrap.conf (gnulib_modules): Remove obsolete rename-dest-slash. * gnulib-tests/Makefile.am (AM_CFLAGS): Reduce set of warnings for gnulib tests. * gl/modules/rename-tests.diff (Makefile.am): New file, to add LIBINTL to LDADD, since we avoid canonicalize-lgpl module. * gl/lib/regcomp.c.diff (regerror, calc_next) (build_collating_symbol, parse_bracket_element, build_equiv_class) (free_tree): Mark unused parameters. * gl/lib/regex_internal.h.diff (re_string_elem_size_at): New file, to mark unused parameters. * gl/lib/printf-args.c.diff (PRINTF_FETCHARGS): New file, to avoid type mismatch. * gl/lib/vasnprintf.c (VASNPRINTF): New file, to avoid shadowing local variable name. * .gitignore: Ignore temporary build artifacts.
2009-10-27tests: add printenv coverageEric Blake
* tests/misc/printenv: New test. * tests/Makefile.am (TESTS): Run it. * .gitignore: Ignore more cruft.
2009-10-22maint: turn on compiler warnings for gnulib testsEric Blake
* gnulib-tests/Makefile.am (AM_CFLAGS): Add WARN_CFLAGS. * configure.ac (enable-gcc-warnings): Also use -funit-at-a-time, to silence gcc 4.3.4 -Wdisabled-optimization. * .gitignore: Ignore some more files.
2009-08-28maint: ignore only man/*.1, not all *.1 filesJim Meyering
* .gitignore: Ignore *.1 only in man/
2009-04-24build: use maint.mk from gnulibSimon Josefsson
* maint.mk: Remove file. Now it's generated. * .gitignore: Ignore it. * bootstrap.conf (gnulib_modules): Add maintainer-makefile. * gnulib: Update submodule to latest.
2008-08-26generate version.c and version.hJim Meyering
* src/Makefile.am (version.c, version.h): New rules. Generate. (nodist_libver_a_SOURCES): Define * .gitignore: Add src/version.c and src/version.h. (DISTCLEANFILES): Add version.c and version.h.
2008-08-19.gitignore: ignore more filesEric Blake
* .gitignore: Ignore directories created by gnulib. Signed-off-by: Eric Blake <ebb9@byu.net>
2008-05-10tests: remove directory, tests/join/Jim Meyering
* configure.ac (AC_CONFIG_FILES): Remove tests/join/Makefile. * tests/misc/join: New file, with tests from... * tests/join/Test.pm: ...here. Remove file. * tests/Makefile.am (SUBDIRS): Remove definition.
2008-05-10tests: convert pr testsJim Meyering
* configure.ac (AC_CONFIG_FILES): Remove tests/pr/Makefile. * tests/Makefile.am (SUBDIRS): Remove pr. * tests/pr/pr-tests: New file, with tests from... * tests/pr/Test.pm: ...here. Remove file. * tests/Makefile.am (EXTRA_DIST): Add $(pr_data). (pr_data): List all of the pr's test-related data files.
2008-03-25Use new gnulib gnumakefile module.Eric Blake
* bootstrap.conf (gnulib_modules): Pull in new module. * GNUmakefile: Remove from version control. * .gitignore: Update. * configure.ac (AC_CONFIG_LINKS): Delete; rely on gnulib to do this now. * Makefile.am (EXTRA_DIST, distclean-local): Likewise. Signed-off-by: Eric Blake <ebb9@byu.net>
2008-02-17.gitignore, src/.gitignore: ignore moreJim Meyering
2008-02-07We *do* need two different version files.Jim Meyering
One for tarball-only, the other to be updated any time we get a new value of $(VERSION). * Makefile.am (dist-hook): Create .tarball-version in dist tarball. * GNUmakefile (_curr-ver): Make git-version-gen use it. * .gitignore: Ignore it.
2008-01-29Avoid "make distcheck" failure: newly-created man/*.1 files not removedJim Meyering
* Makefile.am (EXTRA_DIST): Add .version. (.version): New rule. (dist-hook): Don't create $(distdir)/.version here, now that it's being distributed. * man/Makefile.am (common_dep): Use ../.version, not ../VERSION. (../VERSION): Remove rule. * GNUmakefile (dummy): Create .version, not VERSION. Add an extra "...:= $(shell..." statement to ensure that .version exists even when the preceding code is not run. * .gitignore: Remove both .version and VERSION. Signed-off-by: Jim Meyering <meyering@redhat.com>
2008-01-26Ensure that each version string change propagates to man pages.Jim Meyering
* man/Makefile.am (common_dep): Don't depend on configure.ac for version changes. Instead, depend on ../VERSION. (../VERSION): New rule. * Makefile.am (DISTCLEANFILES): Define. * GNUmakefile: Update ./VERSION. * .gitignore: List VERSION. Reported by Sven Joachim.
2008-01-02* .gitignore: Ignore lzma-compressed files, too.Jim Meyering
Signed-off-by: Jim Meyering <meyering@redhat.com>
2007-10-04Remove test program: lib/t-fpending.c.Jim Meyering
* lib/t-fpending.c: Remove file. Now, this test is in gnulib. * lib/Makefile.am: Remove associated rules. * .gitignore: Remove lib/t-fpending.
2007-08-30Perform the s,rm,/bin/rm, fix-up properly. No more kludge.Jim Meyering
* Makefile.am (EXTRA_DIST): Remove .kludge-stamp. (.kludge-stamp): Remove rule. Instead, ... (dist-hook): Do the job here, operating on the file in $(distdir). (rm_subst): Adjust regexp to match "rm -f rm$(EXEEXT)", not "rm -f rm". (MAINTAINERCLEANFILES): s/+=/=/, now that this is the sole use. (dist-hook): Remove the legacy-from-cvs install-sh is-executable check. * .gitignore: Remove .kludge-stamp. Signed-off-by: Jim Meyering <jim@meyering.net>
2007-08-30Make inter-release --version output more useful.Jim Meyering
Now, each snapshot has a version "number" like 6.9-219-g58ddd, which indicates that it is built using the 219th change set (in _some_ repository) following the "v6.9" tag, and that 58ddd is a prefix of the commit SHA1. * build-aux/git-version-gen: New file. * configure.ac: Run it to set the version. * Makefile.am (dist-hook): Arrange so that .version appears only in distribution tarballs, never in a checked-out repository. * .gitignore: Add .version here, too. Just in case. Signed-off-by: Jim Meyering <jim@meyering.net>
2007-08-25bootstrap: Ignore more.Jim Meyering
* bootstrap (symlink_to_dir): Add a directory name like uniwidth to e.g., lib/.gitignore. (slurp): Handle the sys_stat_.h -> sys mapping, too. * .hgignore: Remove this file, too. * Makefile.am (EXTRA_DIST): Remove .gitignore and .hgignore.
2007-08-24No longer version-control .???ignore files in lib/, m4/, and po/.Jim Meyering
* .gitignore: Ignore a few files in lib/, m4/, and po/ that are not picked up automatically. * lib/.gitignore, lib/.cvsignore: Remove files. * m4/.gitignore, m4/.cvsignore: Remove files. * po/.gitignore, po/.cvsignore: Remove files.
2007-07-08Remove .gdb-history.Jim Meyering
2007-05-13Remove the generated tests/*/Makefile.am files from version control.Jim Meyering
* tests/cut/Makefile.am: git-remove this generated file. * tests/head/Makefile.am: Likewise. * tests/join/Makefile.am: Likewise. * tests/pr/Makefile.am: Likewise. * tests/sort/Makefile.am: Likewise. * tests/tac/Makefile.am: Likewise. * tests/tail/Makefile.am: Likewise. * tests/test/Makefile.am: Likewise. * tests/tr/Makefile.am: Likewise. * tests/uniq/Makefile.am: Likewise. * tests/wc/Makefile.am: Likewise. * .cvsignore, .gitignore: Ignore these generated files. * src/.cvsignore, src/.gitignore: Add chcon here, ... * .cvsignore, .gitignore: ... not here.
2007-03-29add chconJim Meyering
2007-03-29.cvsignore, .gitignore: updateJim Meyering