Ubuntu

Sync mksh 37.3-2 (universe) from Debian unstable (main).

Reported by Michael Terry on 2009-05-12
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
mksh (Ubuntu)
Undecided
Unassigned

Bug Description

Please sync mksh 37.3-2 (universe) from Debian unstable (main).

Explanation of the Ubuntu delta and why it can be dropped:
Only Ubuntu change was fixing the Build-Depends from locales-all to locales. That same fix is now in Debian (in fact, they changed it to "locales | belocs-locales-bin".

Changelog since current karmic version 36.2-1ubuntu1:

mksh (37.3-2) unstable; urgency=low

  * Provide a way to not use dietlibc for /bin/mksh-static
    on certain architectures; use it for s390 (Closes: #523088)
  * debian/control: run ispell over it

 -- Thorsten Glaser <email address hidden> Wed, 08 Apr 2009 18:07:55 +0000

mksh (37.3-1) unstable; urgency=low

  * New upstream version R37c; complete ChangeLog:
    - [tg] Improve præprocessor detection/work in Build.sh
    - [tg] Decouple MKSH_CONSERVATIVE_FDS from MKSH_SMALL
    - [tg] Enable MKSH_CONSERVATIVE_FDS by default on Minix 3
    - [tg] Work around the (in-)famous ACK "const" bug
    - [tg] Optimise structure alignment and padding; Closes: #522778
    - [tg] Retain LOCPATH (for glibc locale) in check.pl
    - [tg] Document, simplify and clean up the code better
    - [tg] Use mirbsd.org eMail addresses consistently
  * debian/rules: try to at least execute the built binaries in !nocheck
    cases, to prevent totally unusable packages from being published;
    Closes: #522779
  * Use LOCPATH and a temporarily generated UTF-8 locale for the regres-
    sion test suite (from Steve “vorlon” Langasek); depend on localedef
    Closes: #522777
  * debian/control: add comment where the dietlibc list comes from
  * Sync package description, etc. with R37c release and upstream
  * debian/control: mention VCS-CVS syntax and place of upstream source

 -- Thorsten Glaser <email address hidden> Tue, 07 Apr 2009 23:24:48 +0200

mksh (37.2-1) unstable; urgency=low

  * New upstream version R37b; complete ChangeLog:
    - [tg] Clean up build system and dot.mkshrc some more
    - [tg] Add getrusage(2) implementation using times(3) if none found
    - [tg] Add jobless mode (for Minix 3, Plan 9, …)
    - [tg] Detect the Amsterdam Compiler Kit in the build system
    - [tg] If no RLIM_INFINITY don’t try to do ulimit
    - [tg] Work around gcc4 strict warnings vs. broken system headers
    - [tg] Work around systems with mmap(2) but no munmap(2)
    - [tg] Fix (disallow) bind key macro recursion (instead of beeping
      and going into an endless loop), allow multi-line bind key macros
      (mostly from Alexander Hall), remove dead code (the beeping) and
      optimise
    - [tg] Add (commented out, undesired, standards compliance breaking)
      compatibility code to MidnightBSD 0.1 /bin/sh for ctriv
    - [tg] Clarify the mksh(1) manual page even more
    - [tg] Port to Minix 3 + GCC
  * New upstream version R37; complete ChangeLog:
    - [tg] Rename -o utf8-hack to -o utf8-mode
    - [tg] Fix spacing mode error (pasto) in the mdoc(7) format manpage
    - [tg] Implement $((#…)) unsigned arithmetic calculation, needed for
      arc4random_uniform(3)-in-korn-shell implementation
    - [tg] Really preserve LD_LIBRARY_PATH in check.pl
    - [tg] New Build.sh option ‘-combine’ for building mksh(1) at once
      with “-fwhole-program --combine” (gcc4, llvm-gcc4) if available
    - [tg] Always set COLUMNS and LINES trying as hard as we can, using
      TIOCGWINSZ even if used without FTALKING, and with the sane 80x24
      default if the ioctl(2) fails
    - [tg] Handle _POSIX_VDISABLE being undefined (e.g. Linux/klibc)
    - [tg] <sys/file.h> is only required for flock(2)
    - [tg] Fix multi-column output routine for the corner case if the
      screen is less wide than one output column; 10x Gábor Gergely
    - [tg] Fix ${foo/@(%)/\\x} in UTF-8 mode (utf_widthadj for control
      characters U+0080‥U+009F is slightly broken; this fix shifts the
      brokenness into the command line editing mode only)
    - [tg] Introduce mksh_ari_t and mksh_uari_t internal types to limit
      arithmetics to 32 bit on all systems; currently depending on the
      already-used standard int32_t and uint32_t types. Future expansion
      to 64 bit possible. Document that shell integer variables use this
      type.
    - [tg] The variables PGRP, PPID, RANDOM and USER_ID are now unsigned
    - [tg] Fix two off-by-ones breaking PS1 ending with a newline; bug
      reported by Matthias Diener
    - [tg] Just pass through C1 control characters for now
    - [tg] Code and internal interfaces cleanup
    - [tg] Regression test fixes for Cygwin env(1) being unsorted
    - [tg] Replace the memory allocator by something equally simple and
      homegrown but optimised for use with mksh and free checking
    - [tg] Import a couple of minor fixes (e.g. spelling) from oksh
    - [tg] Fix problems with "set -e" for real; from oksh,
      Closes: #518359
    - [tg] In "set -o posix" mode, have limited echo(1) to improve
      standards compliance; the exact feature set is open for discussion,
      e.g. with pkgsrc® people; for now, only -n as first arg
    - [tg] Make test builtin operator precedence consistent; from oksh
    - [tg] Revamp and fold and enhance the regression tests
    - [tg] Document somewhat surprising behaviour in mksh(1) better;
      here: [ x -eq y ]; for gps23 from #ksh
    - [tg] Reduce memory consumption by allocator simplification
    - [tg] Fix bugs spotted by DEC ucode cc (ULTRIX) and gcc 1.42 (BSD/OS)
    - [laffer1] Make mksh the default /bin/sh in MidnightBSD
  * debian/rules: add support for applying patches to the source code
  * debian/rules: build with new ‘-combine’ option for better optimisation
  * Fix debconf checks if dash is uninstalled; Closes: #518355
  * Use 「--package mksh」 consistently with dpkg-divert
  * debian/control: update package description
  * Upgrade Standards-Version to 3.8.1
    - debian/rules: support nocheck in DEB_BUILD_OPTIONS
    - debian/control: add RCS Id as comment field
  * debian/source.lintian-overrides: add (things not deemed fixable)
    - package-uses-deprecated-debhelper-compat-version (who cares)
    - vcs-field-uses-not-recommended-uri-format (source is available
      via AnonCVS, but pserver must die!)
  * debian/control: prepend :ext: anoncvs protocol to VCS-CVS field

 -- Thorsten Glaser <email address hidden> Sun, 05 Apr 2009 15:48:16 +0000

Michael Bienia (geser) wrote :

It failed to build in my karmic pbuilder:

cc -Wall -g -O2 -fno-strict-aliasing -fstack-protector-all -fwrapv -std=gnu99 -Wall -I. -I'../../mksh' -DMKSH_BINSHREDUCED -include /usr/include/bsd/bsd.h -D_GNU_SOURCE -DHAVE_ATTRIBUTE=1 -DHAVE_ATTRIBUTE_BOUNDED=0 -DHAVE_ATTRIBUTE_USED=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_MKDEV_H=0 -DHAVE_SYS_MMAN_H=1 -DHAVE_SYS_SYSMACROS_H=1 -DHAVE_LIBGEN_H=1 -DHAVE_LIBUTIL_H=1 -DHAVE_PATHS_H=1 -DHAVE_STDBOOL_H=1 -DHAVE_STRINGS_H=1 -DHAVE_GRP_H=1 -DHAVE_ULIMIT_H=1 -DHAVE_VALUES_H=1 -DHAVE_STDINT_H=1 -DHAVE_RLIM_T=1 -DHAVE_SIG_T=1 -DHAVE_SYS_SIGNAME=0 -DHAVE_SYS_SIGLIST=1 -DHAVE_STRSIGNAL=0 -DHAVE_ARC4RANDOM=1 -DHAVE_ARC4RANDOM_PUSHB=0 -DHAVE_GETRUSAGE=1 -DHAVE_MKNOD=1 -DHAVE_MKSTEMP=1 -DHAVE_NICE=1 -DHAVE_REALPATH=1 -DHAVE_REVOKE=0 -DHAVE_SETLOCALE_CTYPE=1 -DHAVE_LANGINFO_CODESET=1 -DHAVE_SETMODE=1 -DHAVE_SETRESUGID=1 -DHAVE_SETGROUPS=1 -DHAVE_STRCASESTR=1 -DHAVE_STRLCPY=1 -DHAVE_ARC4RANDOM_DECL=1 -DHAVE_ARC4RANDOM_PUSHB_DECL=1 -DHAVE_FLOCK_DECL=0 -DHAVE_REVOKE_DECL=1 -DHAVE_SYS_SIGLIST_DECL=1 -DHAVE_PERSISTENT_HISTORY=1 -Wl,-Bsymbolic-functions -fwhole-program --combine -o mksh ../../mksh/lalloc.c ../../mksh/edit.c ../../mksh/eval.c ../../mksh/exec.c ../../mksh/expr.c ../../mksh/funcs.c ../../mksh/histrap.c ../../mksh/jobs.c ../../mksh/lex.c ../../mksh/main.c ../../mksh/misc.c ../../mksh/shf.c ../../mksh/syn.c ../../mksh/tree.c ../../mksh/var.c -lbsd || rm -f ${tcfn}*
../../mksh/jobs.c: In function 'exchild':
../../mksh/jobs.c:438: warning: ignoring return value of 'nice', declared with attribute warn_unused_result
../../mksh/edit.c: In function 'vi_cmd':
/usr/include/bits/string3.h:56: sorry, unimplemented: inlining failed in call to 'memmove': function body not available
../../mksh/edit.c:4062: sorry, unimplemented: called from here
/usr/include/bits/string3.h:56: sorry, unimplemented: inlining failed in call to 'memmove': function body not available
../../mksh/edit.c:4066: sorry, unimplemented: called from here
/usr/include/bits/string3.h:49: sorry, unimplemented: inlining failed in call to 'memcpy': redefined extern inline functions are not considered for inlining
../../mksh/edit.c:4097: sorry, unimplemented: called from here
/usr/include/bits/string3.h:49: sorry, unimplemented: inlining failed in call to 'memcpy': redefined extern inline functions are not considered for inlining
../../mksh/edit.c:4100: sorry, unimplemented: called from here
/usr/include/bits/string3.h:56: sorry, unimplemented: inlining failed in call to 'memmove': function body not available
../../mksh/edit.c:5022: sorry, unimplemented: called from here
make[1]: *** [do-build] Error 1
make[1]: Leaving directory `/tmp/buildd/mksh-37.3/build/full'
make: *** [debian/.build_stamp] Error 2
dpkg-buildpackage: failure: debian/rules build gave error exit status 2
pbuilder: Failed autobuilding of package

Changed in mksh (Ubuntu):
status: New → Incomplete
Thorsten Glaser (mirabilos) wrote :

This is actually a compiler bug fixed in gcc-snapshot:

https://bugs.launchpad.net/ubuntu/+source/gcc-defaults/+bug/352475

I suppose with this and https://bugs.launchpad.net/dash/+bug/348872
it doesn’t make sense to drop the -ubuntu1 delta altogether.

The debconf stuff should be removed unless karmic fixes the issues
when running with mksh as /bin/sh I had on my hardy PC at work,
and the 「-combine」 option to mksh/Build.sh uses the gcc options
「-fwhole-program --combine」 which trigger the aforementioned
bug in certain versions of gcc.

Is it desirable if I make a package for karmic based on the Debian
sid one, test it in a chroot, and submit it (where/how)?

Michael Bienia (geser) wrote :

Simply create a debdiff against the deb package in sid with the needed changes for karmic and attach it here to this bug.

Thorsten Glaser (mirabilos) wrote :

Hi,

thanks for the response. There it is, both issues addressed in the least
intrusive way; I admit I haven’t tested this on an actual chroot because
of the faster response time of mine, but this should almost certainly
work (the debconf patch I have been using with personal hardy packages
for a while already).

Michael Bienia (geser) wrote :

The build proceeds now further, but fails at a different point now:

lex.o: In function `yyerror':
/tmp/buildd/mksh-38.1/build/small/../../mksh/lex.c:1045: undefined reference to `__builtin_stdarg_start'
main.o: In function `shellf':
/tmp/buildd/mksh-38.1/build/small/../../mksh/main.c:958: undefined reference to `__builtin_stdarg_start'
main.o: In function `internal_warningf':
/tmp/buildd/mksh-38.1/build/small/../../mksh/main.c:930: undefined reference to `__builtin_stdarg_start'
main.o: In function `warningf':
/tmp/buildd/mksh-38.1/build/small/../../mksh/main.c:866: undefined reference to `__builtin_stdarg_start'
main.o: In function `internal_errorf':
/tmp/buildd/mksh-38.1/build/small/../../mksh/main.c:919: undefined reference to `__builtin_stdarg_start'
main.o:/tmp/buildd/mksh-38.1/build/small/../../mksh/main.c:972: more undefined references to `__builtin_stdarg_start' follow
collect2: ld returned 1 exit status
make[1]: *** [do-build] Error 1
make[1]: Leaving directory `/tmp/buildd/mksh-38.1/build/small'
make: *** [debian/.build_stamp] Error 2

The build log also contains:
../../mksh/tree.c: In function 'fptreef':
../../mksh/tree.c:355: warning: implicit declaration of function '__builtin_stdarg_start'
(that's not the only one appearance of it)

Thorsten Glaser (mirabilos) wrote :

Yep, I already discovered and fixed it, this is a bug in dietlibc, filed as
https://bugs.launchpad.net/ubuntu/+source/dietlibc/+bug/381215
but I haven’t yet gotten around to replying again to this bug report
because, although I could take the time (I’m at work right now) to
make me a karmic chroot and test it, out of a sudden I had several
requests to work on.

If you take the patch from LP: #381215 and install the fixed dietlibc
.deb files, mksh with the debdiff already applied here will build fine.

I’d add a “blocked by #381215” to this bugreport, but haven’t found
out how to do so in Launchpad yet ☺

Michael Bienia (geser) wrote :

With a fixed dietlibc, mksh builds fine now. I'll sponsor dietlibc and mksh soon.
Thanks for the patches.

Thorsten Glaser (mirabilos) wrote :

Thanks for the help in getting these fixed and the quick responses.

Changed in mksh (Ubuntu):
status: Incomplete → Confirmed
Launchpad Janitor (janitor) wrote :
Download full text (8.4 KiB)

This bug was fixed in the package mksh - 38.1-1ubuntu1

---------------
mksh (38.1-1ubuntu1) karmic; urgency=low

  * debian/mksh.postinst: hardcode debconf question if mksh should
    be installed as /bin/sh to false (LP: #348872) but retain debconf
    stuff so that if this was set to true in previous packages, it
    will correctly be removed on upgrade
  * debian/rules: remove “-combine” option from Build.sh invocation
    (LP: #375604)

mksh (38.1-1) unstable; urgency=low

  * debian/control: depend on locales-all on m68k because its
    locales and glibc packages are not up to date / installable
  * debian/rules: ignore localedef failure (uncritical to build)
  * New upstream version R38; complete ChangeLog:
    - [tg] Improve regression test output debugging
    - [tg] Fix <libutil.h> prerequisites on MidnightBSD in mirtoconf
    - [tg] Mention that RedHat BZ#496791 cannot currently be fixed in
      the manpage by discouraging use of apostrophes in comments in
      comsubs; add appropriate (expected-fail) regression tests
    - [tg] Sync with OpenBSD ksh (mostly a no-op)
    - [James Butler] Add search-history-up and search-history-down
      keybindings (tcsh-like) to the Emacs command line editing mode
    - [tg] Bind new search-history-{up,down} to ANSI PgUp and PgDn keys
    - [tg] Document ANSI default keybindings (↑↓←→ Home End Del
      PgUp PgDn) in the mksh(1) manual page as well
    - [tg] Optimise internal UTF-8 handling code for size and reusability
    - [tg] Incompatible change: ${foo:1:2} and ${#foo} now operate on
      characters, not on bytes. Characters are octets (set +U) or
      (utf8-mode) MirOS OPTU-8 multibyte characters (set -U)
    - [tg] Improve regression tests relating to ${foo:1:2} and ${#foo} and
      let wc=1#x and utf8-mode
    - [tg] Use per-file copyright notices, move global text to manpage
    - [tg] Expose new MKSH_MIDNIGHTBSD01ASH_COMPAT ifdef; change it to only
      trigger if FPOSIX (or MKSH_BINSHREDUCED and /bin/sh)
    - [tg] Remove already-dead “#if 0” style debugging code
    - [tg] Change some code into a more portable fashion, optimise
    - [tg] Allow [[ $foo ]] (ksh93 extension) mentioned by pgas
    - [tg] Clean up mksh and the contributed arc4random.c for some
      conversion, enum and other warnings for gcc-snapshot trunk r147610
    - [tg] Ensure no function uses more than 768 bytes of stack either
    - [tg, wbx] Add extension to make “!string” lines work like in GNU bash
  * debian/rules, debian/copyright: adjust to upstream changes,
    provide separate copyright file for Debian
  * Remove package-uses-deprecated-debhelper-compat-version
    lintian override to show up in statistics, we want to
    retain the old debhelper version to facilitate backports

mksh (37.3-2) unstable; urgency=low

  * Provide a way to not use dietlibc for /bin/mksh-static
    on certain architectures; use it for s390 (Closes: #523088)
  * debian/control: run ispell over it

mksh (37.3-1) unstable; urgency=low

  * New upstream version R37c; complete ChangeLog:
    - [tg] Improve præprocessor detection/work in Build.sh
    - [tg] Decouple MKSH_CONSERVATIVE_FDS from MKSH_SMALL
    - [tg] Enable MKSH...

Read more...

Changed in mksh (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers