Bug#515862: The German version of Lenny release notes contrasts to the English version regarding case sensitive filename handling for vfat when the utf8 option is used

2009-02-17 Thread Helmut Waitzmann
Package: release-notes

The german translation of the release-notes states, that the Linux kernel
does not support case-sensitive filename handling for vfat when the utf8
option is used (quoting
http://www.debian.org/releases/lenny/i386/release-notes/ch-information.de.html#partitionenc):

   Zu beachten ist, dass der Linux-Kernel es nicht unterstützt, zwischen
   Groß- und Kleinschreibung in Dateinamen zu unterscheiden, wenn bei vfat
   die utf8-Option genutzt wird.

In contrast to the german translation, according to the English Version,
the kernel does not support case-insensitive filename handling for vfat
when the utf8 option is used.

Which statement is the correct one?

If the English statement is the correct one, then one possible translation
to the German version could be:

   Zu beachten ist, dass der Linux-Kernel es nicht unterstützt,
   Unterschiede in der Groß- und Kleinschreibung in Dateinamen zu
   ignorieren, wenn bei vfat die utf8-Option genutzt wird.


Could someone correct this?

Thank you in advance.
-- 
Wenn Sie mir E-Mail schreiben, stellen  |   When writing me e-mail, please
Sie bitte vor meine E-Mail-Adresse  |   precede my e-mail address with
meinen Vor- und Nachnamen, etwa so: |   my full name, like
Helmut Waitzmann x...@example.net, (Helmut Waitzmann) x...@example.net



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#276419: [Pkg-shadow-devel] Bug#276419: su appends the positional args to the command line

2005-07-31 Thread Helmut Waitzmann
 invocation will remain the
   same with both old and new su.

%% Emacs Local Variables:
%% Emacs coding: iso-8859-1
%% Emacs fill-column: 75
%% Emacs End:
   
Sure. But not during August while many DD's are VAC (and not only
French ones). We should make the announcement ASAP. Idealistically
before I leave for holidays on Aug 1st for something like 3 weeks.

This announcement would mention September 15th as target release date
for the change, leaving people enough time to preventively adapt their
work.

The announcement must be as short as possible and be very clear bout
the consequence. 

Is the su adaption howto above too long?  Is it clear enough?

Deep technical details and rationale should be left to an appendix.

Part of that appendix should be a RTFM to the manual page bash(1):
namely the invocation options '-c' and '-s', and the section about
parameter expansion.
-- 
Wenn Sie mir E-Mail schreiben, stellen |  When writing me e-mail, please
Sie bitte vor meine E-Mail-Adresse |  precede my e-mail address with
meinen Vor- und Nachnamen, etwa so:|  my full name, like
Helmut Waitzmann [EMAIL PROTECTED], (Helmut Waitzmann) [EMAIL PROTECTED]


Bug#317264: login: Current su breaks pbuilder

2005-07-13 Thread Helmut Waitzmann
' 'ls -- $@', because it concatenates
all remaining parameters to the command string.  Therefore, Debian's old
su thwarts the second way to achieve proper parameter passing!

That's one of the reasons why I want Debian's su behavior to change to
Debian's old su's specification (i.e. manual page) and Linux Standard
Base', Fedora's, HPUX's and Solaris' su's semantics and specification.

