Summary: | Syntax incompatible with new coreutils/sort causes graphviz 1.10 build to fail | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Arve Knudsen <aknuds-1> |
Component: | Current packages | Assignee: | Todd Berman (RETIRED) <tberman> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | brandy, mholzer, seemant |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 28414 | ||
Bug Blocks: | |||
Attachments: | Patch to replace antiquated sort syntax |
Description
Arve Knudsen
2003-09-28 13:24:30 UTC
Created attachment 18434 [details, diff]
Patch to replace antiquated sort syntax
A simple sed statement replaces unsupported syntax for specifying sort fields
in dotneato/common/Makefile. I'm no bash/sed expert, but it looks like it
works
(builds).
brandy, can you confirm the fix please? The patch worked here. Thanks. Both coreutils-5.0 and coreutils-5.0.91 still support the deprecated field-key syntax if we are using glibc-2.3.2 From sort.c in coreutils-5.0.91: if (obsolete_usage && optarg[0] == '+') { /* Treat +POS1 [-POS2] as a key if possible; but silently treat an operand as a file if it is not a valid +POS1. */ ..... if (optind != argc && argv[optind][0] == '-' && ISDIGIT (argv[optind][1])) ..... So the deprecated syntax is supported if obsolete_usage is true. This variable is set in sort.c: bool obsolete_usage = (posix2_version () < 200112); and the posix2_version function reads the _POSIX2_VERSION macro from /usr/include/unistd.h which is: #define _POSIX2_VERSION 199209L The only way I can reproduce this error is by setting the _POSIX2_VERSION macro to something greater than 200112 when installing coreutils. Since glibc-cvs isn't currently supported, closing... although it isnt supported, whats in glibc-cvs will soon be in glibc. Will this patch break existing glibc installs? if not, we might as well apply it now so to be proactive and prevent future bugs :) I'm using glibc-2.3.2-r4, which defines _POSIX2_VERSION as 200112L. We need to decide - either we fix this, or we 'fix' coreutils I guess. Johnm did a eclass to support this, althought its not sufficient in that it do not catch them all. I did though add it to the bug, but I see he have not updated it yet. This is a duplicate of bug 28414 (or vice-versa), which has a "better" patch - the patch here misses one of the deprecated sort calls. so which patch is better, here or in #28414 ? *** This bug has been marked as a duplicate of 28414 *** |