<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coreutils/Makefile.am, branch v8.26</title>
<subtitle>Mirror of https://https.git.savannah.gnu.org/git/coreutils.git/
</subtitle>
<id>https://git.shady.money/coreutils/atom?h=v8.26</id>
<link rel='self' href='https://git.shady.money/coreutils/atom?h=v8.26'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/'/>
<updated>2016-01-01T14:10:41Z</updated>
<entry>
<title>maint: update all copyright year number ranges</title>
<updated>2016-01-01T14:10:41Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2016-01-01T14:10:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=b16e999f553b682e74e0a56750f649da05130c4f'/>
<id>urn:sha1:b16e999f553b682e74e0a56750f649da05130c4f</id>
<content type='text'>
Run "make update-copyright" and then...

* gnulib: Update to latest with copyright year adjusted.
* tests/init.sh: Sync with gnulib to pick up copyright year.
* bootstrap: Likewise.
* tests/sample-test: Adjust to use the single most recent year.
</content>
</entry>
<entry>
<title>build: rely on umask for setting permissions in tarball</title>
<updated>2015-12-17T11:46:59Z</updated>
<author>
<name>Bernhard Voelker</name>
<email>mail@bernhard-voelker.de</email>
</author>
<published>2015-12-17T11:46:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=5148302771f1e36f3ea3e7ed33e55bd7a7a1cc3b'/>
<id>urn:sha1:5148302771f1e36f3ea3e7ed33e55bd7a7a1cc3b</id>
<content type='text'>
Commit v8.24-116-g896006b changed the file permissions for the tarball
using ug+rw.  Better to let the umask decide whether the file should
be group-writeable or not.

* Makefile.am (dist-hook): Change chmod call from 'ug+rw' to '+rw'.
</content>
</entry>
<entry>
<title>build: ensure all files are writable in the tarball</title>
<updated>2015-12-17T00:25:25Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2015-12-16T00:28:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=896006bf7620c81435fd67cc3765e85a9f480fe7'/>
<id>urn:sha1:896006bf7620c81435fd67cc3765e85a9f480fe7</id>
<content type='text'>
* Makefile.am (dist-hook): Ensure all files are writable
so that extracted tarballs are easy to remove, without
getting prompts about removing read-only files.
Reported by Benno Schulenberg.
</content>
</entry>
<entry>
<title>build: support reproducible builds with consistent man pages</title>
<updated>2015-11-28T00:11:06Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2015-11-27T12:26:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=c1b3d65877913f139175920699ad2c5aed592ea8'/>
<id>urn:sha1:c1b3d65877913f139175920699ad2c5aed592ea8</id>
<content type='text'>
Use a consistent date in the generated man pages
even if SOURCE_DATE_EPOCH is not set.

* Makefile.am: Generate .timestamp in the tarball.
* man/local.mk: Pass .timestamp if available to help2man.
* man/dummy-man: Don't bother with the year in the stub.

Reported in http://bugs.debian.org/806321
</content>
</entry>
<entry>
<title>maint: fix distclean-check failure due to THANKS</title>
<updated>2015-07-03T20:08:26Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2015-07-03T18:32:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=9a81dd803c8f3c0d04a758a5ad9e16c9b3ba4c63'/>
<id>urn:sha1:9a81dd803c8f3c0d04a758a5ad9e16c9b3ba4c63</id>
<content type='text'>
* Makefile.am: Remove our dependence on src/sort which
induces awkward dependencies for `make dist` since
THANKS will be rebuilt once src/sort is newer.
Instead we remove the problematic -f option to sort
which actually doesn't change the order given
our current input.
</content>
</entry>
<entry>
<title>build: port single_binary_prog to POSIX shell</title>
<updated>2015-06-04T19:16:04Z</updated>
<author>
<name>Paul Eggert</name>
<email>eggert@cs.ucla.edu</email>
</author>
<published>2015-06-04T19:15:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=7eaf8c8eec7d4fe1bb89a61c08996a8f39950db6'/>
<id>urn:sha1:7eaf8c8eec7d4fe1bb89a61c08996a8f39950db6</id>
<content type='text'>
Problem reported privately by Michael Felt.
* Makefile.am (install-exec-hook):
* src/local.mk (src/coreutils_symlinks, src/coreutils_shebangs)
(clean-local):
Port to POSIX shell, which doesn't allow 'for i in ; do ...'.
</content>
</entry>
<entry>
<title>build: fix 'dist' and 'syntax-check' targets in VPATH build</title>
<updated>2015-05-17T15:00:48Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2015-05-17T14:52:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=719c15a6f2ae6bf5d17021c6f138d6378ed06c50'/>
<id>urn:sha1:719c15a6f2ae6bf5d17021c6f138d6378ed06c50</id>
<content type='text'>
* cfg.mk: Various syntax-check adjustments so that it's
not assumed the $builddir is the base distribution directory.
* Makefile.am: Likewise for the 'dist' target.
</content>
</entry>
<entry>
<title>maint: sort THANKS using our own gear</title>
<updated>2015-02-12T01:35:07Z</updated>
<author>
<name>Bernhard Voelker</name>
<email>mail@bernhard-voelker.de</email>
</author>
<published>2015-02-12T01:35:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=a07026f62bdf0ef96ee9d2078c50d6baae7d4f6e'/>
<id>urn:sha1:a07026f62bdf0ef96ee9d2078c50d6baae7d4f6e</id>
<content type='text'>
At least 'sort' on openSUSE/Fedora have a bug in the case-folding code
of their I18N downstream patch which leads to wrong sort results,
e.g. "Dániel" coming after "Dylan".

* Makefile.am (THANKS): Sort the final contributor list using our
own sort implementation - as others may result in a different order;
add a FIXME comment to remove this again once common platforms have
a functional 'sort -f'.  Add '-k1,1' for a better sort order.
While at it, save a grep and perl call to prepare the list from
'THANKS.in' by doing all in the first perl call.
</content>
</entry>
<entry>
<title>maint: update all copyright year number ranges</title>
<updated>2015-01-01T04:52:17Z</updated>
<author>
<name>Pádraig Brady</name>
<email>P@draigBrady.com</email>
</author>
<published>2015-01-01T04:49:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=e0afeb0099c899c2caa7453072e2d223d8f0ceb9'/>
<id>urn:sha1:e0afeb0099c899c2caa7453072e2d223d8f0ceb9</id>
<content type='text'>
Run "make update-copyright" and then...

* tests/sample-test: Adjust to use the single most recent year.
* tests/du/bind-mount-dir-cycle-v2.sh: Fix case in copyright message,
so that year is updated automatically in future.
</content>
</entry>
<entry>
<title>build: support building all tools in a single binary</title>
<updated>2014-07-13T13:23:09Z</updated>
<author>
<name>Alex Deymo</name>
<email>deymo@chromium.org</email>
</author>
<published>2014-06-06T02:50:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=71e2ea773414b2316bbe6b803b9a52c38d3752e8'/>
<id>urn:sha1:71e2ea773414b2316bbe6b803b9a52c38d3752e8</id>
<content type='text'>
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.
</content>
</entry>
</feed>
