Invoking xzless throws the following warning: /usr/bin/xzless: line 49: test: 457 (PCRE regular expressions): integer expression expected =app-arch/xz-utils-5.0.4-r1 and =sys-apps/less is installed at the same time. xzless itself is a bash script on the line 49 the following expression can be found: if test "$(less -V | { read ver && echo ${ver#less }; })" -ge 429; then here, less -V | { read ver && echo ${ver#less }; } should give back the version number of less only, but it also gives back extra information: 457 (PCRE regular expressions) checking the installable sys-apps/less versions, the smallest is 436. My proposal would be to make xz-utils depend on >=less-429 and remove the condition and the else branch alltogether with a patch. The other would be to tell upstream about it and fix the test above. A working soultion would be less -V | { read less ver extra && echo $ver; }
This was already fixed upstream and is available in xz-utils-5.0.5 (which is not marked stable yet). http://git.tukaani.org/?p=xz.git;a=blobdiff;f=src/scripts/xzless.in;h=288dd871e4c48b3f098d9ba066af767c5e697c84;hp=9bc9706b511f3c9dd159d16400dbb26679bb5829;hb=HEAD;hpb=db5c1817fabf7cbb9e4087b1576eb26f0747338e
Arches please test and mark stable =app-arch/xz-utils-5.0.5-r1 Target keywords are: alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~arm-linux ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
amd64: pass Note: repoman complains. ebuild.minorsyn app-arch/xz-utils/xz-utils-5.0.5-r1.ebuild: Ebuild calls deprecated preserve_old_lib on line: 68 app-arch/xz-utils/xz-utils-5.0.5-r1.ebuild: Ebuild calls deprecated preserve_old_lib on line: 72
Stable for HPPA.
amd64 stable
x86 stable
alpha stable.
arm stable
ppc stable
ppc64 stable
sparc stable
ia64 stable, closing
Problem is still here, with xz-utils-5.2.5. Problem is that bash takes only integers, but current less returns two-field version, separated by point. This may be fixed in xzless.in: - if test "$(less -V | { read _ ver _ && echo ${ver}; })" -ge 429; then + if test "$(less -V | { IFS=' .' && read _ ver _ && echo ${ver}; })" -ge 429; then (interpreting version field separator as separator too)