Your message dated Fri, 13 Jun 2008 08:47:08 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Bug#477169: fixed in common-lisp-controller 6.15
has caused the Debian Bug report #477169,
regarding post-sysdef-install.lisp: GET-UID broken on ECL and otherwise
inconsistent
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [EMAIL PROTECTED]
immediately.)
--
477169: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=477169
Debian Bug Tracking System
Contact [EMAIL PROTECTED] with problems
--- Begin Message ---
Package: common-lisp-controller
Version: 6.12
Severity: important
Tags: patch
I recently found that my ECL fails to ASDF-whatever systems. It fails
like this:
[metalzone ~]ecl
;;; Loading #P"/usr/lib/ecl/cmp.fas"
;;; Loading #P"/usr/lib/ecl/sysfun.lsp"
ECL (Embeddable Common-Lisp) 0.9i
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
Copyright (C) 1993 Giuseppe Attardi
Copyright (C) 2000 Juan J. Garcia-Ripoll
ECL is free software, and you are welcome to redistribute it
under certain conditions; see file 'Copyright' for details.
Type :h for Help. Top level.
> (asdf:oos 'asdf:load-op :cl-ppcre)
; loading system definition from
/usr/share/common-lisp/systems/cl-ppcre.asd
; into #<ASDF0 package>
; registering #<SYSTEM :CL-PPCRE 135932064> as CL-PPCRE
1000
Unable to find out user ID
Broken at EVAL.No restarts available.
Broken at ASDF:OPERATE.
>>
Tracking down the problem shows that CLC's fallback implementation of
GET-UID, in terms of `id', isn't working for whatever reason (presumably
ECL doesn't do the right output-redirection stuff).
Since ECL has a convenient FFI, it's trivial to implement a working
GET-UID which doesn't need to mess with running shell commands and doing
redirection.
While staring at this code, I've noticed inconsistencies in the
behaviour of GET-UID:
* SBCL, CMU and Allegro (and now ECL) use the real uid of the process.
* CLisp uses the uid of the user named by the USER environment
variable.
* Other Lisps call `id -u', which returns the effective uid.
This is clearly an undesirable state of affairs, so the patch below
makes everyone use the ruid. (Using the euid would be better, but I'm
not sure that running Lisp systems in a setuid state is clever in the
first place; besides, SBCL and CMU don't provide convenient ways of
getting hold of the effective uid.)
---
/usr/share/common-lisp/source/common-lisp-controller/post-sysdef-install.lisp.aside
2008-04-21 14:53:46.000000000 +0100
+++
/usr/share/common-lisp/source/common-lisp-controller/post-sysdef-install.lisp
2008-04-21 15:28:39.000000000 +0100
@@ -30,20 +30,21 @@
(eval-when (:compile-toplevel :load-toplevel :execute)
(require :osi))
-#+clisp (defun get-uid () (posix:user-info-uid (posix:user-info (ext:getenv
"USER"))))
+#+clisp (defun get-uid () (posix:getuid))
#+sbcl (defun get-uid () (sb-unix:unix-getuid))
#+cmu (defun get-uid () (unix:unix-getuid))
#+allegro (defun get-uid () (excl.osi:getuid))
+#+ecl (defun get-uid () (ffi:c-inline () () :int "getuid()" :one-liner t))
#+clisp (defun world-writable? (mode) (or (member :RWXO mode) (member :WOTH
mode)))
#+clisp (defun group-writable? (mode) (or (member :RWXG mode) (member :WGRP
mode)))
#-clisp (defun world-writable? (mode) (/= 0 (logand mode #o002)))
#-clisp (defun group-writable? (mode) (/= 0 (logand mode #o020)))
-#-(or cmu sbcl clisp allegro)
+#-(or cmu sbcl clisp allegro ecl)
(defun get-uid ()
(let ((uid-string
(with-output-to-string (asdf::*VERBOSE-OUT*)
- (asdf:run-shell-command "id -u"))))
+ (asdf:run-shell-command "id -ur"))))
(with-input-from-string (stream uid-string)
(read-line stream)
(handler-case (parse-integer (read-line stream))
(I've set the severity to important, not because it breaks CLC, but
because it has a major adverse effect on ECL.)
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.24.4 (PREEMPT)
Locale: LANG=C, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages common-lisp-controller depends on:
ii bash 3.1dfsg-9 The GNU Bourne Again SHell
ii cl-asdf 1.109-2 Another System Definition Facility
ii debconf [debconf-2.0] 1.5.20 Debian configuration management sy
ii debianutils 2.28.4 Miscellaneous utilities specific t
ii perl 5.8.8-12 Larry Wall's Practical Extraction
ii realpath 1.11 Return the canonicalized absolute
common-lisp-controller recommends no packages.
-- debconf information excluded
--- End Message ---
--- Begin Message ---
Source: common-lisp-controller
Source-Version: 6.15
We believe that the bug you reported is fixed in the latest version of
common-lisp-controller, which is due to be installed in the Debian FTP archive:
common-lisp-controller_6.15.dsc
to pool/main/c/common-lisp-controller/common-lisp-controller_6.15.dsc
common-lisp-controller_6.15.tar.gz
to pool/main/c/common-lisp-controller/common-lisp-controller_6.15.tar.gz
common-lisp-controller_6.15_all.deb
to pool/main/c/common-lisp-controller/common-lisp-controller_6.15_all.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Luca Capello <[EMAIL PROTECTED]> (supplier of updated common-lisp-controller
package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Fri, 13 Jun 2008 10:02:24 +0200
Source: common-lisp-controller
Binary: common-lisp-controller
Architecture: source all
Version: 6.15
Distribution: unstable
Urgency: low
Maintainer: Debian Common Lisp Team
<pkg-common-lisp-devel@lists.alioth.debian.org>
Changed-By: Luca Capello <[EMAIL PROTECTED]>
Description:
common-lisp-controller - Common Lisp source and compiler manager
Closes: 457305 477169
Changes:
common-lisp-controller (6.15) unstable; urgency=low
.
* Debconf translations:
+ Finnish, thanks to Esko Arajärvi <[EMAIL PROTECTED]> (Closes: #457305).
.
* debian/binary.lintian-overrides:
+ package-contains-empty-directory for /usr/lib/common-lisp/bin/
and /usr/share/common-lisp/systems/.
+ non-standard-dir-perm for /var/cache/common-lisp-controller/.
.
* debian/control:
+ add myself to Uploaders:.
+ add Vcs-Browser field.
.
* debian/prerm:
- remove, nothing to be done at that point (thanks to lintian)
.
* debian/rules:
+ install binary.lintian-overrides file.
.
* debian/source.lintian-overrides:
+ translated-default-field for debian/templates.
.
* man/clc-register-user-package.1:
+ remove trailing spaces.
+ replace .Nm and .Nd commands since they generate man's warnings
(thanks to lintian).
+ update Copyright to 2008.
.
* post-sysdef-install.lisp:
+ use the built-in (posix:getuid) for CLISP instead of getting
the UID from the USER environment variable, patch from Mark
Wooding <[EMAIL PROTECTED]>.
+ implement a working GET-UID for ECL which doesn't need to mess
with running shell commands nor do redirection, patch from
Mark Wooding <[EMAIL PROTECTED]> (Closes: #477169).
+ use the real UID for Lisps that do not provide a built-in
GET-UID, patch from Mark Wooding <[EMAIL PROTECTED]>.
Checksums-Sha1:
10857ea46a9d3c8039c3a57d219b151b8370e637 1221 common-lisp-controller_6.15.dsc
99c48fc92bfffcdd67ff4b26b1fe01b466a4dc48 34300
common-lisp-controller_6.15.tar.gz
39abb9a00672d3c2e6f2f9336cb5660bf516e6a0 31730
common-lisp-controller_6.15_all.deb
Checksums-Sha256:
87e6a9298604d571a7738216972b69d5726dfbe9f274cafb87029433e0e4ea60 1221
common-lisp-controller_6.15.dsc
c8ea0b852861c0811e29f05a08f7609b9823771fa5f40a67803d3f78498d45ba 34300
common-lisp-controller_6.15.tar.gz
6a33120d959d4f46efbc67b30032d0552584f4416b034d1df9d4f42dbc8ace6d 31730
common-lisp-controller_6.15_all.deb
Files:
d5c93b25fdb1ca1ba6f89edec48c6265 1221 devel optional
common-lisp-controller_6.15.dsc
1bf40df058333e43021db47ad2f8a332 34300 devel optional
common-lisp-controller_6.15.tar.gz
db714efe9d327b76dc8ffdb27494c2fa 31730 devel optional
common-lisp-controller_6.15_all.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iJwEAQECAAYFAkhSKvEACgkQZwOMsWhEDTNJtQP/fvNVTh/syLlll5PFC8I+ue66
kL9xKPHMhPU8ilViwrg1Gm11O1Yf1fxPe7FExZT0GK9S4JIfVWWcrIff+GeZAkgq
O1a9j7100PgpwCB1vX0kCe6XgWmErmeBIYFvBZ9mjsp5pWiaT8hfwUY9Yqg60JS7
ryFJUzEBuBP9gCP+mPs=
=UvVN
-----END PGP SIGNATURE-----
--- End Message ---
_______________________________________________
pkg-common-lisp-devel mailing list
pkg-common-lisp-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/pkg-common-lisp-devel