Package: login Version: 1:4.2-3.1 Severity: wishlist Tags: patch The long package description for login features some distinctly non-native-speakerish grammar and some out-of-date assumptions. It's still perfectly comprehensible, and a case could be made for the argument that descriptions for "Essential: yes" packages don't much matter (as no user ever needs to decide whether or not to install login). On the other hand it's a high-profile package, so I thought I'd submit a wishlist patch.
# Description: system login tools A perfectly good synopsis. # These tools are required to be able to login and use your system. I see three problems here. * This sentence starts awkwardly by luring readers up a garden-path parsing involving a requirement that these tools should behave in a certain way. There's no need for any phrasing this convoluted when it could just say "You need these tools to..." * "To login" is wrong. The noun and of course the executable may be single words, but what's needed here is the verb, which is two words - it's "I logged myself in", not "I logined myself". * It's not true! Running "rm /bin/login" doesn't stop me logging in and using my system via an SSH connection or an X display manager. Next we run straight into a list of three executables in the package and their functions. (The lack of context gives the impression that it is intended as an exhaustive list of "these tools".) # The # login program invokes your user shell and enables command execution. Since these three programs are being introduced here the more natural English word-order would be "The program 'login'..." (though this would be barely noticeable if it wasn't repeated). But then the rest of the sentence is misleading. I don't need to use login to get a shell - I get one free with every xterm; and executing /bin/login achieves nothing, so from a user's point of view it's not much of a "tool". The description omits the important thing about login, which is that it's invoked by the getty process running on a TTY (or these days by a systemd getty@.service, however that works exactly). # The # newgrp program is used to change your effective group ID (useful for # workgroup type situations). That's "The program 'newgrp'..."; then "workgroup-type situations" needs a hyphen and is oddly informal alongside the complex impersonal phrasing of these sentences (besides which, thanks to Microsoft the word "workgroup" is hopelessly ambiguous). But more importantly, how is "newgrp" important enough to deserve a mention here? Does anybody ever use it? Instead I would suggest introducing /usr/sbin/nologin here and leaving out newgrp along with sg, faillog, and lastlog. (And in fact rather than this exclusive focus on the tools - i.e. executables - in the package, it might also make sense to hint at the presence of things like /etc/securetty and /etc/pam.d/login by saying that the package provides "infrastructure".) # The su program allows changing your effective # user ID (useful being able to execute commands as another user). First there's the repeated word-order niggle, then an unclear use of "allow" (su doesn't just render EUID changes permissible, it directly changes your EUID). And as for the part in parentheses... well, I think it's just trying to say "useful for executing commands...", but with entirely broken syntax. This is also a bit dated, since I'm more likely these days to switch UIDs with sudo (or pkexec or runuser) than with su. My suggested thoroughly revised version: Description: system login tools This package provides some required infrastructure for logins and for changing effective user or group IDs, including: * login, the program that invokes a user shell on a virtual terminal; * nologin, a dummy shell for disabled user accounts; * su, a basic tool for executing commands as root or another user. -- System Information: Debian Release: stretch/sid APT prefers testing APT policy: (990, 'testing'), (50, 'unstable') Architecture: i386 (i686) Kernel: Linux 4.4.0-rc4-686-pae (SMP w/1 CPU core) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages login depends on: ii libaudit1 1:2.4.4-4 ii libc6 2.19-22 ii libpam-modules 1.1.8-3.1 ii libpam-runtime 1.1.8-3.1 ii libpam0g 1.1.8-3.1 login recommends no packages. login suggests no packages. -- no debconf information -- JBR with qualifications in linguistics, experience as a Debian sysadmin, and probably no clue about this particular package
diff -ru shadow-4.2.pristine/debian/control shadow-4.2/debian/control --- shadow-4.2.pristine/debian/control 2014-11-19 20:49:09.000000000 +0000 +++ shadow-4.2/debian/control 2015-12-18 01:13:38.573144040 +0000 @@ -29,11 +29,11 @@ Replaces: manpages-de (<< 0.5-3), manpages-tr (<<1.0.5), manpages-zh (<<1.5.1-1), passwd (<< 1:4.1.5.1-2~) [hurd-any], coreutils (<< 8.21~) [hurd-any], hurd (<< 20140206~) [hurd-any] Essential: yes Description: system login tools - These tools are required to be able to login and use your system. The - login program invokes your user shell and enables command execution. The - newgrp program is used to change your effective group ID (useful for - workgroup type situations). The su program allows changing your effective - user ID (useful being able to execute commands as another user). + This package provides some required infrastructure for logins and for + changing effective user or group IDs, including: + * login, the program that invokes a user shell on a virtual terminal; + * nologin, a dummy shell for disabled user accounts; + * su, a basic tool for executing commands as root or another user. Package: uidmap Priority: optional