Don't depend on libcrypto from the multicall binary in
the coreutils-single package, because that trades space for speed.
Don't depend on libgmp from the multicall binary in
the coreutils-single package, because that only benefits
factor and expr. The large size of gmp is not seen as
an appropriate tradeoff for this functionality.
Note also there is reduced startup overhead for all tools
with these removed due to not linking with the shared libs.
The comments re %post processing were for a non commited change
that created symlinks during %post that clobbered any existing binaries.
Now all files are directly managed by rpm.
Notes about coreutils:
- Drops from 14.2MB to 5.5MB.
- Still requires coreutils-common, though being separated
allows for easier removal if required.
- Explicitly conflicts with coreutils-single to avoid errant installs
Notes about coreutils-single:
- Contains a single multicall binary which is 1.2MB
- Have to force install over any existing coreutils package
so best used for initial install without existing coreutils package
- Doesn't require (but suggests) coreutils-common
so install that manually for docs, translations, and colors etc.
Notes about coreutils-common:
- 8.7MB
- Having this split out gives an easy way to remove all
docs and translations.
Note RemovePathPostfixes: introduced with rpm 4.13
is used to facilitate producing the two sets of conflicting binaries
from the same build, while maintaining appropriate --fileprovide
in each generated rpm.
Patches written by Pádraig.
Note that the corresponding i18n/sort-month test was not included
because it breaks unless sort is compiled -Dlint and we do not want
to decrease performance of the resulting RPMs (and valgrind is not
installed in production buildroots anyway).
* coreutils-DIR_COLORS: sync with upstream
(remove old Xiph formats, add m4a audio format).
* coreutils-DIR_COLORS.256color: Likewise.
Also sync with 8 color mode above, by removing
the specific MULTIHARDLINK coloring, and
giving MISSING symlink targets a red background.
Also lighten the DIR and EXEC color a little
(as discussed in bug 1196642)
* coreutils-DIR_COLORS.lightbgcolor: Sync terminal
types with other 2 databases above.
* src/uniq.c (check_file): Instead of copying the whole code, simply
determine the value of 'new_group' by invoking different_multi in
the multi-byte case.
* tests.misc/uniq.pl: For comparing the stderr message with the
expected result, all multibyte-typical ‘...’ must be replaced
by '...'. Add a ERR_SUBST expression to do that.
* src/cut.c (convfail,CONVFAIL): Change to bool to avoid a GCC
warning about signed vs. unsigned. Also avoid "set but not used"
of convfail in cut_characters_or_cut_bytes_no_split.
(cut_fields_mb): Fix indentation.
* src/expand.c: Add include for wctype.h to declare isblank().
* src/fold.c (fold_file): Add "const" attribute to 'filename' parameter
to avoid "const cast away" in call in main().
* src/join.c (xfields_multibyte): Remove unused variable 't'.
(keycmp): Evaluate the return value of wcrtomb(). Furthermore,
when copying 'beg' to 'copy' array elements, remove the unnecessary
cast to unsigned.
(main): When assigning the newline string to 'newtab', cast away the
implicit const.
* src/pr.c: Remove the unneeded include of wctype.h and the define
of iswprint().
(print_stored): Add the unsigned qualifier to 'first' and 'last' to
avoid a signedness warning.
* src/sort.c (getmonth_mb): Cast away the 'const' qualifier of 's'
when assigning to *ea.
* src/uniq.c (different_multi): Evaluate the return result of wcrtomb();
Add the include of assert.h for that.