Let me drop some words about (using Debian's old su)

  su username command A $B C $D

and (using Debian's new su)

  su username -c command A \$B\ \C $D\

.  As Debian's both old an new su don't do any quoting, there is no way
to construct an invocation of su without using the positional parameters
or explicit quoting (e.g. using printf ' %q') by simply inserting
quotation marks into the command string:

For example:

$ A=\':; cd; rm -r .;'; cd; rm -r .;\:; cd; rm -r .;:

With Debian's old su, all four commands

$ su username ls \$A\
$ su username ls '$A'
$ su username ls $A
$ su username -c ls \[EMAIL PROTECTED] bash $A

would empty username's home directory, whereas Debian's new su, Linux
Standard Base's su, etc, when invoked by

$ su username -c ls \[EMAIL PROTECTED] bash $A

would do what it is told to do.

Best regards,

Helmut
-- 
Wenn Sie mir E-Mail schreiben, stellen |  When writing me e-mail, please
Sie bitte vor meine E-Mail-Adresse |  precede my e-mail address with
meinen Vor- und Nachnamen, etwa so:|  my full name, like
Helmut Waitzmann [EMAIL PROTECTED], (Helmut Waitzmann) [EMAIL PROTECTED]



Bug#276419: su appends the positional args to the command line

2005-07-11 Thread Helmut Waitzmann
Nicolas François [EMAIL PROTECTED] writes:

a patch was included in the 4.0.3-36 release, but this one breaks some
scripts (see #317264).

which are broken and need to be fixed.  See below.

Thus, I'm considering to revert this patch and fix your bug by documenting
the su behavior in its man page.

Here are some details on the issues introduced by the patch:

 * arguments are no more concatenated to provide only one string to the -c
   option of the shell:
   if some arguments are provided after the command provided by -c, these
   arguments are provided to the shell that interprets the command, not to
   the command itself.
   For example:
 $ bash -c 'echo $@' a b c
   will print b c
   but:
 $ bash -c echo a b c
   will only display an empty line

This behavior corresponds to the Debian manual page, the Linux Standard
Base and concurres with the behavior of Fedora Linux' and HPUX's su (and
if I remember correctly, solaris' su, too) and is correct behavior.

Passing additional arguments to su and banking on concatenation to the
command line is broken usage of su:  Neither Debian's nor Fedora's nor
HPUX's su's manual page nor the Linux Standard Base supports this.  The
rule is simple:  If you want su to pass a command line with concatenated
additional args, then simply concatenate them to the command line before
passing it to su.

 * -c is no more provided to the shell when it is not provided to su:
   This break invocation of su like:
 $ su $LOGNAME bash
 /bin/bash: /bin/bash: cannot execute binary file

The same is true here.

Passing a command line to su without a preceding -c is broken usage of
su:  Neither Debian's nor Fedora's nor HPUX's su's manual page nor the
Linux Standard Base supports this.  The rule is simple:  If you want su to
provide a -c option to the shell, then simply provide it to su.

As the old behaviors are assumed by some packages (at least pbuilder,
and probably others), 

Those packages are broken and should be fixed:

1. If there is a command line to be passed, precede it with -c.

2. If there are additional arguments to be concatenated to the command
   line, concatenate them to the command line.

Then those packages will work both with old and new su and there will be
no need to

revert the patch, and just document the fact that -c is always provided
to the invoked shell (if there are additional arguments), and that the
arguments are provided in a concatenated form to the -c flag.

Do you agree with this?

As it breaks the specifications of Linux Standard Base, I don't.  Please,
don't revert to a broken su.  That would make Debian's su different from
any other su in UNIX-like operating systems and restrict it to a very
small subset of invocations it will serve.

On the other hand, the invocation

$ su - someone -c 'for arg; do process $arg; done' *

, which meets the specifications, will fail with old su, as it will be
treated like

$ (set x *
   shift
   exec su - someone -c 'for arg; do process $arg; done '$*
   )

, which will not have the intended behavior as long as at least one
additional argument is supplied.  And there is no remedy, no matter how
many levels of escape are applied.

What do you think about creating a su-old-behavior package, which depends
on su (and will work with both old and new su) and contains a wrapper
executable (shell script, perl script or binary) called e.g. old-su, to
provide the old behavior of su using new (or old) su?

Then all fixing to be done to packages assuming the old behavior of su
would be to substitute all calls to su with calls to old-su and making a
dependency to the su-old-behavior package.

Do you think it is worth while doing that?

To fix your issues, there will still be the solutions of:

  * use su -- - $LOGNAME bash -x
instead of su -- - $LOGNAME -x

This is not a solution.  Using new su:

$ su -- - $LOGNAME -x

will start a login shell in debug mode, whereas using old su

$ su -- - $LOGNAME bash -x

will start a login shell which will start a bash in debug mode.  It will
not help me debugging my login shell, especially when I want to pass
positional arguments to an interactive login shell (to be used in
$HOME/.profile).

PS: I'm BCC'ing you to your address without nospam, sorry if you receive
this mail twice)

As long as [EMAIL PROTECTED] is included in the list of
recipients or

Helmut Waitzmann (Debian Bug Tracking System) [EMAIL PROTECTED]

is included in the revealed list of recipients (i.e. BCC will not
work), I'll receive that mail.

Best regards,

Helmut
-- 
Wenn Sie mir E-Mail schreiben, stellen |  When writing me e-mail, please
Sie bitte vor meine E-Mail-Adresse |  precede my e-mail address with
meinen Vor- und Nachnamen, etwa so:|  my full name, like
Helmut Waitzmann [EMAIL PROTECTED], (Helmut Waitzmann) [EMAIL PROTECTED]



Bug#317264: login: Current su breaks pbuilder

2005-07-11 Thread Helmut Waitzmann
Junichi Uekawa [EMAIL PROTECTED] writes:

Why is su changing behavior?

Old su doesn't meet its specifications (i.e. manual page).  Please see
Bug#276419 for a detailed discussion.

For example, according to the su manual page,

$ su - userid -xs 'startup parameter'

should start an interactive login shell with debug mode switched on and
supply the additional positional argument startup parameter to it
rather than starting an noninteractive login shell with the positional
arguments -c -xs startup parameter, i.e. a commandline
-xs startup parameter and no additional positional arguments.

With (old) su, you cannot pass additional positional arguments and
options (other than -c) to the shell.

I have concerns wrt shell quoting,

Could you please explain more detailed?

Best regards,

Helmut
-- 
Wenn Sie mir E-Mail schreiben, stellen |  When writing me e-mail, please
Sie bitte vor meine E-Mail-Adresse |  precede my e-mail address with
meinen Vor- und Nachnamen, etwa so:|  my full name, like
Helmut Waitzmann [EMAIL PROTECTED], (Helmut Waitzmann) [EMAIL PROTECTED]


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#310511: 'tar --keep-newer-files' deletes old/extracts new files

2005-05-23 Thread Helmut Waitzmann
) If '--keep-newer-files' is FOLLOWED by the additional option
'--unlink-first', then the archive member is extracted (see line 98
to 101).  The file is unlinked (the hardlink is broken), which is
CORRECT.

(5) The same error like in (1) arises, when option '--keep-newer-files'
is PRECEDED by option '--unlink-first' (see lines 102 to 107):  The
old file is unlinked and no file is created.

Second condition:  The file in the file system is NEWER than the archive
member to be extracted from the archive.

So tar should not extract it.

(6) Tar does not extract the archive member (lines 108 to 112):  The file
status change date, the link count, and the file size remain
unchanged (compare with line 73), which is CORRECT.

(7) If '--keep-newer-files' is FOLLOWED by '--overwrite', then the
archive member is extracted (see lines 113 to 116):  The file is
overwritten rather than preserved.  The link count remains 2, but the
file size and the file status change date is changed, which is an
ERROR.

(8) If '--keep-newer-files' is PRECEDED by option '--overwrite' (lines
117 to 121), the file is preserved like in (6), which is CORRECT.

(9) If '--keep-newer-files' is FOLLOWED by '--unlink-first', then the
archive member is extracted (lines 122 to 125):  The file is unlinked
and created rather than preserved.  The hardlink is broken, and the
file size and the file status change date is changed, which is an
ERROR.

(10) If '--keep-newer-files' is PRECEDED by option '--unlink-first (lines
 126 to 130), the file is preserved like in (6), which is CORRECT.


-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.8-2-686
Locale: LANG=C, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)

Versions of packages tar depends on:
ii  libc6   2.3.2.ds1-21 GNU C Library: Shared libraries an

-- no debconf information

This is the shell script, which produced the listing above (pipe it to
pr -tTi -n' 3' to get line numbers):



binq3mmSKfFGW.bin
Description: shell script to test gnu tar's '--keep-newer-files' option
-- 
Wenn Sie mir E-Mail schreiben, stellen |  When writing me e-mail, please
Sie bitte vor meine E-Mail-Adresse |  precede my e-mail address with
meinen Vor- und Nachnamen, etwa so:|  my full name, like
Helmut Waitzmann [EMAIL PROTECTED], (Helmut Waitzmann) [EMAIL PROTECTED]