]> granicus.if.org Git - shadow/commitdiff
[svn-upgrade] Integrating new upstream version, shadow (4.0.9)
authornekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Sun, 7 Oct 2007 11:46:16 +0000 (11:46 +0000)
committernekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Sun, 7 Oct 2007 11:46:16 +0000 (11:46 +0000)
159 files changed:
ABOUT-NLS
ChangeLog
Makefile.in
NEWS
aclocal.m4
config.rpath
configure
configure.in
contrib/Makefile.in
doc/Makefile.in
etc/Makefile.in
etc/pam.d/Makefile.in
lib/Makefile.in
lib/encrypt.c
lib/getdef.c
libmisc/Makefile.in
m4/gettext.m4 [new file with mode: 0644]
m4/iconv.m4 [new file with mode: 0644]
m4/lib-ld.m4 [new file with mode: 0644]
m4/lib-link.m4 [new file with mode: 0644]
m4/lib-prefix.m4 [new file with mode: 0644]
m4/nls.m4 [new file with mode: 0644]
m4/po.m4 [new file with mode: 0644]
m4/progtest.m4 [new file with mode: 0644]
man/Makefile.am
man/Makefile.in
man/chage.1
man/chage.1.xml [new file with mode: 0644]
man/chfn.1.xml [new file with mode: 0644]
man/chpasswd.8.xml [new file with mode: 0644]
man/chsh.1.xml [new file with mode: 0644]
man/cs/Makefile.in
man/de/Makefile.in
man/es/Makefile.in
man/expiry.1.xml [new file with mode: 0644]
man/faillog.5.xml [new file with mode: 0644]
man/faillog.8.xml [new file with mode: 0644]
man/fr/Makefile.in
man/gpasswd.1.xml [new file with mode: 0644]
man/groupadd.8.xml [new file with mode: 0644]
man/groupdel.8.xml [new file with mode: 0644]
man/groupmems.8.xml [new file with mode: 0644]
man/groupmod.8.xml [new file with mode: 0644]
man/groups.1.xml [new file with mode: 0644]
man/grpck.8.xml [new file with mode: 0644]
man/gshadow.5.xml [new file with mode: 0644]
man/hu/Makefile.in
man/id.1.xml [new file with mode: 0644]
man/id/Makefile.in
man/it/Makefile.in
man/ja/Makefile.in
man/ko/Makefile.in
man/lastlog.8.xml [new file with mode: 0644]
man/limits.5.xml [new file with mode: 0644]
man/login.1
man/login.1.xml [new file with mode: 0644]
man/login.access.5.xml [new file with mode: 0644]
man/login.defs.5
man/login.defs.5.xml [new file with mode: 0644]
man/logoutd.8.xml [new file with mode: 0644]
man/mkpasswd.8.xml [new file with mode: 0644]
man/newusers.8.xml [new file with mode: 0644]
man/passwd.1
man/passwd.1.xml [new file with mode: 0644]
man/passwd.5.xml [new file with mode: 0644]
man/pl/Makefile.in
man/porttime.5.xml [new file with mode: 0644]
man/pt_BR/Makefile.in
man/pw_auth.3.xml [new file with mode: 0644]
man/pwck.8.xml [new file with mode: 0644]
man/pwconv.8
man/pwconv.8.xml [new file with mode: 0644]
man/ru/Makefile.in
man/shadow.3.xml [new file with mode: 0644]
man/shadow.5.xml [new file with mode: 0644]
man/shadowconfig.8.xml [new file with mode: 0644]
man/su.1
man/su.1.xml [new file with mode: 0644]
man/suauth.5.xml [new file with mode: 0644]
man/sulogin.8.xml [new file with mode: 0644]
man/useradd.8.xml [new file with mode: 0644]
man/userdel.8.xml [new file with mode: 0644]
man/usermod.8.xml [new file with mode: 0644]
man/vipw.8
man/vipw.8.xml [new file with mode: 0644]
man/zh_CN/Makefile.in
man/zh_TW/Makefile.in
po/ChangeLog [new file with mode: 0644]
po/LINGUAS
po/Makefile.in.in
po/Rules-quot
po/bs.gmo
po/bs.po
po/ca.gmo
po/ca.po
po/cs.gmo
po/cs.po
po/da.gmo
po/da.po
po/de.gmo
po/de.po
po/el.gmo
po/el.po
po/es.gmo
po/es.po
po/eu.gmo
po/eu.po
po/fi.gmo
po/fi.po
po/fr.gmo
po/fr.po
po/he.gmo
po/he.po
po/id.gmo
po/id.po
po/it.gmo
po/it.po
po/ja.gmo
po/ja.po
po/ko.gmo
po/ko.po
po/nb.gmo
po/nb.po
po/nl.gmo
po/nl.po
po/nn.gmo
po/nn.po
po/pl.gmo
po/pl.po
po/pt.gmo
po/pt.po
po/pt_BR.gmo
po/pt_BR.po
po/ro.gmo
po/ro.po
po/ru.gmo
po/ru.po
po/shadow.pot
po/sk.gmo
po/sk.po
po/sq.gmo
po/sq.po
po/sv.gmo
po/sv.po
po/tl.gmo
po/tl.po
po/tr.gmo
po/tr.po
po/uk.gmo
po/uk.po
po/vi.gmo [new file with mode: 0644]
po/vi.po [new file with mode: 0644]
po/zh_CN.gmo
po/zh_CN.po
po/zh_TW.gmo
po/zh_TW.po
src/Makefile.in
src/lastlog.c
src/newgrp.c

index 47d5e39f0e1a0e94d55613496dc65eb016be95cf..e0507743db22ddf861d137567a9116ec0f81dde7 100644 (file)
--- a/ABOUT-NLS
+++ b/ABOUT-NLS
@@ -1,10 +1,11 @@
-Notes on the Free Translation Project
-*************************************
+Notes on the Free Translation Project
+***************************************
 
-   Free software is going international!  The Free Translation Project
-is a way to get maintainers of free software, translators, and users all
-together, so that will gradually become able to speak many languages.
-A few packages already provide translations for their messages.
+Free software is going international!  The Free Translation Project is
+a way to get maintainers of free software, translators, and users all
+together, so that free software will gradually become able to speak many
+languages.  A few packages already provide translations for their
+messages.
 
    If you found this `ABOUT-NLS' file inside a distribution, you may
 assume that the distributed package does use GNU `gettext' internally,
@@ -15,17 +16,17 @@ this package with messages translated.
    Installers will find here some useful hints.  These notes also
 explain how users should proceed for getting the programs to use the
 available translations.  They tell how people wanting to contribute and
-work at translations should contact the appropriate team.
+work on translations can contact the appropriate team.
 
    When reporting bugs in the `intl/' directory or bugs which may be
 related to internationalization, you should tell about the version of
 `gettext' which is used.  The information can be found in the
 `intl/VERSION' file, in internationalized packages.
 
-Quick configuration advice
-==========================
+1.1 Quick configuration advice
+==============================
 
-   If you want to exploit the full power of internationalization, you
+If you want to exploit the full power of internationalization, you
 should configure it using
 
      ./configure --with-included-gettext
@@ -45,37 +46,37 @@ to change to GNU `gettext' as soon as possible.
 you have installed a recent copy of the GNU gettext package with the
 included `libintl'.
 
-INSTALL Matters
-===============
+1.2 INSTALL Matters
+===================
 
-   Some packages are "localizable" when properly installed; the
-programs they contain can be made to speak your own native language.
-Most such packages use GNU `gettext'.  Other packages have their own
-ways to internationalization, predating GNU `gettext'.
+Some packages are "localizable" when properly installed; the programs
+they contain can be made to speak your own native language.  Most such
+packages use GNU `gettext'.  Other packages have their own ways to
+internationalization, predating GNU `gettext'.
 
    By default, this package will be installed to allow translation of
 messages.  It will automatically detect whether the system already
-provides the GNU `gettext' functions.  If not, the GNU `gettext' own
-library will be used.  This library is wholly contained within this
-package, usually in the `intl/' subdirectory, so prior installation of
-the GNU `gettext' package is _not_ required.  Installers may use
-special options at configuration time for changing the default
-behaviour.  The commands:
+provides the GNU `gettext' functions.  If not, the included GNU
+`gettext' library will be used.  This library is wholly contained
+within this package, usually in the `intl/' subdirectory, so prior
+installation of the GNU `gettext' package is _not_ required.
+Installers may use special options at configuration time for changing
+the default behaviour.  The commands:
 
      ./configure --with-included-gettext
      ./configure --disable-nls
 
-will respectively bypass any pre-existing `gettext' to use the
+will, respectively, bypass any pre-existing `gettext' to use the
 internationalizing routines provided within this package, or else,
 _totally_ disable translation of messages.
 
    When you already have GNU `gettext' installed on your system and run
 configure without an option for your new package, `configure' will
 probably detect the previously built and installed `libintl.a' file and
-will decide to use this.  This might be not what is desirable.  You
-should use the more recent version of the GNU `gettext' library.  I.e.
-if the file `intl/VERSION' shows that the library which comes with this
-package is more recent, you should use
+will decide to use this.  This might not be desirable.  You should use
+the more recent version of the GNU `gettext' library.  I.e. if the file
+`intl/VERSION' shows that the library which comes with this package is
+more recent, you should use
 
      ./configure --with-included-gettext
 
@@ -86,7 +87,7 @@ and therefore it will not be used.  The reason is that even an
 emulation of `gettext' on top of `catgets' could not provide all the
 extensions of the GNU `gettext' library.
 
-   Internationalized packages have usually many `po/LL.po' files, where
+   Internationalized packages usually have many `po/LL.po' files, where
 LL gives an ISO 639 two-letter code identifying the language.  Unless
 translations have been forbidden at `configure' time by using the
 `--disable-nls' switch, all available translations are installed
@@ -95,10 +96,10 @@ may be set, prior to configuration, to limit the installed set.
 `LINGUAS' should then contain a space separated list of two-letter
 codes, stating which languages are allowed.
 
-Using This Package
-==================
+1.3 Using This Package
+======================
 
-   As a user, if your language has been installed for this package, you
+As a user, if your language has been installed for this package, you
 only have to set the `LANG' environment variable to the appropriate
 `LL_CC' combination.  Here `LL' is an ISO 639 two-letter language code,
 and `CC' is an ISO 3166 two-letter country code.  For example, let's
@@ -131,16 +132,23 @@ system libraries.  For example, some Swedish users who would rather
 read translations in German than English for when Swedish is not
 available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
 
+   Special advice for Norwegian users: The language code for Norwegian
+bokma*l changed from `no' to `nb' recently (in 2003).  During the
+transition period, while some message catalogs for this language are
+installed under `nb' and some older ones under `no', it's recommended
+for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and
+older translations are used.
+
    In the `LANGUAGE' environment variable, but not in the `LANG'
 environment variable, `LL_CC' combinations can be abbreviated as `LL'
 to denote the language's main dialect.  For example, `de' is equivalent
 to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
 (Portuguese as spoken in Portugal) in this context.
 
-Translating Teams
-=================
+1.4 Translating Teams
+=====================
 
-   For the Free Translation Project to be a success, we need interested
+For the Free Translation Project to be a success, we need interested
 people who like their own language and write it well, and who are also
 able to synergize with other translators speaking the same language.
 Each translation team has its own mailing list.  The up-to-date list of
@@ -167,426 +175,784 @@ coordinator for all translator teams.
 the terminology in use.  Proven linguistic skill are praised more than
 programming skill, here.
 
-Available Packages
-==================
+1.5 Available Packages
+======================
 
-   Languages are not equally supported in all packages.  The following
-matrix shows the current state of internationalization, as of May 2003.
-The matrix shows, in regard of each package, for which languages PO
-files have been submitted to translation coordination, with a
+Languages are not equally supported in all packages.  The following
+matrix shows the current state of internationalization, as of March
+2005.  The matrix shows, in regard of each package, for which languages
+PO files have been submitted to translation coordination, with a
 translation percentage of at least 50%.
 
-     Ready PO files       am az be bg ca cs da de el en en_GB eo es
-                        +-------------------------------------------+
-     a2ps               |       []          [] [] []                |
-     aegis              |                      ()                   |
-     anubis             |                                           |
-     ap-utils           |                                           |
-     bash               |                      []             [] [] |
-     batchelor          |                                           |
-     bfd                |                   []                   [] |
-     binutils           |                   []                   [] |
-     bison              |                   [] []                [] |
-     bluez-pin          |                []                   []    |
-     clisp              |                                           |
-     clisp              |                      []    []          [] |
-     coreutils          |             []    [] []                [] |
-     cpio               |                   [] []                [] |
-     darkstat           |                   ()                   [] |
-     diffutils          |             [] [] [] [] []          [] [] |
-     e2fsprogs          |                []    []                   |
-     enscript           |             []    [] []        []         |
-     error              |             []    [] []        []      [] |
-     fetchmail          |             [] () [] [] []             [] |
-     fileutils          |                   [] []                [] |
-     findutils          |             []    [] [] []          [] [] |
-     flex               |             []    [] []                [] |
-     gas                |                                        [] |
-     gawk               |             []    [] []                [] |
-     gcal               |             []                            |
-     gcc                |                   []                   [] |
-     gettext            |       []    []    [] []                [] |
-     gettext-runtime    |       []    []    [] []                [] |
-     gettext-tools      |                      []                [] |
-     gimp-print         |                [] [] []        []      [] |
-     gliv               |                                           |
-     glunarclock        |    []             [] []                   |
-     gnucash            |                      ()        []         |
-     gnucash-glossary   |                   [] ()                [] |
-     gnupg              |             [] ()    [] []          [] [] |
-     gpe-calendar       |                      []                   |
-     gpe-conf           |                      []                   |
-     gpe-contacts       |                      []                   |
-     gpe-edit           |                                           |
-     gpe-login          |                      []                   |
-     gpe-ownerinfo      |                      []                   |
-     gpe-sketchbook     |                      []                   |
-     gpe-timesheet      |                                           |
-     gpe-today          |                      []                   |
-     gpe-todo           |                      []                   |
-     gphoto2            |                [] [] []                [] |
-     gprof              |                   []                   [] |
-     gpsdrive           |                      ()    ()          () |
-     grep               |          [] []       [] []             [] |
-     gretl              |                                        [] |
-     hello              |             []    [] [] []          [] [] |
-     id-utils           |                   [] []                   |
-     indent             |             []       []             [] [] |
-     jpilot             |                [] [] []                [] |
-     jwhois             |                                        [] |
-     kbd                |                [] [] [] []             [] |
-     ld                 |                   []                   [] |
-     libc               |             [] [] [] [] []             [] |
-     libgpewidget       |                      []                   |
-     libiconv           |             []    [] []             [] [] |
-     lifelines          |                   [] ()                   |
-     lilypond           |                   []                      |
-     lingoteach         |                                           |
-     lingoteach_lessons |                      ()                () |
-     lynx               |             [] [] [] []                   |
-     m4                 |                [] [] [] []                |
-     mailutils          |             []                         [] |
-     make               |                   [] []                [] |
-     man-db             |             [] () [] []                () |
-     mysecretdiary      |                   [] []                [] |
-     nano               |             [] () [] []                [] |
-     nano_1_0           |             [] () [] []                [] |
-     opcodes            |                   []                   [] |
-     parted             |             [] [] [] []                [] |
-     ptx                |             []    [] []             [] [] |
-     python             |                                           |
-     radius             |                                           |
-     recode             |       []          [] [] []          [] [] |
-     screem             |                                           |
-     sed                |             []    [] []             [] [] |
-     sh-utils           |                   [] []                [] |
-     sharutils          |             [] [] [] [] []             [] |
-     sketch             |                   [] ()                [] |
-     soundtracker       |                   [] []                [] |
-     sp                 |                      []                   |
-     tar                |                [] [] []                [] |
-     texinfo            |                [] [] []             []    |
-     textutils          |             []    [] []                [] |
-     tin                |                      ()        ()         |
-     util-linux         |             [] [] [] []                [] |
-     vorbis-tools       |                [] []                   [] |
-     wastesedge         |                      ()                   |
-     wdiff              |             []    [] []                [] |
-     wget               |          [] [] [] [] [] []             [] |
-     xchat              |             []          []             [] |
-     xpad               |                                           |
-                        +-------------------------------------------+
-                          am az be bg ca cs da de el en en_GB eo es
-                           0  1  4  2 31 17 54 60 14  1   4   12 56
-     
-                          et fa fi fr ga gl he hr hu id it ja ko
-                        +----------------------------------------+
-     a2ps               | []    [] []                   ()    () |
-     aegis              |                                        |
-     anubis             |          []                            |
-     ap-utils           |          []                            |
-     bash               |          []             []             |
-     batchelor          |             []                         |
-     bfd                |          []                      []    |
-     binutils           |          []                      []    |
-     bison              | []       []                [] []       |
-     bluez-pin          |          [] []          [] []          |
-     clisp              |                                        |
-     clisp              |          []                            |
-     coreutils          | []       []                   [] []    |
-     cpio               |          []    []       []          [] |
-     darkstat           |          () []          [] []          |
-     diffutils          |       [] []    [] []    [] []    []    |
-     e2fsprogs          |                                        |
-     enscript           |          []          []                |
-     error              |       [] [] []          []             |
-     fetchmail          |                                  []    |
-     fileutils          | []       []             []    [] []    |
-     findutils          | []    [] [] [] []    [] [] [] [] [] [] |
-     flex               |          []                         [] |
-     gas                |          []                            |
-     gawk               |          []       []                   |
-     gcal               |          []                            |
-     gcc                |          []                            |
-     gettext            |          []                      [] [] |
-     gettext-runtime    |          []                []    [] [] |
-     gettext-tools      |                                  []    |
-     gimp-print         |          []                      []    |
-     gliv               |          ()                            |
-     glunarclock        |             [] []       []       []    |
-     gnucash            |                               []       |
-     gnucash-glossary   |                               []       |
-     gnupg              | []    [] []    []          [] [] []    |
-     gpe-calendar       |                            []          |
-     gpe-conf           |                                        |
-     gpe-contacts       |          []                            |
-     gpe-edit           |          []                []          |
-     gpe-login          |          []                            |
-     gpe-ownerinfo      |          []             [] []          |
-     gpe-sketchbook     |          []                            |
-     gpe-timesheet      |          [] []             []          |
-     gpe-today          |          [] []                         |
-     gpe-todo           |          []                []          |
-     gphoto2            |          []             []       []    |
-     gprof              |          []                []          |
-     gpsdrive           |          ()             []    () ()    |
-     grep               | []    [] [] [] [] [] [] [] [] [] []    |
-     gretl              |          []                            |
-     hello              | [] [] [] [] [] [] [] [] [] [] [] [] [] |
-     id-utils           |          []             [] []          |
-     indent             | []    [] []    []       [] [] [] []    |
-     jpilot             |          []                      ()    |
-     jwhois             |          []             [] [] []       |
-     kbd                |          []                            |
-     ld                 |          []                            |
-     libc               |       [] []    []       []       [] [] |
-     libgpewidget       |          [] []             []          |
-     libiconv           |       [] [] [] []    [] [] [] []       |
-     lifelines          |          ()                            |
-     lilypond           |          []                            |
-     lingoteach         |          []                []          |
-     lingoteach_lessons |                                        |
-     lynx               | []                      []    [] []    |
-     m4                 |          []    []          []    []    |
-     mailutils          |                                        |
-     make               |          []    [] [] []          [] [] |
-     man-db             |          []                   () ()    |
-     mysecretdiary      |          []                []          |
-     nano               |          []    []          [] []       |
-     nano_1_0           |          []    []          [] []       |
-     opcodes            |          []                []          |
-     parted             |          []    []                []    |
-     ptx                | []    [] [] [] []       [] []          |
-     python             |                                        |
-     radius             |                                        |
-     recode             |          []    [] []    [] [] []       |
-     screem             |                                        |
-     sed                | []       [] [] []       [] [] [] []    |
-     sh-utils           | []    [] []             []    [] []    |
-     sharutils          | []       []    []       []       []    |
-     sketch             |          []                            |
-     soundtracker       |          []    []    []                |
-     sp                 |          []                      ()    |
-     tar                | []    [] []    []    [] [] [] [] []    |
-     texinfo            |          []       [] []          []    |
-     textutils          |          []    []       []       [] [] |
-     tin                | []       ()                            |
-     util-linux         | []    [] []             []    () []    |
-     vorbis-tools       |          []                            |
-     wastesedge         |          ()                            |
-     wdiff              | []       []    []       [] []          |
-     wget               | []    [] []    [] [] [] []       []    |
-     xchat              | []       []                      []    |
-     xpad               |                                        |
-                        +----------------------------------------+
-                          et fa fi fr ga gl he hr hu id it ja ko
-                          20  1 15 73 14 24  8 10 30 31 19 31  9
-     
-                          lg lt lv ms nb nl nn no pl pt pt_BR ro
-                        +----------------------------------------+
-     a2ps               |          []    []    () () ()  []   [] |
-     aegis              |                ()                      |
-     anubis             |          []                         [] |
-     ap-utils           |                         ()             |
-     bash               |                                []      |
-     batchelor          |                                        |
-     bfd                |                                        |
-     binutils           |                                        |
-     bison              |          []    []              []   [] |
-     bluez-pin          |                                     [] |
-     clisp              |                                        |
-     clisp              |                []                      |
-     coreutils          |                         []             |
-     cpio               |                []       []     []      |
-     darkstat           |          []    []              []   [] |
-     diffutils          |          []             []     []      |
-     e2fsprogs          |                                        |
-     enscript           |                []              []      |
-     error              |                []              []      |
-     fetchmail          |                         ()     ()      |
-     fileutils          |                         []             |
-     findutils          |                []       []     []   [] |
-     flex               |                                []      |
-     gas                |                                        |
-     gawk               |                                []      |
-     gcal               |                                        |
-     gcc                |                                        |
-     gettext            |                         []             |
-     gettext-runtime    |                         []             |
-     gettext-tools      |                                        |
-     gimp-print         |                []                      |
-     gliv               |                                []      |
-     glunarclock        |          []                            |
-     gnucash            |                                        |
-     gnucash-glossary   |                []          []          |
-     gnupg              |                                        |
-     gpe-calendar       |                            []       [] |
-     gpe-conf           |                            []       [] |
-     gpe-contacts       |                            []          |
-     gpe-edit           |                            []       [] |
-     gpe-login          |                            []       [] |
-     gpe-ownerinfo      |                            []       [] |
-     gpe-sketchbook     |                            []       [] |
-     gpe-timesheet      |                            []       [] |
-     gpe-today          |                            []       [] |
-     gpe-todo           |                            []       [] |
-     gphoto2            |                                        |
-     gprof              |                                []      |
-     gpsdrive           |                ()    ()        ()      |
-     grep               |                         [] []  []   [] |
-     gretl              |                                        |
-     hello              |       [] [] [] [] [] [] []     []   [] |
-     id-utils           |                []              []   [] |
-     indent             |                []              []   [] |
-     jpilot             |                ()    ()                |
-     jwhois             |                []              []   [] |
-     kbd                |                                        |
-     ld                 |                                        |
-     libc               |             []       [] []     []      |
-     libgpewidget       |                            []       [] |
-     libiconv           |                                []   [] |
-     lifelines          |                                        |
-     lilypond           |                []                      |
-     lingoteach         |                                        |
-     lingoteach_lessons |                                        |
-     lynx               |                []              []      |
-     m4                 |                []       []     []   [] |
-     mailutils          |                                        |
-     make               |                []              []      |
-     man-db             |                                []      |
-     mysecretdiary      |                                []      |
-     nano               |          []    []       []          [] |
-     nano_1_0           |          [] []    []    []             |
-     opcodes            |                []              []   [] |
-     parted             |                   []       []  []      |
-     ptx                |             [] []    [] [] []  []   [] |
-     python             |                                        |
-     radius             |                                        |
-     recode             |                         []     []   [] |
-     screem             |                                        |
-     sed                |                                []   [] |
-     sh-utils           |             []                         |
-     sharutils          |                []                      |
-     sketch             |                                []      |
-     soundtracker       |                                        |
-     sp                 |                                        |
-     tar                |          [] []       [] []     []   [] |
-     texinfo            |                                     [] |
-     textutils          |             []                         |
-     tin                |                                        |
-     util-linux         |                []              []      |
-     vorbis-tools       |                []                   [] |
-     wastesedge         |                                        |
-     wdiff              |          []             []     []   [] |
-     wget               |                []       []          [] |
-     xchat              |       []       []                      |
-     xpad               |                                     [] |
-                        +----------------------------------------+
-                          lg lt lv ms nb nl nn no pl pt pt_BR ro
-                           0  0  2 11  7 26  3  4 18 15  34   34
-     
-                          ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW
-                        +-------------------------------------------+
-     a2ps               | []    []    []    [] []                   | 16
-     aegis              | ()                                        |  0
-     anubis             |                   [] []                   |  5
-     ap-utils           |                      ()                   |  1
-     bash               | []                                        |  7
-     batchelor          |                                           |  1
-     bfd                |             []    []           []         |  7
-     binutils           |             []    []           []         |  7
-     bison              | []          []                            | 13
-     bluez-pin          |                                           |  7
-     clisp              |                                           |  0
-     clisp              |                                           |  5
-     coreutils          | []    []    []    []                 []   | 14
-     cpio               | []          []                 []         | 13
-     darkstat           |             []                 ()    ()   |  9
-     diffutils          | []          []    []                 []   | 21
-     e2fsprogs          |                   []                      |  3
-     enscript           | []          []    []                      | 11
-     error              |    []             []                 []   | 14
-     fetchmail          |                   []                      |  7
-     fileutils          | []    []    []    []           []    []   | 15
-     findutils          | [] [] []    []    []           []         | 27
-     flex               | []          []    []                      | 10
-     gas                |                   []                      |  3
-     gawk               |             []    []                      |  9
-     gcal               |             []    []                      |  4
-     gcc                |                   []                      |  4
-     gettext            | [] [] []    []    []                 []   | 15
-     gettext-runtime    | [] [] []    []    []                 []   | 16
-     gettext-tools      |    [] []                                  |  5
-     gimp-print         |    []       []                            | 10
-     gliv               |                                           |  1
-     glunarclock        | []          []             []             | 11
-     gnucash            |    []                                []   |  4
-     gnucash-glossary   |    []       []                       []   |  8
-     gnupg              |    []       []    []                 []   | 16
-     gpe-calendar       |                                      []   |  5
-     gpe-conf           |                                           |  3
-     gpe-contacts       |                                      []   |  4
-     gpe-edit           |                                      []   |  5
-     gpe-login          |                                      []   |  5
-     gpe-ownerinfo      |                                      []   |  7
-     gpe-sketchbook     |                                      []   |  5
-     gpe-timesheet      |                                      []   |  6
-     gpe-today          |                                      []   |  6
-     gpe-todo           |                                      []   |  6
-     gphoto2            |             []                 []         |  9
-     gprof              |             []    []                      |  7
-     gpsdrive           |    []       []                            |  3
-     grep               | []    []          [] []                   | 24
-     gretl              |                                           |  2
-     hello              | [] []       []    [] []                   | 33
-     id-utils           | []          []    []                      | 11
-     indent             | [] []       []    []                      | 19
-     jpilot             |             []    []    []     []    []   | 10
-     jwhois             | ()          ()    []                 []   | 10
-     kbd                |             []    []                      |  8
-     ld                 |             []    []                      |  5
-     libc               |    []       []    []           []         | 20
-     libgpewidget       |                                           |  6
-     libiconv           | [] [] []    []    [] []                   | 21
-     lifelines          |             []                            |  2
-     lilypond           |             []                            |  4
-     lingoteach         |                                           |  2
-     lingoteach_lessons |                                ()         |  0
-     lynx               | []          []    [] []                   | 14
-     m4                 | []          []                 []         | 15
-     mailutils          |                                           |  2
-     make               | []          []    []           []         | 15
-     man-db             |             []                            |  6
-     mysecretdiary      |             []    []                      |  8
-     nano               | []          []       []                   | 15
-     nano_1_0           | []          []       []                   | 15
-     opcodes            |             []    []                      |  9
-     parted             |             []    []                      | 13
-     ptx                | []          []    []                      | 22
-     python             |                                           |  0
-     radius             |                                           |  0
-     recode             | []    []    []    []                      | 19
-     screem             |             []                            |  1
-     sed                |    [] []    []    [] []                   | 20
-     sh-utils           | []    []          []                      | 13
-     sharutils          | []          []    []                 []   | 16
-     sketch             |             []                            |  5
-     soundtracker       |             []                            |  7
-     sp                 |                   []                      |  3
-     tar                |    [] []    []    []           []         | 24
-     texinfo            | []          []    []           []         | 13
-     textutils          | []    []    []    []                 []   | 15
-     tin                |                                           |  1
-     util-linux         |             []    []                      | 14
-     vorbis-tools       | []                                        |  7
-     wastesedge         |                                           |  0
-     wdiff              | [] []       []    []                      | 17
-     wget               | [] [] []    []    [] []              []   | 25
-     xchat              |    [] []    []                            | 11
-     xpad               |                                           |  1
-                        +-------------------------------------------+
-       50 teams           ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW
-       97 domains         32 19 16  0 56  0 48 10  1  1  12    23    913
+     Ready PO files       af am ar az be bg bs ca cs cy da de el en en_GB
+                        +-------------------------------------------------+
+     GNUnet             |                                                 |
+     a2ps               |             []                [] [] []     []   |
+     aegis              |                                  ()             |
+     ant-phone          |                                  ()             |
+     anubis             |                                  []             |
+     ap-utils           |                                                 |
+     aspell             |                         []    [] []        []   |
+     bash               |                      []          []             |
+     batchelor          |                                  []             |
+     bfd                |                               []                |
+     bibshelf           |                                  []             |
+     binutils           |                               []                |
+     bison              |                               [] []             |
+     bluez-pin          | []                      []       [] []          |
+     clisp              |                                  []    []       |
+     console-tools      |                         []       []             |
+     coreutils          |                []    []       [] []             |
+     cpio               |                                                 |
+     cpplib             |                      []       [] []             |
+     darkstat           |                []             () []             |
+     dialog             |                      [] [] [] [] [] []          |
+     diffutils          |                      [] []    [] [] []          |
+     doodle             |                                  []             |
+     e2fsprogs          |                         []       []             |
+     enscript           |                      []       [] []        []   |
+     error              |                      []       [] []        []   |
+     fetchmail          |                      [] ()    [] [] []          |
+     fileutils          |                               [] []             |
+     findutils          |                      []       []    []          |
+     flex               |                      []       [] []             |
+     fslint             |                                  []             |
+     gas                |                                                 |
+     gawk               |                      []       [] []             |
+     gbiff              |                                  []             |
+     gcal               |                      []                         |
+     gcc                |                                  []             |
+     gettext-examples   | []                   []          [] []          |
+     gettext-runtime    |             []       []       [] []             |
+     gettext-tools      |                      []          []             |
+     gimp-print         |                         []    [] []        []   |
+     gip                |                                                 |
+     gliv               |                                  []             |
+     glunarclock        |                                  []             |
+     gmult              | []                               []             |
+     gnubiff            |                                  ()             |
+     gnucash            |                         []       () ()     []   |
+     gnucash-glossary   |                               [] ()             |
+     gnupg              |                      [] ()       [] []          |
+     gpe-aerial         |                         []       []             |
+     gpe-beam           |                         []       []             |
+     gpe-calendar       |                         []       []             |
+     gpe-clock          |                         []       []             |
+     gpe-conf           |                         []       []             |
+     gpe-contacts       |                                                 |
+     gpe-edit           |                         []                      |
+     gpe-go             |                         []                      |
+     gpe-login          |                         []       []             |
+     gpe-ownerinfo      |                         []       []             |
+     gpe-sketchbook     |                         []       []             |
+     gpe-su             |                         []       []             |
+     gpe-taskmanager    |                         []       []             |
+     gpe-timesheet      |                         []                      |
+     gpe-today          |                         []       []             |
+     gpe-todo           |                         []       []             |
+     gphoto2            |                         []    [] []        []   |
+     gprof              |                               [] []             |
+     gpsdrive           |                                  ()    ()       |
+     gramadoir          | []                               []             |
+     grep               | []          [] []    []          [] []          |
+     gretl              |                                                 |
+     gsasl              |                                  []             |
+     gss                |                                                 |
+     gst-plugins        | []       []          [] []       []        []   |
+     gstreamer          | []                   [] []       []        []   |
+     gtick              | []                               ()             |
+     gtkspell           |             []                   [] []          |
+     hello              |                      []       [] [] []          |
+     id-utils           |                               [] []             |
+     impost             |                                                 |
+     indent             |                      []          []             |
+     iso_3166           |                                                 |
+     iso_3166_1         |                      [] []    [] [] []          |
+     iso_3166_2         |                                                 |
+     iso_3166_3         |                                  []             |
+     iso_4217           |                                                 |
+     iso_639            |                                                 |
+     jpilot             |                         []                      |
+     jtag               |                                                 |
+     jwhois             |                                                 |
+     kbd                |                         []    [] [] []          |
+     latrine            |                                  ()             |
+     ld                 |                               []                |
+     libc               |                      [] []    [] [] []          |
+     libextractor       |                                                 |
+     libgpewidget       |                         []    [] []             |
+     libgsasl           |                                                 |
+     libiconv           | []                   []       [] [] []          |
+     libidn             |                                                 |
+     lifelines          |                               [] ()             |
+     lilypond           |                                  []             |
+     lingoteach         |                                                 |
+     lynx               |                      [] []    [] []             |
+     m4                 |                         []    [] [] []          |
+     mailutils          |                      []                         |
+     make               |                               [] []             |
+     man-db             |                      [] ()    [] []             |
+     minicom            |                         []       []             |
+     mysecretdiary      |                               [] []             |
+     nano               |                      [] ()       []             |
+     nano_1_0           |                      [] ()    [] []             |
+     opcodes            |                                  []             |
+     parted             |                      [] []    [] []             |
+     psmisc             |                                                 |
+     ptx                |                      []       [] []             |
+     pwdutils           |                                                 |
+     python             |                                                 |
+     radius             |                      []                         |
+     recode             |             []       []       [] [] []          |
+     rpm                |                         []    []                |
+     screem             |                                                 |
+     scrollkeeper       |          [] []       [] [] [] [] []        []   |
+     sed                |                      []          []             |
+     sh-utils           |                               [] []             |
+     shared-mime-info   |                         [] []                   |
+     sharutils          |                      [] []    [] [] []          |
+     silky              |                                  ()             |
+     skencil            |                               [] ()             |
+     sketch             |                               [] ()             |
+     solfege            |                                  []             |
+     soundtracker       |                               [] []             |
+     sp                 |                                  []             |
+     stardict           |                         []                      |
+     tar                |                                                 |
+     texinfo            |                               [] []             |
+     textutils          |                      []       [] []             |
+     tin                |                                  ()        ()   |
+     tp-robot           |                                  []             |
+     tuxpaint           | []                   [] []    [] [] []     []   |
+     unicode-han-tra... |                                                 |
+     unicode-transla... |                                                 |
+     util-linux         |                      [] []    [] []             |
+     vorbis-tools       |             []          []    []           []   |
+     wastesedge         |                                  ()             |
+     wdiff              |                      []       [] []        []   |
+     wget               |                []    []       [] [] []     []   |
+     xchat              |                      []          [] []     []   |
+     xkeyboard-config   |                                                 |
+     xpad               |                                                 |
+                        +-------------------------------------------------+
+                          af am ar az be bg bs ca cs cy da de el en en_GB
+                          10  0  0  2  7  4  0 42 43  3 53 92 21  1  15
+
+                          eo es et eu fa fi fr  ga gl he hr hu id is it
+                        +-----------------------------------------------+
+     GNUnet             |                                               |
+     a2ps               |       []       [] []                       () |
+     aegis              |                                               |
+     ant-phone          |                   []                          |
+     anubis             |                   []                          |
+     ap-utils           |                   []                          |
+     aspell             |                   []  []                      |
+     bash               | [] []             []              []          |
+     batchelor          |                   []  []                      |
+     bfd                |    []             []                          |
+     bibshelf           |    []                 []                   [] |
+     binutils           |    []             []                          |
+     bison              |    [] []          []  []             []    [] |
+     bluez-pin          | []             [] []  []          [] []       |
+     clisp              |    []             []                          |
+     console-tools      |                                               |
+     coreutils          |    [] []       [] []  []                      |
+     cpio               |    []             []                          |
+     cpplib             |    []             []                          |
+     darkstat           |    []             ()  []          [] []       |
+     dialog             |    [] [] []    [] []  []          []       [] |
+     diffutils          | [] []          [] []  [] [] []    [] []    [] |
+     doodle             |                       []                   [] |
+     e2fsprogs          |    []             []                       [] |
+     enscript           |                   []           []             |
+     error              |    []          [] []  []          []          |
+     fetchmail          |    []                                         |
+     fileutils          |    [] []          []  []          []       [] |
+     findutils          |    [] []          []  []                   [] |
+     flex               |    []             []  []                      |
+     fslint             |                   []                          |
+     gas                |    []             []                          |
+     gawk               |    []             []        []                |
+     gbiff              |                   []                          |
+     gcal               |    []             []                          |
+     gcc                |    []                                         |
+     gettext-examples   |    []             []  []                   [] |
+     gettext-runtime    |    []          [] []  []             []    [] |
+     gettext-tools      |    []             []                          |
+     gimp-print         |    []             []                          |
+     gip                |    []    []       []                          |
+     gliv               |                   ()                          |
+     glunarclock        |                []     []          []          |
+     gmult              |          []       []                       [] |
+     gnubiff            |                   ()                       () |
+     gnucash            |    []                             ()       [] |
+     gnucash-glossary   |    []                                      [] |
+     gnupg              | [] [] []       [] []     []          []    [] |
+     gpe-aerial         |    []             []                          |
+     gpe-beam           |    []             []                          |
+     gpe-calendar       |    []             []              [] []       |
+     gpe-clock          |    []          [] []                          |
+     gpe-conf           |                   []                          |
+     gpe-contacts       |                   []                          |
+     gpe-edit           |                   []                 []       |
+     gpe-go             |    []             []                          |
+     gpe-login          |    []             []              []          |
+     gpe-ownerinfo      |    []          [] []              [] []       |
+     gpe-sketchbook     |    []             []                          |
+     gpe-su             |    []          [] []                          |
+     gpe-taskmanager    |    []          [] []                          |
+     gpe-timesheet      |    []             []  []             []       |
+     gpe-today          |    []          [] []  []                      |
+     gpe-todo           |    []             []                 []       |
+     gphoto2            |    []          [] []              []       [] |
+     gprof              |    []             []                 []       |
+     gpsdrive           |    ()             ()              []       () |
+     gramadoir          |                   []  []                      |
+     grep               |    [] [] []    [] []  [] [] [] [] [] []    [] |
+     gretl              |    []             []                       [] |
+     gsasl              |          []       []  []                      |
+     gss                |                   []                          |
+     gst-plugins        |                   []              []       [] |
+     gstreamer          |                                            [] |
+     gtick              |          []    [] []  []                   [] |
+     gtkspell           | [] []    []       []  []                   [] |
+     hello              | [] [] [] [] [] [] []  [] [] [] [] [] []    [] |
+     id-utils           |                   []              [] []    [] |
+     impost             |                   []  []                      |
+     indent             | [] [] [] []    [] []  [] []       [] []    [] |
+     iso_3166           | []                []                          |
+     iso_3166_1         |    []    []       []  []          [] []       |
+     iso_3166_2         |                   []                          |
+     iso_3166_3         |                   []                          |
+     iso_4217           |       []                 []                   |
+     iso_639            | []          []    []                          |
+     jpilot             |    []             []                          |
+     jtag               |                   []                          |
+     jwhois             |    []             []              [] []    [] |
+     kbd                |    []             []                          |
+     latrine            |                   []  []                   [] |
+     ld                 |    []             []                          |
+     libc               |    []          [] []     []       []          |
+     libextractor       |                                               |
+     libgpewidget       |    []             []  []          [] []       |
+     libgsasl           |                   []  []                      |
+     libiconv           | [] [] []       [] []  [] []    [] [] []    [] |
+     libidn             |                   []                       [] |
+     lifelines          |                   ()                          |
+     lilypond           |                   []                          |
+     lingoteach         |                   []                 []    [] |
+     lynx               |       []                          []       [] |
+     m4                 |                   []  [] []          []       |
+     mailutils          |    []             []                          |
+     make               |    []          [] []  [] [] [] []             |
+     man-db             |    ()                                         |
+     minicom            |    []          [] []              []          |
+     mysecretdiary      |    []             []                 []       |
+     nano               |    []    []    () []                       [] |
+     nano_1_0           |    []             []     []          []    [] |
+     opcodes            |    []             []                          |
+     parted             |    []             []     []                [] |
+     psmisc             |          []                                [] |
+     ptx                | [] [] []       [] []  [] []       [] []       |
+     pwdutils           |                                               |
+     python             |                                               |
+     radius             |    []             []                          |
+     recode             | [] []             []     [] []    [] []    [] |
+     rpm                |                   []                          |
+     screem             |                                               |
+     scrollkeeper       |    []                             []          |
+     sed                |    [] []          []  []          []          |
+     sh-utils           |    [] []       [] []  []          []       [] |
+     shared-mime-info   | [] []    []    [] []              []          |
+     sharutils          |    [] []       [] []     []       []       [] |
+     silky              |                () []              ()       () |
+     skencil            |    []             []                          |
+     sketch             |    []             []                          |
+     solfege            |                                            [] |
+     soundtracker       |    []             []                       [] |
+     sp                 |                   []                          |
+     stardict           |                                   []          |
+     tar                |    [] []          []  []                   [] |
+     texinfo            | []                []        []                |
+     textutils          |    []             []  [] []       []          |
+     tin                |       []          ()                          |
+     tp-robot           |                   []              []          |
+     tuxpaint           |    []          [] []  []    []    [] [] [] [] |
+     unicode-han-tra... |                                               |
+     unicode-transla... |                   []  []                      |
+     util-linux         |    [] []       [] []              []       [] |
+     vorbis-tools       |    []             []                          |
+     wastesedge         |                   ()                          |
+     wdiff              |    [] []          []  [] []       [] []    [] |
+     wget               |    [] [] []    [] []  [] []    [] []       [] |
+     xchat              |    []    []    [] []                       [] |
+     xkeyboard-config   |                                               |
+     xpad               |    []                 []          []          |
+                        +-----------------------------------------------+
+                          eo es et eu fa fi fr  ga gl he hr hu id is it
+                          14 86 22 15  2 31 117 44 18  8  6 40 28  1 45
+
+                          ja ko lg lt lv mk mn ms mt nb nl nn no nso or
+                        +-----------------------------------------------+
+     GNUnet             |                                               |
+     a2ps               |    ()                []       []    ()        |
+     aegis              |                               ()              |
+     ant-phone          |                               []              |
+     anubis             |                      []    [] []              |
+     ap-utils           |                                               |
+     aspell             |                   []          []              |
+     bash               |                               []              |
+     batchelor          |                               []              |
+     bfd                |                                               |
+     bibshelf           |                                               |
+     binutils           | []                                            |
+     bison              |                      []    [] []              |
+     bluez-pin          |                               []              |
+     clisp              |                               []              |
+     console-tools      |                                               |
+     coreutils          | []                            []              |
+     cpio               |                                               |
+     cpplib             |                                               |
+     darkstat           |                      []       []              |
+     dialog             |                               []              |
+     diffutils          | []                   []       []              |
+     doodle             |                                               |
+     e2fsprogs          |                                               |
+     enscript           |                               []              |
+     error              |                               []              |
+     fetchmail          | []                            []              |
+     fileutils          | []    []                                      |
+     findutils          |                                               |
+     flex               |    []                         []              |
+     fslint             |                               []              |
+     gas                |                                               |
+     gawk               | []                            []              |
+     gbiff              |                               []              |
+     gcal               |                                               |
+     gcc                |                                               |
+     gettext-examples   | []                            []              |
+     gettext-runtime    | [] []                         []              |
+     gettext-tools      | [] []                                         |
+     gimp-print         | []                            []              |
+     gip                |                               []              |
+     gliv               |                               []              |
+     glunarclock        |                      []       []              |
+     gmult              | []                                            |
+     gnubiff            |                                               |
+     gnucash            | ()                         () []              |
+     gnucash-glossary   |                               []              |
+     gnupg              | []                            []              |
+     gpe-aerial         |                               []              |
+     gpe-beam           |                               []              |
+     gpe-calendar       |                               []              |
+     gpe-clock          |                               []              |
+     gpe-conf           |                               []              |
+     gpe-contacts       |                                               |
+     gpe-edit           |                               []              |
+     gpe-go             |                               []              |
+     gpe-login          |                               []              |
+     gpe-ownerinfo      |                               []              |
+     gpe-sketchbook     |                               []              |
+     gpe-su             |                               []              |
+     gpe-taskmanager    |                               []              |
+     gpe-timesheet      |                               []              |
+     gpe-today          |                               []              |
+     gpe-todo           |                               []              |
+     gphoto2            | []                            []              |
+     gprof              |                                               |
+     gpsdrive           | ()                            ()    ()        |
+     gramadoir          |                               ()              |
+     grep               | []                         [] []              |
+     gretl              |                                               |
+     gsasl              |                               []              |
+     gss                |                                               |
+     gst-plugins        |                               []           [] |
+     gstreamer          |                               []              |
+     gtick              |                               []              |
+     gtkspell           |                   []          []              |
+     hello              | [] []       []       []    [] [] [] []        |
+     id-utils           |                               []              |
+     impost             |                                               |
+     indent             | []                            []              |
+     iso_3166           |                               []              |
+     iso_3166_1         |                               []    []        |
+     iso_3166_2         |                               []              |
+     iso_3166_3         |                               []              |
+     iso_4217           | []                []          []              |
+     iso_639            | []                            [] []           |
+     jpilot             | ()                            ()    ()        |
+     jtag               |                                               |
+     jwhois             |                               []              |
+     kbd                |                               []              |
+     latrine            |                               []              |
+     ld                 |                                               |
+     libc               | [] []                      [] []    []        |
+     libextractor       |                                               |
+     libgpewidget       |                               []              |
+     libgsasl           |                               []              |
+     libiconv           |                               []              |
+     libidn             |                                               |
+     lifelines          |                               []              |
+     lilypond           |                               []              |
+     lingoteach         |                               []              |
+     lynx               | []                            []              |
+     m4                 | []                            []              |
+     mailutils          |                                               |
+     make               | [] []                         []              |
+     man-db             | ()                                            |
+     minicom            | []                                            |
+     mysecretdiary      |                               []              |
+     nano               |                      []    []                 |
+     nano_1_0           |                      []    []    []           |
+     opcodes            |                               []              |
+     parted             | []                               []           |
+     psmisc             |                            [] []              |
+     ptx                |                            [] []    []        |
+     pwdutils           |                                               |
+     python             |                                               |
+     radius             |                                               |
+     recode             |                               []              |
+     rpm                | [] []                                         |
+     screem             | []                                            |
+     scrollkeeper       |                            [] [] []           |
+     sed                | []                            []              |
+     sh-utils           | []                         []                 |
+     shared-mime-info   |    []                      [] [] []           |
+     sharutils          | []                            []              |
+     silky              |                               []              |
+     skencil            |                                               |
+     sketch             |                                               |
+     solfege            |                               []    []        |
+     soundtracker       |                                               |
+     sp                 | ()                                            |
+     stardict           |                []             []              |
+     tar                | []                            []              |
+     texinfo            | []                         [] []              |
+     textutils          | [] []                      []                 |
+     tin                |                                               |
+     tp-robot           |                               []              |
+     tuxpaint           | [] []    []          []       [] []           |
+     unicode-han-tra... |                                               |
+     unicode-transla... |                                               |
+     util-linux         | []                            []              |
+     vorbis-tools       |                               []              |
+     wastesedge         |                               []              |
+     wdiff              |                      []    []                 |
+     wget               | []                            []              |
+     xchat              |    []       [] []             []              |
+     xkeyboard-config   |                               []              |
+     xpad               |                               []              |
+                        +-----------------------------------------------+
+                          ja ko lg lt lv mk mn ms mt nb nl nn no nso or
+                          35 11  1  1  2  2  3 11  0 15 96  7  5  0   1
+
+                          pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta
+                        +----------------------------------------------+
+     GNUnet             |                                              |
+     a2ps               |    ()     []      [] []       []    [] []    |
+     aegis              |                   () ()                      |
+     ant-phone          |                   []                         |
+     anubis             |    []             [] []                      |
+     ap-utils           |    ()                                        |
+     aspell             |                   [] []                      |
+     bash               |           []      [] []                      |
+     batchelor          |                   []                         |
+     bfd                |                   []                   []    |
+     bibshelf           |                                              |
+     binutils           |                      []                []    |
+     bison              |    []     []      [] []                []    |
+     bluez-pin          |    []     []   [] [] []    []       [] []    |
+     clisp              |                      []                      |
+     console-tools      |                      []                      |
+     coreutils          |    []                []       []       []    |
+     cpio               |    []                                  []    |
+     cpplib             |                                              |
+     darkstat           |    []     []      []       []       [] []    |
+     dialog             |    [] []  []   [] [] []                      |
+     diffutils          |    []     []      [] []             [] []    |
+     doodle             |                                  []          |
+     e2fsprogs          |    []                                  []    |
+     enscript           |           []      [] []                []    |
+     error              |           []      []       []                |
+     fetchmail          |    []     ()         []    []    []          |
+     fileutils          |    []             [] []       []       []    |
+     findutils          |    [] []          []       []       [] []    |
+     flex               |    []     []      [] []                []    |
+     fslint             |           []      []                []       |
+     gas                |                                              |
+     gawk               |    []     []      []                   []    |
+     gbiff              |                   []                         |
+     gcal               |                                        []    |
+     gcc                |                                              |
+     gettext-examples   |    []             [] []    []       [] []    |
+     gettext-runtime    |    []             [] []    [] []    [] []    |
+     gettext-tools      |    []             [] []    [] []    [] []    |
+     gimp-print         |                            []          []    |
+     gip                |                []          []       []       |
+     gliv               |           []      []       []                |
+     glunarclock        |           []      [] []    []       [] []    |
+     gmult              |           []   [] []                []       |
+     gnubiff            |                   ()                   []    |
+     gnucash            |    () []             []    []          []    |
+     gnucash-glossary   |       []                   []          []    |
+     gnupg              |                   []       []          []    |
+     gpe-aerial         |       []  []      [] []             [] []    |
+     gpe-beam           |       []  []      [] []             [] []    |
+     gpe-calendar       |       []  []      [] []    []       [] []    |
+     gpe-clock          |       []  []      [] []    []       [] []    |
+     gpe-conf           |       []  []      [] []    []          []    |
+     gpe-contacts       |                   [] []                []    |
+     gpe-edit           |       []  []      [] []    []       [] []    |
+     gpe-go             |           []      [] []             [] []    |
+     gpe-login          |       []  []      [] []    []       [] []    |
+     gpe-ownerinfo      |       []  []      [] []    []       [] []    |
+     gpe-sketchbook     |       []  []      [] []    []       [] []    |
+     gpe-su             |       []  []      [] []    []       [] []    |
+     gpe-taskmanager    |       []  []      [] []    []       [] []    |
+     gpe-timesheet      |       []  []      [] []    []       [] []    |
+     gpe-today          |       []  []      [] []    []       [] []    |
+     gpe-todo           |       []  []      [] []    []       [] []    |
+     gphoto2            |                   []       []       [] []    |
+     gprof              |           []      []                   []    |
+     gpsdrive           |                   []                         |
+     gramadoir          |                            []                |
+     grep               |    [] []  []      [] []       []    []       |
+     gretl              |    []                                        |
+     gsasl              |    []             []             [] [] []    |
+     gss                |    []             []                   []    |
+     gst-plugins        |                                  [] [] []    |
+     gstreamer          |                      []          [] [] []    |
+     gtick              |                   [] []                []    |
+     gtkspell           |           []   [] []       []       []       |
+     hello              |    []     []      [] []    []       [] []    |
+     id-utils           |           []      [] []                []    |
+     impost             |                                              |
+     indent             |           []      [] []    []       [] []    |
+     iso_3166           |       []                []       [] [] []    |
+     iso_3166_1         |                            [] [] [] []       |
+     iso_3166_2         |                                              |
+     iso_3166_3         |                   []    []          []       |
+     iso_4217           |                         []          []       |
+     iso_639            |                         []          [] []    |
+     jpilot             |                                              |
+     jtag               |                            []                |
+     jwhois             |    []     []      [] ()                ()    |
+     kbd                |    []             []                   []    |
+     latrine            |                   []                   []    |
+     ld                 |                                        []    |
+     libc               |    []     []         []    []          []    |
+     libextractor       |                   []                         |
+     libgpewidget       |       []  []      []       []       [] []    |
+     libgsasl           |    []             []                []       |
+     libiconv           |    []     []   [] [] []    [] [] [] [] []    |
+     libidn             |    []                                  ()    |
+     lifelines          |    []                                  []    |
+     lilypond           |                                        []    |
+     lingoteach         |           []                                 |
+     lynx               |           []         []                []    |
+     m4                 |    []     []      [] []                []    |
+     mailutils          |    []             [] []                      |
+     make               |    []     []         []                []    |
+     man-db             |                   []                   []    |
+     minicom            |    []     []      [] []                      |
+     mysecretdiary      |           []      []                   []    |
+     nano               |           []      []                   []    |
+     nano_1_0           |    []             [] []                []    |
+     opcodes            |                   []                   []    |
+     parted             |    [] []  []                           []    |
+     psmisc             |    []             []                         |
+     ptx                |    [] []  []      [] []                []    |
+     pwdutils           |    []                                        |
+     python             |                                              |
+     radius             |    []                []                      |
+     recode             |    []     []      [] []       []       []    |
+     rpm                |    [] []             []                []    |
+     screem             |                                              |
+     scrollkeeper       |    []             [] []    []    [] [] []    |
+     sed                |    [] []  []      [] []    []       [] []    |
+     sh-utils           |                      []       []    []       |
+     shared-mime-info   |       []  []                     [] [] []    |
+     sharutils          |                      []             [] []    |
+     silky              |                      ()    []                |
+     skencil            |       []  []                           []    |
+     sketch             |       []  []                           []    |
+     solfege            |                                              |
+     soundtracker       |                            []          []    |
+     sp                 |                                              |
+     stardict           |                      []    []                |
+     tar                |    []             [] []                []    |
+     texinfo            |    []             [] []                []    |
+     textutils          |                      []       []       []    |
+     tin                |                                              |
+     tp-robot           |                      []                      |
+     tuxpaint           |    [] []  []      []       []    [] [] []    |
+     unicode-han-tra... |                                              |
+     unicode-transla... |                                              |
+     util-linux         |           []         []                []    |
+     vorbis-tools       |                   [] []                      |
+     wastesedge         |                                              |
+     wdiff              |    []     []      [] []    []          []    |
+     wget               |    [] []  []      [] []    [] []    [] []    |
+     xchat              |                      []    [] [] [] [] []    |
+     xkeyboard-config   |                                              |
+     xpad               |                                              |
+                        +----------------------------------------------+
+                          pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta
+                           0 48 30  58    6 81 69  4 46 13 12 50 88  0
+
+                          tg th tk tr uk ven vi wa xh zh_CN zh_TW zu
+                        +--------------------------------------------+
+     GNUnet             |                                            |  0
+     a2ps               |          [] []                             | 18
+     aegis              |                                            |  0
+     ant-phone          |          []                                |  4
+     anubis             |          []                                |  9
+     ap-utils           |             ()                             |  1
+     aspell             |             []     [] []                   | 13
+     bash               |                                            | 10
+     batchelor          |          []        []                      |  7
+     bfd                |          []                                |  6
+     bibshelf           |                    []                      |  5
+     binutils           |          []                  []            |  8
+     bison              |          []                                | 17
+     bluez-pin          |          [] []     [] []     []            | 24
+     clisp              |                                            |  7
+     console-tools      |          []                                |  4
+     coreutils          |          []                                | 16
+     cpio               |          []                                |  5
+     cpplib             |          []        []                      |  7
+     darkstat           |                    []        ()    ()      | 15
+     dialog             |             []     []                      | 23
+     diffutils          |          []                  []    []      | 27
+     doodle             |                                            |  4
+     e2fsprogs          |          []                                |  8
+     enscript           |          []                                | 12
+     error              |          []                        []      | 15
+     fetchmail          |          []                                | 12
+     fileutils          |          []                  []    []      | 18
+     findutils          |          []        []                      | 16
+     flex               |          []                                | 14
+     fslint             |                    []                      |  7
+     gas                |          []                                |  3
+     gawk               |          []                                | 13
+     gbiff              |                                            |  4
+     gcal               |          []                                |  5
+     gcc                |          []                                |  3
+     gettext-examples   |          [] []     []        []            | 20
+     gettext-runtime    |          [] []     []        []    []      | 25
+     gettext-tools      |          [] []               []            | 16
+     gimp-print         |             []                             | 11
+     gip                |                    []                      |  8
+     gliv               |          []                                |  6
+     glunarclock        |                    [] []                   | 14
+     gmult              |          []        []        []            | 13
+     gnubiff            |                    []                      |  3
+     gnucash            |          ()                        []      | 10
+     gnucash-glossary   |                                    []      |  8
+     gnupg              |          []                  []    []      | 19
+     gpe-aerial         |                    []        []            | 13
+     gpe-beam           |                    []        []            | 13
+     gpe-calendar       |                    [] []     []    []      | 18
+     gpe-clock          |                    [] []     []            | 16
+     gpe-conf           |                    []        []            | 12
+     gpe-contacts       |                    []        []            |  6
+     gpe-edit           |                    [] []           []      | 14
+     gpe-go             |                    []                      | 10
+     gpe-login          |                    [] []     []    []      | 17
+     gpe-ownerinfo      |                    []        []    []      | 18
+     gpe-sketchbook     |                    []                      | 13
+     gpe-su             |                    []        []            | 15
+     gpe-taskmanager    |                    []        []            | 15
+     gpe-timesheet      |                    []        []    []      | 16
+     gpe-today          |                    [] []     []    []      | 18
+     gpe-todo           |                    [] []           []      | 16
+     gphoto2            |             []               []            | 17
+     gprof              |          []        []                      | 10
+     gpsdrive           |                                            |  2
+     gramadoir          |                    []                      |  6
+     grep               |          [] []     []              []      | 32
+     gretl              |                                            |  4
+     gsasl              |                    []        []            | 12
+     gss                |                    []                      |  5
+     gst-plugins        |             []     []                      | 16
+     gstreamer          |          [] []     []                      | 14
+     gtick              |                    []                      | 11
+     gtkspell           |                    [] []     []            | 19
+     hello              |          [] []     []        []            | 37
+     id-utils           |          []        []                      | 13
+     impost             |                    []                      |  3
+     indent             |          []        []        []            | 24
+     iso_3166           |       [] []                                | 10
+     iso_3166_1         |          []           []                   | 19
+     iso_3166_2         |                                            |  2
+     iso_3166_3         |                       []     []            |  8
+     iso_4217           |          []                                |  8
+     iso_639            |                       []                   | 10
+     jpilot             |          [] []               []            |  6
+     jtag               |                                            |  2
+     jwhois             |          []        []              []      | 12
+     kbd                |          []                                | 11
+     latrine            |          []        []                      |  8
+     ld                 |          []                                |  5
+     libc               |          []                  []            | 22
+     libextractor       |                                            |  1
+     libgpewidget       |                    [] []                   | 17
+     libgsasl           |                    []                      |  7
+     libiconv           |          [] []     [] []     []            | 32
+     libidn             |                    []                      |  4
+     lifelines          |                                            |  4
+     lilypond           |          []                                |  5
+     lingoteach         |                                            |  5
+     lynx               |          [] []                             | 14
+     m4                 |                    []        []            | 17
+     mailutils          |             []                             |  7
+     make               |          []                  []            | 18
+     man-db             |                                            |  5
+     minicom            |                                            | 11
+     mysecretdiary      |          []        []                      | 11
+     nano               |                                            | 11
+     nano_1_0           |          [] []                             | 17
+     opcodes            |          []                                |  7
+     parted             |          [] []               []            | 17
+     psmisc             |                    []                      |  7
+     ptx                |          []                  []            | 23
+     pwdutils           |                                            |  1
+     python             |                                            |  0
+     radius             |             []                             |  6
+     recode             |          []        []                      | 22
+     rpm                |          [] []                             | 11
+     screem             |                                            |  1
+     scrollkeeper       |          [] []                             | 22
+     sed                |          []        []                      | 19
+     sh-utils           |          []                                | 15
+     shared-mime-info   |             []               []            | 19
+     sharutils          |          []        []              []      | 20
+     silky              |                                            |  3
+     skencil            |                                            |  6
+     sketch             |                                            |  6
+     solfege            |                                            |  4
+     soundtracker       |          []                                |  8
+     sp                 |          []                                |  3
+     stardict           |             []     []        []    []      | 10
+     tar                |          [] []                             | 13
+     texinfo            |          []                  []            | 14
+     textutils          |          []                  []    []      | 17
+     tin                |                                            |  1
+     tp-robot           |                              []    []      |  7
+     tuxpaint           |          []        [] []     []            | 34
+     unicode-han-tra... |                                            |  0
+     unicode-transla... |                                            |  2
+     util-linux         |          [] []                             | 17
+     vorbis-tools       |             []                             | 10
+     wastesedge         |                                            |  1
+     wdiff              |          []        []                      | 22
+     wget               |          [] []               []    []      | 31
+     xchat              |             []     []        []            | 22
+     xkeyboard-config   |                                            |  1
+     xpad               |                    []                      |  5
+                        +--------------------------------------------+
+       71 teams           tg th tk tr uk ven vi wa xh zh_CN zh_TW zu
+      148 domains          0  0  1 69 29  0  61 16  0  42    21    0  1704
 
    Some counters in the preceding matrix are higher than the number of
 visible blocks let us expect.  This is because a few extra PO files are
@@ -599,15 +965,15 @@ distributed as such by its maintainer.  There might be an observable
 lag between the mere existence a PO file and its wide availability in a
 distribution.
 
-   If May 2003 seems to be old, you may fetch a more recent copy of
+   If March 2005 seems to be old, you may fetch a more recent copy of
 this `ABOUT-NLS' file on most GNU archive sites.  The most up-to-date
 matrix with full percentage details can be found at
 `http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
 
-Using `gettext' in new packages
-===============================
+1.6 Using `gettext' in new packages
+===================================
 
-   If you are writing a freely available program and want to
+If you are writing a freely available program and want to
 internationalize it you are welcome to use GNU `gettext' in your
 package.  Of course you have to respect the GNU Library General Public
 License which covers the use of the GNU `gettext' library.  This means
index 9595c3b2837c0713febdc014d72617f90ce4851f..0e873a8161993afd2dfafe537579800403953114 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,111 @@
+2005-05-23  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * man/Makefile.am: remove shadow-man-pages.pot target from all.
+
+2005-05-19  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * lib/encrypt.c, NEWS:
+       fixed passwd segfault in non-PAM connfiguration (submited by Greg Schafer <gschafer@zip.com.au>).
+
+       * po/sv.po: upsdate (by Christian Perrier <bubulle@debian.org>).
+
+       * NEWS, src/newgrp.c:
+       fixed NULL pointer dereference - getlogin() and ttyname() can
+       return NULL which is not checked (http://bugs.debian.org/162303).
+
+       * man/pwconv.8.xml, man/su.1, man/su.1.xml, man/pwconv.8:
+       fixed typo (s,similiar,similar,).
+
+2005-05-14  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * NEWS, po/ro.po: updated by Sorin B. <sorin@bonbon.net>.
+
+       * po/ru.po, NEWS: updated by yu-koz <yu-koz@yandex.ru>.
+
+2005-05-13  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * po/ro.po: few updates by Sorin Batariuc <sorin@bonbon.net>.
+
+2005-05-12  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * po/ru.po: updated (by Yuri Kozlov <yuray@id.ru>).
+
+2005-05-10  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * po/vi.po:
+       completed translations for HEAD (by Clytie Siddall <clytie@riverland.net.au>).
+
+2005-05-09  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * NEWS, po/LINGUAS, po/vi.po: added new vi translation.
+
+       * NEWS, lib/getdef.c:
+       leaves the table as it is, and changes from the binary search to
+       a sequential one (fix by Lucas Correia Villa Real <lucasvr@gobolinux.org>).
+
+       * man/passwd.1, man/passwd.1.xml: make bold passwd and chfn commands.
+
+2005-04-28  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * man/usermod.8.xml, man/vipw.8.xml: cleanups.
+
+2005-04-27  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * man/gpasswd.1.xml, man/groups.1.xml, man/grpck.8.xml, man/login.defs.5.xml, man/passwd.1.xml, man/pwck.8.xml, man/shadowconfig.8.xml, man/sulogin.8.xml, man/useradd.8.xml:
+       replace <emphasis remap='B'></emphasis> by <command></command>.
+
+       * po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po, NEWS, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, src/lastlog.c:
+       fixed lastlog --help message (s,--login,--user,) http://bugs.debian.org/249611
+
+       * man/faillog.5.xml, man/faillog.8.xml, man/gpasswd.1.xml, man/groupadd.8.xml, man/groupdel.8.xml, man/groupmems.8.xml, man/groupmod.8.xml, man/groups.1.xml, man/grpck.8.xml, man/gshadow.5.xml, man/id.1.xml, man/lastlog.8.xml, man/limits.5.xml, man/mkpasswd.8.xml, man/passwd.1.xml, man/passwd.5.xml, man/porttime.5.xml, man/pwck.8.xml, man/shadow.3.xml, man/shadow.5.xml, man/su.1.xml, man/suauth.5.xml, man/sulogin.8.xml, man/useradd.8.xml, man/userdel.8.xml, man/usermod.8.xml:
+       use <varlistentry></varlistentry> in FILES section. Cleanups.
+
+       * man/expiry.1.xml, man/chsh.1.xml, man/chpasswd.8.xml, man/chfn.1.xml, man/porttime.5.xml, man/pw_auth.3.xml:
+       cleanups.
+
+       * man/vipw.8, man/vipw.8.xml:
+       small fix: s,vi,vi(1), (reported by Helge Kreutzmann <kreutzm@itp.uni-hannover.de> in
+       http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=260636).
+       s,VISUAL,$VISUAL; s,EDITOR,$EDITOR,
+
+2005-04-26  Tomasz K³oczko  <kloczek@pld.org.pl>
+
+       * man/login.1.xml: fixed bold (use <command></command>). Cleanups.
+
+       * man/login.1: fixed typo in bold.
+
+       * man/chage.1.xml: fixed italic. Cleanups.
+
+       * man/chage.1: fixed typo in italic.
+
+       * man/login.defs.5.xml:
+       fixed italic (use <filename></filename> istead italic). Cleanups.
+
+       * man/login.defs.5: fixed typo in italic.
+
+       * man/vipw.8.xml: fixed italic (use <filename></filename>).
+
+       * man/vipw.8: typo in italic.
+
+       * man/Makefile.am:
+       added target for generate shadow-man-pages.pot. List all now useable xml files
+       in man_XMANS variable.
+
+       * man/pwconv.8.xml:
+       fixed bold. Use in more places <command></command> istead bold.
+
+       * man/login.defs.5: typo in bold.
+
+       * man/su.1.xml:
+       removed comment. Use <variablelist></variablelist> in Files secstion.
+       Fixed bold.
+
+       * man/pwconv.8, man/su.1: typo in bold.
+
 2005-04-25  Tomasz K³oczko  <kloczek@pld.org.pl>
 
+       * NEWS, configure.in: start work on 4.0.9.
+
        * po/nl.po: kill fuzzy.
 
        * man/chage.1:
index 513096cfff500a817afd449a06def03e7c676524..d08f5698961b0a752a83ae6bc0cb78cf233d7b5a 100644 (file)
@@ -42,7 +42,11 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
        config.sub depcomp install-sh ltmain.sh missing mkinstalldirs
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -195,6 +199,7 @@ AUTOMAKE_OPTIONS = 1.5 dist-bzip2 foreign
 SUBDIRS = po man libmisc lib src \
        contrib doc etc
 
+ACLOCAL_AMFLAGS = -I m4
 all: config.h
        $(MAKE) $(AM_MAKEFLAGS) all-recursive
 
@@ -397,7 +402,7 @@ distclean-tags:
 distdir: $(DISTFILES)
        $(am__remove_distdir)
        mkdir $(distdir)
-       $(mkdir_p) $(distdir)/. $(distdir)/po
+       $(mkdir_p) $(distdir)/. $(distdir)/m4 $(distdir)/po
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
diff --git a/NEWS b/NEWS
index cfd5d067e342a85d185c23f168cd3ea64e3c07c1..0f02777b9270c40089b16afeaeb3b98f74e22715 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,17 @@
-$Id: NEWS,v 1.147 2005/04/25 10:39:48 kloczek Exp $
+$Id: NEWS,v 1.155 2005/05/19 12:05:02 kloczek Exp $
+
+shadow-4.0.8 -> shadow-4.0.9
+
+*** general:
+- passwd: fixed segfault in non-PAM connfiguration
+  (submited by Greg Schafer <gschafer@zip.com.au>),
+- newgrp: fixed NULL pointer dereference - getlogin() and ttyname() can
+  return NULL which is not checked (http://bugs.debian.org/162303),
+- updated translations: ro, ru,
+- added new translations: vi,
+- lib/getdef.c: leaves the table as it is, and changes from the binary search to
+  a sequential one (Lucas Correia Villa Real <lucasvr@gobolinux.org>),
+- lastlog: fixed --help message (s,--login,--user,) http://bugs.debian.org/249611.
 
 shadow-4.0.7 -> shadow-4.0.8
 
index 287770e15472cba528fa1a4c3d351e8e60b688db..a0f499352ba36e04616daf5cb19ec47d4aa76049 100644 (file)
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
-# gettext.m4 serial 36 (gettext-0.14.3)
-dnl Copyright (C) 1995-2005 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-dnl Macro to add for using GNU gettext.
-
-dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
-dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
-dnl    default (if it is not specified or empty) is 'no-libtool'.
-dnl    INTLSYMBOL should be 'external' for packages with no intl directory,
-dnl    and 'no-libtool' or 'use-libtool' for packages with an intl directory.
-dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
-dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
-dnl    depending on --{enable,disable}-{shared,static} and on the presence of
-dnl    AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
-dnl    $(top_builddir)/intl/libintl.a will be created.
-dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
-dnl    implementations (in libc or libintl) without the ngettext() function
-dnl    will be ignored.  If NEEDSYMBOL is specified and is
-dnl    'need-formatstring-macros', then GNU gettext implementations that don't
-dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
-dnl INTLDIR is used to find the intl libraries.  If empty,
-dnl    the value `$(top_builddir)/intl/' is used.
-dnl
-dnl The result of the configuration is one of three cases:
-dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
-dnl    and used.
-dnl    Catalog format: GNU --> install in $(datadir)
-dnl    Catalog extension: .mo after installation, .gmo in source tree
-dnl 2) GNU gettext has been found in the system's C library.
-dnl    Catalog format: GNU --> install in $(datadir)
-dnl    Catalog extension: .mo after installation, .gmo in source tree
-dnl 3) No internationalization, always use English msgid.
-dnl    Catalog format: none
-dnl    Catalog extension: none
-dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
-dnl The use of .gmo is historical (it was needed to avoid overwriting the
-dnl GNU format catalogs when building on a platform with an X/Open gettext),
-dnl but we keep it in order not to force irrelevant filename changes on the
-dnl maintainers.
-dnl
-AC_DEFUN([AM_GNU_GETTEXT],
-[
-  dnl Argument checking.
-  ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
-    [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
-])])])])])
-  ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
-    [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
-])])])])
-  define([gt_included_intl], ifelse([$1], [external], [no], [yes]))
-  define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
-
-  AC_REQUIRE([AM_PO_SUBDIRS])dnl
-  ifelse(gt_included_intl, yes, [
-    AC_REQUIRE([AM_INTL_SUBDIR])dnl
-  ])
-
-  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-
-  dnl Sometimes libintl requires libiconv, so first search for libiconv.
-  dnl Ideally we would do this search only after the
-  dnl      if test "$USE_NLS" = "yes"; then
-  dnl        if test "$gt_cv_func_gnugettext_libc" != "yes"; then
-  dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
-  dnl the configure script would need to contain the same shell code
-  dnl again, outside any 'if'. There are two solutions:
-  dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
-  dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
-  dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
-  dnl documented, we avoid it.
-  ifelse(gt_included_intl, yes, , [
-    AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-  ])
-
-  dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation.
-  gt_INTL_MACOSX
-
-  dnl Set USE_NLS.
-  AM_NLS
-
-  ifelse(gt_included_intl, yes, [
-    BUILD_INCLUDED_LIBINTL=no
-    USE_INCLUDED_LIBINTL=no
-  ])
-  LIBINTL=
-  LTLIBINTL=
-  POSUB=
-
-  dnl If we use NLS figure out what method
-  if test "$USE_NLS" = "yes"; then
-    gt_use_preinstalled_gnugettext=no
-    ifelse(gt_included_intl, yes, [
-      AC_MSG_CHECKING([whether included gettext is requested])
-      AC_ARG_WITH(included-gettext,
-        [  --with-included-gettext use the GNU gettext library included here],
-        nls_cv_force_use_gnu_gettext=$withval,
-        nls_cv_force_use_gnu_gettext=no)
-      AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
-
-      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
-      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
-    ])
-        dnl User does not insist on using GNU NLS library.  Figure out what
-        dnl to use.  If GNU gettext is available we use this.  Else we have
-        dnl to fall back to GNU NLS library.
-
-        dnl Add a version number to the cache macros.
-        define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
-        define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
-        define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
-
-        AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
-         [AC_TRY_LINK([#include <libintl.h>
-]ifelse([$2], [need-formatstring-macros],
-[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-changequote(,)dnl
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-], [])[extern int _nl_msg_cat_cntr;
-extern int *_nl_domain_bindings;],
-            [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
-            gt_cv_func_gnugettext_libc=yes,
-            gt_cv_func_gnugettext_libc=no)])
-
-        if test "$gt_cv_func_gnugettext_libc" != "yes"; then
-          dnl Sometimes libintl requires libiconv, so first search for libiconv.
-          ifelse(gt_included_intl, yes, , [
-            AM_ICONV_LINK
-          ])
-          dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
-          dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
-          dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
-          dnl even if libiconv doesn't exist.
-          AC_LIB_LINKFLAGS_BODY([intl])
-          AC_CACHE_CHECK([for GNU gettext in libintl],
-            gt_cv_func_gnugettext_libintl,
-           [gt_save_CPPFLAGS="$CPPFLAGS"
-            CPPFLAGS="$CPPFLAGS $INCINTL"
-            gt_save_LIBS="$LIBS"
-            LIBS="$LIBS $LIBINTL"
-            dnl Now see whether libintl exists and does not depend on libiconv.
-            AC_TRY_LINK([#include <libintl.h>
-]ifelse([$2], [need-formatstring-macros],
-[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-changequote(,)dnl
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-], [])[extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);],
-              [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
-              gt_cv_func_gnugettext_libintl=yes,
-              gt_cv_func_gnugettext_libintl=no)
-            dnl Now see whether libintl exists and depends on libiconv.
-            if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
-              LIBS="$LIBS $LIBICONV"
-              AC_TRY_LINK([#include <libintl.h>
-]ifelse([$2], [need-formatstring-macros],
-[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-changequote(,)dnl
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-], [])[extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);],
-                [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
-               [LIBINTL="$LIBINTL $LIBICONV"
-                LTLIBINTL="$LTLIBINTL $LTLIBICONV"
-                gt_cv_func_gnugettext_libintl=yes
-               ])
-            fi
-            CPPFLAGS="$gt_save_CPPFLAGS"
-            LIBS="$gt_save_LIBS"])
-        fi
-
-        dnl If an already present or preinstalled GNU gettext() is found,
-        dnl use it.  But if this macro is used in GNU gettext, and GNU
-        dnl gettext is already preinstalled in libintl, we update this
-        dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
-        if test "$gt_cv_func_gnugettext_libc" = "yes" \
-           || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
-                && test "$PACKAGE" != gettext-runtime \
-                && test "$PACKAGE" != gettext-tools; }; then
-          gt_use_preinstalled_gnugettext=yes
-        else
-          dnl Reset the values set by searching for libintl.
-          LIBINTL=
-          LTLIBINTL=
-          INCINTL=
-        fi
-
-    ifelse(gt_included_intl, yes, [
-        if test "$gt_use_preinstalled_gnugettext" != "yes"; then
-          dnl GNU gettext is not found in the C library.
-          dnl Fall back on included GNU gettext library.
-          nls_cv_use_gnu_gettext=yes
-        fi
-      fi
-
-      if test "$nls_cv_use_gnu_gettext" = "yes"; then
-        dnl Mark actions used to generate GNU NLS library.
-        BUILD_INCLUDED_LIBINTL=yes
-        USE_INCLUDED_LIBINTL=yes
-        LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
-        LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
-        LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
-      fi
-
-      CATOBJEXT=
-      if test "$gt_use_preinstalled_gnugettext" = "yes" \
-         || test "$nls_cv_use_gnu_gettext" = "yes"; then
-        dnl Mark actions to use GNU gettext tools.
-        CATOBJEXT=.gmo
-      fi
-    ])
-
-    if test -n "$INTL_MACOSX_LIBS"; then
-      if test "$gt_use_preinstalled_gnugettext" = "yes" \
-         || test "$nls_cv_use_gnu_gettext" = "yes"; then
-        dnl Some extra flags are needed during linking.
-        LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
-        LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
-      fi
-    fi
-
-    if test "$gt_use_preinstalled_gnugettext" = "yes" \
-       || test "$nls_cv_use_gnu_gettext" = "yes"; then
-      AC_DEFINE(ENABLE_NLS, 1,
-        [Define to 1 if translation of program messages to the user's native language
-   is requested.])
-    else
-      USE_NLS=no
-    fi
-  fi
-
-  AC_MSG_CHECKING([whether to use NLS])
-  AC_MSG_RESULT([$USE_NLS])
-  if test "$USE_NLS" = "yes"; then
-    AC_MSG_CHECKING([where the gettext function comes from])
-    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
-      if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
-        gt_source="external libintl"
-      else
-        gt_source="libc"
-      fi
-    else
-      gt_source="included intl directory"
-    fi
-    AC_MSG_RESULT([$gt_source])
-  fi
-
-  if test "$USE_NLS" = "yes"; then
-
-    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
-      if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
-        AC_MSG_CHECKING([how to link with libintl])
-        AC_MSG_RESULT([$LIBINTL])
-        AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
-      fi
-
-      dnl For backward compatibility. Some packages may be using this.
-      AC_DEFINE(HAVE_GETTEXT, 1,
-       [Define if the GNU gettext() function is already present or preinstalled.])
-      AC_DEFINE(HAVE_DCGETTEXT, 1,
-       [Define if the GNU dcgettext() function is already present or preinstalled.])
-    fi
-
-    dnl We need to process the po/ directory.
-    POSUB=po
-  fi
-
-  ifelse(gt_included_intl, yes, [
-    dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
-    dnl to 'yes' because some of the testsuite requires it.
-    if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
-      BUILD_INCLUDED_LIBINTL=yes
-    fi
-
-    dnl Make all variables we use known to autoconf.
-    AC_SUBST(BUILD_INCLUDED_LIBINTL)
-    AC_SUBST(USE_INCLUDED_LIBINTL)
-    AC_SUBST(CATOBJEXT)
-
-    dnl For backward compatibility. Some configure.ins may be using this.
-    nls_cv_header_intl=
-    nls_cv_header_libgt=
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    DATADIRNAME=share
-    AC_SUBST(DATADIRNAME)
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    INSTOBJEXT=.mo
-    AC_SUBST(INSTOBJEXT)
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    GENCAT=gencat
-    AC_SUBST(GENCAT)
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    INTLOBJS=
-    if test "$USE_INCLUDED_LIBINTL" = yes; then
-      INTLOBJS="\$(GETTOBJS)"
-    fi
-    AC_SUBST(INTLOBJS)
-
-    dnl Enable libtool support if the surrounding package wishes it.
-    INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
-    AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
-  ])
-
-  dnl For backward compatibility. Some Makefiles may be using this.
-  INTLLIBS="$LIBINTL"
-  AC_SUBST(INTLLIBS)
-
-  dnl Make all documented variables known to autoconf.
-  AC_SUBST(LIBINTL)
-  AC_SUBST(LTLIBINTL)
-  AC_SUBST(POSUB)
-])
-
-
-dnl Checks for all prerequisites of the intl subdirectory,
-dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
-dnl            USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
-AC_DEFUN([AM_INTL_SUBDIR],
-[
-  AC_REQUIRE([AC_PROG_INSTALL])dnl
-  AC_REQUIRE([AM_MKINSTALLDIRS])dnl
-  AC_REQUIRE([AC_PROG_CC])dnl
-  AC_REQUIRE([AC_CANONICAL_HOST])dnl
-  AC_REQUIRE([gt_GLIBC2])dnl
-  AC_REQUIRE([AC_PROG_RANLIB])dnl
-  AC_REQUIRE([AC_ISC_POSIX])dnl
-  AC_REQUIRE([AC_HEADER_STDC])dnl
-  AC_REQUIRE([AC_C_CONST])dnl
-  AC_REQUIRE([bh_C_SIGNED])dnl
-  AC_REQUIRE([AC_C_INLINE])dnl
-  AC_REQUIRE([AC_TYPE_OFF_T])dnl
-  AC_REQUIRE([AC_TYPE_SIZE_T])dnl
-  AC_REQUIRE([gl_AC_TYPE_LONG_LONG])dnl
-  AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl
-  AC_REQUIRE([gt_TYPE_WCHAR_T])dnl
-  AC_REQUIRE([gt_TYPE_WINT_T])dnl
-  AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
-  AC_REQUIRE([gl_AC_HEADER_STDINT_H])
-  AC_REQUIRE([gt_TYPE_INTMAX_T])
-  AC_REQUIRE([gt_PRINTF_POSIX])
-  AC_REQUIRE([AC_FUNC_ALLOCA])dnl
-  AC_REQUIRE([AC_FUNC_MMAP])dnl
-  AC_REQUIRE([gl_GLIBC21])dnl
-  AC_REQUIRE([gt_INTDIV0])dnl
-  AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl
-  AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
-  AC_REQUIRE([gt_INTTYPES_PRI])dnl
-  AC_REQUIRE([gl_XSIZE])dnl
-  AC_REQUIRE([gt_INTL_MACOSX])dnl
-
-  AC_CHECK_TYPE([ptrdiff_t], ,
-    [AC_DEFINE([ptrdiff_t], [long],
-       [Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
-    ])
-  AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
-stdlib.h string.h unistd.h sys/param.h])
-  AC_CHECK_FUNCS([asprintf fwprintf getcwd getegid geteuid getgid getuid \
-mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup \
-strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \
-__fsetlocking])
-
-  dnl Use the _snprintf function only if it is declared (because on NetBSD it
-  dnl is defined as a weak alias of snprintf; we prefer to use the latter).
-  gt_CHECK_DECL(_snprintf, [#include <stdio.h>])
-  gt_CHECK_DECL(_snwprintf, [#include <stdio.h>])
-
-  dnl Use the *_unlocked functions only if they are declared.
-  dnl (because some of them were defined without being declared in Solaris
-  dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
-  dnl on Solaris 2.5.1 to run on Solaris 2.6).
-  dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
-  gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])
-  gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])
-  gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
-
-  case $gt_cv_func_printf_posix in
-    *yes) HAVE_POSIX_PRINTF=1 ;;
-    *) HAVE_POSIX_PRINTF=0 ;;
-  esac
-  AC_SUBST([HAVE_POSIX_PRINTF])
-  if test "$ac_cv_func_asprintf" = yes; then
-    HAVE_ASPRINTF=1
-  else
-    HAVE_ASPRINTF=0
-  fi
-  AC_SUBST([HAVE_ASPRINTF])
-  if test "$ac_cv_func_snprintf" = yes; then
-    HAVE_SNPRINTF=1
-  else
-    HAVE_SNPRINTF=0
-  fi
-  AC_SUBST([HAVE_SNPRINTF])
-  if test "$ac_cv_func_wprintf" = yes; then
-    HAVE_WPRINTF=1
-  else
-    HAVE_WPRINTF=0
-  fi
-  AC_SUBST([HAVE_WPRINTF])
-
-  AM_ICONV
-  AM_LANGINFO_CODESET
-  if test $ac_cv_header_locale_h = yes; then
-    gt_LC_MESSAGES
-  fi
-
-  if test -n "$INTL_MACOSX_LIBS"; then
-    CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers"
-  fi
-
-  dnl intl/plural.c is generated from intl/plural.y. It requires bison,
-  dnl because plural.y uses bison specific features. It requires at least
-  dnl bison-1.26 because earlier versions generate a plural.c that doesn't
-  dnl compile.
-  dnl bison is only needed for the maintainer (who touches plural.y). But in
-  dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
-  dnl the rule in general Makefile. Now, some people carelessly touch the
-  dnl files or have a broken "make" program, hence the plural.c rule will
-  dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
-  dnl present or too old.
-  AC_CHECK_PROGS([INTLBISON], [bison])
-  if test -z "$INTLBISON"; then
-    ac_verc_fail=yes
-  else
-    dnl Found it, now check the version.
-    AC_MSG_CHECKING([version of bison])
-changequote(<<,>>)dnl
-    ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
-    case $ac_prog_version in
-      '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
-      1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
-changequote([,])dnl
-         ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
-      *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
-    esac
-    AC_MSG_RESULT([$ac_prog_version])
-  fi
-  if test $ac_verc_fail = yes; then
-    INTLBISON=:
-  fi
-])
-
-
-dnl Checks for special options needed on MacOS X.
-dnl Defines INTL_MACOSX_LIBS.
-AC_DEFUN([gt_INTL_MACOSX],
-[
-  dnl Check for API introduced in MacOS X 10.2.
-  AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
-    gt_cv_func_CFPreferencesCopyAppValue,
-    [gt_save_CPPFLAGS="$CPPFLAGS"
-     CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers"
-     gt_save_LIBS="$LIBS"
-     LIBS="$LIBS -framework CoreFoundation"
-     AC_TRY_LINK([#include <CFPreferences.h>],
-       [CFPreferencesCopyAppValue(NULL, NULL)],
-       [gt_cv_func_CFPreferencesCopyAppValue=yes],
-       [gt_cv_func_CFPreferencesCopyAppValue=no])
-     CPPFLAGS="$gt_save_CPPFLAGS"
-     LIBS="$gt_save_LIBS"])
-  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
-    AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1,
-      [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
-  fi
-  dnl Check for API introduced in MacOS X 10.3.
-  AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent,
-    [gt_save_CPPFLAGS="$CPPFLAGS"
-     CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers"
-     gt_save_LIBS="$LIBS"
-     LIBS="$LIBS -framework CoreFoundation"
-     AC_TRY_LINK([#include <CFLocale.h>], [CFLocaleCopyCurrent();],
-       [gt_cv_func_CFLocaleCopyCurrent=yes],
-       [gt_cv_func_CFLocaleCopyCurrent=no])
-     CPPFLAGS="$gt_save_CPPFLAGS"
-     LIBS="$gt_save_LIBS"])
-  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
-    AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1,
-      [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
-  fi
-  INTL_MACOSX_LIBS=
-  if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
-    INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
-  fi
-  AC_SUBST([INTL_MACOSX_LIBS])
-])
-
-
-dnl gt_CHECK_DECL(FUNC, INCLUDES)
-dnl Check whether a function is declared.
-AC_DEFUN([gt_CHECK_DECL],
-[
-  AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1,
-    [AC_TRY_COMPILE([$2], [
-#ifndef $1
-  char *p = (char *) $1;
-#endif
-], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)])
-  if test $ac_cv_have_decl_$1 = yes; then
-    gt_value=1
-  else
-    gt_value=0
-  fi
-  AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],
-    [Define to 1 if you have the declaration of `$1', and to 0 if you don't.])
-])
-
-
-dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
-AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
-
-# iconv.m4 serial AM4 (gettext-0.11.3)
-dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
-[
-  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-
-  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
-  dnl accordingly.
-  AC_LIB_LINKFLAGS_BODY([iconv])
-])
-
-AC_DEFUN([AM_ICONV_LINK],
-[
-  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
-  dnl those with the standalone portable GNU libiconv installed).
-
-  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
-  dnl accordingly.
-  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-
-  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
-  dnl because if the user has installed libiconv and not disabled its use
-  dnl via --without-libiconv-prefix, he wants to use it. The first
-  dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
-  am_save_CPPFLAGS="$CPPFLAGS"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
-
-  AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
-    am_cv_func_iconv="no, consider installing GNU libiconv"
-    am_cv_lib_iconv=no
-    AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
-      [iconv_t cd = iconv_open("","");
-       iconv(cd,NULL,NULL,NULL,NULL);
-       iconv_close(cd);],
-      am_cv_func_iconv=yes)
-    if test "$am_cv_func_iconv" != yes; then
-      am_save_LIBS="$LIBS"
-      LIBS="$LIBS $LIBICONV"
-      AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
-        [iconv_t cd = iconv_open("","");
-         iconv(cd,NULL,NULL,NULL,NULL);
-         iconv_close(cd);],
-        am_cv_lib_iconv=yes
-        am_cv_func_iconv=yes)
-      LIBS="$am_save_LIBS"
-    fi
-  ])
-  if test "$am_cv_func_iconv" = yes; then
-    AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
-  fi
-  if test "$am_cv_lib_iconv" = yes; then
-    AC_MSG_CHECKING([how to link with libiconv])
-    AC_MSG_RESULT([$LIBICONV])
-  else
-    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
-    dnl either.
-    CPPFLAGS="$am_save_CPPFLAGS"
-    LIBICONV=
-    LTLIBICONV=
-  fi
-  AC_SUBST(LIBICONV)
-  AC_SUBST(LTLIBICONV)
-])
-
-AC_DEFUN([AM_ICONV],
-[
-  AM_ICONV_LINK
-  if test "$am_cv_func_iconv" = yes; then
-    AC_MSG_CHECKING([for iconv declaration])
-    AC_CACHE_VAL(am_cv_proto_iconv, [
-      AC_TRY_COMPILE([
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
-], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
-      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
-    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
-    AC_MSG_RESULT([$]{ac_t:-
-         }[$]am_cv_proto_iconv)
-    AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
-      [Define as const if the declaration of iconv() needs const.])
-  fi
-])
-
-# lib-ld.m4 serial 3 (gettext-0.13)
-dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Subroutines of libtool.m4,
-dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
-dnl with libtool.m4.
-
-dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
-AC_DEFUN([AC_LIB_PROG_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  acl_cv_prog_gnu_ld=yes ;;
-*)
-  acl_cv_prog_gnu_ld=no ;;
-esac])
-with_gnu_ld=$acl_cv_prog_gnu_ld
-])
-
-dnl From libtool-1.4. Sets the variable LD.
-AC_DEFUN([AC_LIB_PROG_LD],
-[AC_ARG_WITH(gnu-ld,
-[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
-test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  AC_MSG_CHECKING([for ld used by GCC])
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [[\\/]* | [A-Za-z]:[\\/]*)]
-      [re_direlt='/[^/][^/]*/\.\./']
-      # Canonicalize the path of ld
-      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  AC_MSG_CHECKING([for GNU ld])
-else
-  AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(acl_cv_path_LD,
-[if test -z "$LD"; then
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      acl_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break ;;
-      *)
-       test "$with_gnu_ld" != yes && break ;;
-      esac
-    fi
-  done
-  IFS="$ac_save_ifs"
-else
-  acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
-  AC_MSG_RESULT($LD)
-else
-  AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_LIB_PROG_LD_GNU
-])
-
-# lib-link.m4 serial 6 (gettext-0.14.3)
-dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_PREREQ(2.50)
-
-dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
-dnl augments the CPPFLAGS variable.
-AC_DEFUN([AC_LIB_LINKFLAGS],
-[
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-  define([Name],[translit([$1],[./-], [___])])
-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
-    AC_LIB_LINKFLAGS_BODY([$1], [$2])
-    ac_cv_lib[]Name[]_libs="$LIB[]NAME"
-    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
-    ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
-  ])
-  LIB[]NAME="$ac_cv_lib[]Name[]_libs"
-  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
-  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-  AC_SUBST([LIB]NAME)
-  AC_SUBST([LTLIB]NAME)
-  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
-  dnl results of this search when this library appears as a dependency.
-  HAVE_LIB[]NAME=yes
-  undefine([Name])
-  undefine([NAME])
-])
-
-dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
-dnl searches for libname and the libraries corresponding to explicit and
-dnl implicit dependencies, together with the specified include files and
-dnl the ability to compile and link the specified testcode. If found, it
-dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
-dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
-dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
-dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
-AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
-[
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-  define([Name],[translit([$1],[./-], [___])])
-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-
-  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
-  dnl accordingly.
-  AC_LIB_LINKFLAGS_BODY([$1], [$2])
-
-  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
-  dnl because if the user has installed lib[]Name and not disabled its use
-  dnl via --without-lib[]Name-prefix, he wants to use it.
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-
-  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
-    ac_save_LIBS="$LIBS"
-    LIBS="$LIBS $LIB[]NAME"
-    AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
-    LIBS="$ac_save_LIBS"
-  ])
-  if test "$ac_cv_lib[]Name" = yes; then
-    HAVE_LIB[]NAME=yes
-    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
-    AC_MSG_CHECKING([how to link with lib[]$1])
-    AC_MSG_RESULT([$LIB[]NAME])
-  else
-    HAVE_LIB[]NAME=no
-    dnl If $LIB[]NAME didn't lead to a usable library, we don't need
-    dnl $INC[]NAME either.
-    CPPFLAGS="$ac_save_CPPFLAGS"
-    LIB[]NAME=
-    LTLIB[]NAME=
-  fi
-  AC_SUBST([HAVE_LIB]NAME)
-  AC_SUBST([LIB]NAME)
-  AC_SUBST([LTLIB]NAME)
-  undefine([Name])
-  undefine([NAME])
-])
-
-dnl Determine the platform dependent parameters needed to use rpath:
-dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
-dnl hardcode_direct, hardcode_minus_L.
-AC_DEFUN([AC_LIB_RPATH],
-[
-  dnl Tell automake >= 1.10 to complain if config.rpath is missing.
-  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
-  AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
-  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
-  AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
-  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
-  AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
-    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
-    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
-    . ./conftest.sh
-    rm -f ./conftest.sh
-    acl_cv_rpath=done
-  ])
-  wl="$acl_cv_wl"
-  libext="$acl_cv_libext"
-  shlibext="$acl_cv_shlibext"
-  hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
-  hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
-  hardcode_direct="$acl_cv_hardcode_direct"
-  hardcode_minus_L="$acl_cv_hardcode_minus_L"
-  dnl Determine whether the user wants rpath handling at all.
-  AC_ARG_ENABLE(rpath,
-    [  --disable-rpath         do not hardcode runtime library paths],
-    :, enable_rpath=yes)
-])
-
-dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
-AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
-[
-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-  dnl By default, look in $includedir and $libdir.
-  use_additional=yes
-  AC_LIB_WITH_FINAL_PREFIX([
-    eval additional_includedir=\"$includedir\"
-    eval additional_libdir=\"$libdir\"
-  ])
-  AC_LIB_ARG_WITH([lib$1-prefix],
-[  --with-lib$1-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
-  --without-lib$1-prefix     don't search for lib$1 in includedir and libdir],
-[
-    if test "X$withval" = "Xno"; then
-      use_additional=no
-    else
-      if test "X$withval" = "X"; then
-        AC_LIB_WITH_FINAL_PREFIX([
-          eval additional_includedir=\"$includedir\"
-          eval additional_libdir=\"$libdir\"
-        ])
-      else
-        additional_includedir="$withval/include"
-        additional_libdir="$withval/lib"
-      fi
-    fi
-])
-  dnl Search the library and its dependencies in $additional_libdir and
-  dnl $LDFLAGS. Using breadth-first-seach.
-  LIB[]NAME=
-  LTLIB[]NAME=
-  INC[]NAME=
-  rpathdirs=
-  ltrpathdirs=
-  names_already_handled=
-  names_next_round='$1 $2'
-  while test -n "$names_next_round"; do
-    names_this_round="$names_next_round"
-    names_next_round=
-    for name in $names_this_round; do
-      already_handled=
-      for n in $names_already_handled; do
-        if test "$n" = "$name"; then
-          already_handled=yes
-          break
-        fi
-      done
-      if test -z "$already_handled"; then
-        names_already_handled="$names_already_handled $name"
-        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
-        dnl or AC_LIB_HAVE_LINKFLAGS call.
-        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
-        eval value=\"\$HAVE_LIB$uppername\"
-        if test -n "$value"; then
-          if test "$value" = yes; then
-            eval value=\"\$LIB$uppername\"
-            test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
-            eval value=\"\$LTLIB$uppername\"
-            test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
-          else
-            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
-            dnl that this library doesn't exist. So just drop it.
-            :
-          fi
-        else
-          dnl Search the library lib$name in $additional_libdir and $LDFLAGS
-          dnl and the already constructed $LIBNAME/$LTLIBNAME.
-          found_dir=
-          found_la=
-          found_so=
-          found_a=
-          if test $use_additional = yes; then
-            if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
-              found_dir="$additional_libdir"
-              found_so="$additional_libdir/lib$name.$shlibext"
-              if test -f "$additional_libdir/lib$name.la"; then
-                found_la="$additional_libdir/lib$name.la"
-              fi
-            else
-              if test -f "$additional_libdir/lib$name.$libext"; then
-                found_dir="$additional_libdir"
-                found_a="$additional_libdir/lib$name.$libext"
-                if test -f "$additional_libdir/lib$name.la"; then
-                  found_la="$additional_libdir/lib$name.la"
-                fi
-              fi
-            fi
-          fi
-          if test "X$found_dir" = "X"; then
-            for x in $LDFLAGS $LTLIB[]NAME; do
-              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-              case "$x" in
-                -L*)
-                  dir=`echo "X$x" | sed -e 's/^X-L//'`
-                  if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
-                    found_dir="$dir"
-                    found_so="$dir/lib$name.$shlibext"
-                    if test -f "$dir/lib$name.la"; then
-                      found_la="$dir/lib$name.la"
-                    fi
-                  else
-                    if test -f "$dir/lib$name.$libext"; then
-                      found_dir="$dir"
-                      found_a="$dir/lib$name.$libext"
-                      if test -f "$dir/lib$name.la"; then
-                        found_la="$dir/lib$name.la"
-                      fi
-                    fi
-                  fi
-                  ;;
-              esac
-              if test "X$found_dir" != "X"; then
-                break
-              fi
-            done
-          fi
-          if test "X$found_dir" != "X"; then
-            dnl Found the library.
-            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
-            if test "X$found_so" != "X"; then
-              dnl Linking with a shared library. We attempt to hardcode its
-              dnl directory into the executable's runpath, unless it's the
-              dnl standard /usr/lib.
-              if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
-                dnl No hardcoding is needed.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-              else
-                dnl Use an explicit option to hardcode DIR into the resulting
-                dnl binary.
-                dnl Potentially add DIR to ltrpathdirs.
-                dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
-                haveit=
-                for x in $ltrpathdirs; do
-                  if test "X$x" = "X$found_dir"; then
-                    haveit=yes
-                    break
-                  fi
-                done
-                if test -z "$haveit"; then
-                  ltrpathdirs="$ltrpathdirs $found_dir"
-                fi
-                dnl The hardcoding into $LIBNAME is system dependent.
-                if test "$hardcode_direct" = yes; then
-                  dnl Using DIR/libNAME.so during linking hardcodes DIR into the
-                  dnl resulting binary.
-                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                else
-                  if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
-                    dnl Use an explicit option to hardcode DIR into the resulting
-                    dnl binary.
-                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                    dnl Potentially add DIR to rpathdirs.
-                    dnl The rpathdirs will be appended to $LIBNAME at the end.
-                    haveit=
-                    for x in $rpathdirs; do
-                      if test "X$x" = "X$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      rpathdirs="$rpathdirs $found_dir"
-                    fi
-                  else
-                    dnl Rely on "-L$found_dir".
-                    dnl But don't add it if it's already contained in the LDFLAGS
-                    dnl or the already constructed $LIBNAME
-                    haveit=
-                    for x in $LDFLAGS $LIB[]NAME; do
-                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                      if test "X$x" = "X-L$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
-                    fi
-                    if test "$hardcode_minus_L" != no; then
-                      dnl FIXME: Not sure whether we should use
-                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
-                      dnl here.
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                    else
-                      dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
-                      dnl here, because this doesn't fit in flags passed to the
-                      dnl compiler. So give up. No hardcoding. This affects only
-                      dnl very old systems.
-                      dnl FIXME: Not sure whether we should use
-                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
-                      dnl here.
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
-                    fi
-                  fi
-                fi
-              fi
-            else
-              if test "X$found_a" != "X"; then
-                dnl Linking with a static library.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
-              else
-                dnl We shouldn't come here, but anyway it's good to have a
-                dnl fallback.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
-              fi
-            fi
-            dnl Assume the include files are nearby.
-            additional_includedir=
-            case "$found_dir" in
-              */lib | */lib/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
-                additional_includedir="$basedir/include"
-                ;;
-            esac
-            if test "X$additional_includedir" != "X"; then
-              dnl Potentially add $additional_includedir to $INCNAME.
-              dnl But don't add it
-              dnl   1. if it's the standard /usr/include,
-              dnl   2. if it's /usr/local/include and we are using GCC on Linux,
-              dnl   3. if it's already present in $CPPFLAGS or the already
-              dnl      constructed $INCNAME,
-              dnl   4. if it doesn't exist as a directory.
-              if test "X$additional_includedir" != "X/usr/include"; then
-                haveit=
-                if test "X$additional_includedir" = "X/usr/local/include"; then
-                  if test -n "$GCC"; then
-                    case $host_os in
-                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                    esac
-                  fi
-                fi
-                if test -z "$haveit"; then
-                  for x in $CPPFLAGS $INC[]NAME; do
-                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                    if test "X$x" = "X-I$additional_includedir"; then
-                      haveit=yes
-                      break
-                    fi
-                  done
-                  if test -z "$haveit"; then
-                    if test -d "$additional_includedir"; then
-                      dnl Really add $additional_includedir to $INCNAME.
-                      INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
-                    fi
-                  fi
-                fi
-              fi
-            fi
-            dnl Look for dependencies.
-            if test -n "$found_la"; then
-              dnl Read the .la file. It defines the variables
-              dnl dlname, library_names, old_library, dependency_libs, current,
-              dnl age, revision, installed, dlopen, dlpreopen, libdir.
-              save_libdir="$libdir"
-              case "$found_la" in
-                */* | *\\*) . "$found_la" ;;
-                *) . "./$found_la" ;;
-              esac
-              libdir="$save_libdir"
-              dnl We use only dependency_libs.
-              for dep in $dependency_libs; do
-                case "$dep" in
-                  -L*)
-                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                    dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
-                    dnl But don't add it
-                    dnl   1. if it's the standard /usr/lib,
-                    dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
-                    dnl   3. if it's already present in $LDFLAGS or the already
-                    dnl      constructed $LIBNAME,
-                    dnl   4. if it doesn't exist as a directory.
-                    if test "X$additional_libdir" != "X/usr/lib"; then
-                      haveit=
-                      if test "X$additional_libdir" = "X/usr/local/lib"; then
-                        if test -n "$GCC"; then
-                          case $host_os in
-                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                          esac
-                        fi
-                      fi
-                      if test -z "$haveit"; then
-                        haveit=
-                        for x in $LDFLAGS $LIB[]NAME; do
-                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                            dnl Really add $additional_libdir to $LIBNAME.
-                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
-                          fi
-                        fi
-                        haveit=
-                        for x in $LDFLAGS $LTLIB[]NAME; do
-                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                            dnl Really add $additional_libdir to $LTLIBNAME.
-                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
-                          fi
-                        fi
-                      fi
-                    fi
-                    ;;
-                  -R*)
-                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
-                    if test "$enable_rpath" != no; then
-                      dnl Potentially add DIR to rpathdirs.
-                      dnl The rpathdirs will be appended to $LIBNAME at the end.
-                      haveit=
-                      for x in $rpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        rpathdirs="$rpathdirs $dir"
-                      fi
-                      dnl Potentially add DIR to ltrpathdirs.
-                      dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
-                      haveit=
-                      for x in $ltrpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        ltrpathdirs="$ltrpathdirs $dir"
-                      fi
-                    fi
-                    ;;
-                  -l*)
-                    dnl Handle this in the next round.
-                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
-                    ;;
-                  *.la)
-                    dnl Handle this in the next round. Throw away the .la's
-                    dnl directory; it is already contained in a preceding -L
-                    dnl option.
-                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
-                    ;;
-                  *)
-                    dnl Most likely an immediate library name.
-                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
-                    LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
-                    ;;
-                esac
-              done
-            fi
-          else
-            dnl Didn't find the library; assume it is in the system directories
-            dnl known to the linker and runtime loader. (All the system
-            dnl directories known to the linker should also be known to the
-            dnl runtime loader, otherwise the system is severely misconfigured.)
-            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
-            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
-          fi
-        fi
-      fi
-    done
-  done
-  if test "X$rpathdirs" != "X"; then
-    if test -n "$hardcode_libdir_separator"; then
-      dnl Weird platform: only the last -rpath option counts, the user must
-      dnl pass all path elements in one option. We can arrange that for a
-      dnl single library, but not when more than one $LIBNAMEs are used.
-      alldirs=
-      for found_dir in $rpathdirs; do
-        alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
-      done
-      dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
-      acl_save_libdir="$libdir"
-      libdir="$alldirs"
-      eval flag=\"$hardcode_libdir_flag_spec\"
-      libdir="$acl_save_libdir"
-      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
-    else
-      dnl The -rpath options are cumulative.
-      for found_dir in $rpathdirs; do
-        acl_save_libdir="$libdir"
-        libdir="$found_dir"
-        eval flag=\"$hardcode_libdir_flag_spec\"
-        libdir="$acl_save_libdir"
-        LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
-      done
-    fi
-  fi
-  if test "X$ltrpathdirs" != "X"; then
-    dnl When using libtool, the option that works for both libraries and
-    dnl executables is -R. The -R options are cumulative.
-    for found_dir in $ltrpathdirs; do
-      LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
-    done
-  fi
-])
-
-dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
-dnl unless already present in VAR.
-dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
-dnl contains two or three consecutive elements that belong together.
-AC_DEFUN([AC_LIB_APPENDTOVAR],
-[
-  for element in [$2]; do
-    haveit=
-    for x in $[$1]; do
-      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-      if test "X$x" = "X$element"; then
-        haveit=yes
-        break
-      fi
-    done
-    if test -z "$haveit"; then
-      [$1]="${[$1]}${[$1]:+ }$element"
-    fi
-  done
-])
-
-# lib-prefix.m4 serial 4 (gettext-0.14.2)
-dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
-dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
-dnl require excessive bracketing.
-ifdef([AC_HELP_STRING],
-[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
-[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
-
-dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
-dnl to access previously installed libraries. The basic assumption is that
-dnl a user will want packages to use other packages he previously installed
-dnl with the same --prefix option.
-dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
-dnl libraries, but is otherwise very convenient.
-AC_DEFUN([AC_LIB_PREFIX],
-[
-  AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  dnl By default, look in $includedir and $libdir.
-  use_additional=yes
-  AC_LIB_WITH_FINAL_PREFIX([
-    eval additional_includedir=\"$includedir\"
-    eval additional_libdir=\"$libdir\"
-  ])
-  AC_LIB_ARG_WITH([lib-prefix],
-[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
-  --without-lib-prefix    don't search for libraries in includedir and libdir],
-[
-    if test "X$withval" = "Xno"; then
-      use_additional=no
-    else
-      if test "X$withval" = "X"; then
-        AC_LIB_WITH_FINAL_PREFIX([
-          eval additional_includedir=\"$includedir\"
-          eval additional_libdir=\"$libdir\"
-        ])
-      else
-        additional_includedir="$withval/include"
-        additional_libdir="$withval/lib"
-      fi
-    fi
-])
-  if test $use_additional = yes; then
-    dnl Potentially add $additional_includedir to $CPPFLAGS.
-    dnl But don't add it
-    dnl   1. if it's the standard /usr/include,
-    dnl   2. if it's already present in $CPPFLAGS,
-    dnl   3. if it's /usr/local/include and we are using GCC on Linux,
-    dnl   4. if it doesn't exist as a directory.
-    if test "X$additional_includedir" != "X/usr/include"; then
-      haveit=
-      for x in $CPPFLAGS; do
-        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-        if test "X$x" = "X-I$additional_includedir"; then
-          haveit=yes
-          break
-        fi
-      done
-      if test -z "$haveit"; then
-        if test "X$additional_includedir" = "X/usr/local/include"; then
-          if test -n "$GCC"; then
-            case $host_os in
-              linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-            esac
-          fi
-        fi
-        if test -z "$haveit"; then
-          if test -d "$additional_includedir"; then
-            dnl Really add $additional_includedir to $CPPFLAGS.
-            CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
-          fi
-        fi
-      fi
-    fi
-    dnl Potentially add $additional_libdir to $LDFLAGS.
-    dnl But don't add it
-    dnl   1. if it's the standard /usr/lib,
-    dnl   2. if it's already present in $LDFLAGS,
-    dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
-    dnl   4. if it doesn't exist as a directory.
-    if test "X$additional_libdir" != "X/usr/lib"; then
-      haveit=
-      for x in $LDFLAGS; do
-        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-        if test "X$x" = "X-L$additional_libdir"; then
-          haveit=yes
-          break
-        fi
-      done
-      if test -z "$haveit"; then
-        if test "X$additional_libdir" = "X/usr/local/lib"; then
-          if test -n "$GCC"; then
-            case $host_os in
-              linux*) haveit=yes;;
-            esac
-          fi
-        fi
-        if test -z "$haveit"; then
-          if test -d "$additional_libdir"; then
-            dnl Really add $additional_libdir to $LDFLAGS.
-            LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
-          fi
-        fi
-      fi
-    fi
-  fi
-])
-
-dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
-dnl acl_final_exec_prefix, containing the values to which $prefix and
-dnl $exec_prefix will expand at the end of the configure script.
-AC_DEFUN([AC_LIB_PREPARE_PREFIX],
-[
-  dnl Unfortunately, prefix and exec_prefix get only finally determined
-  dnl at the end of configure.
-  if test "X$prefix" = "XNONE"; then
-    acl_final_prefix="$ac_default_prefix"
-  else
-    acl_final_prefix="$prefix"
-  fi
-  if test "X$exec_prefix" = "XNONE"; then
-    acl_final_exec_prefix='${prefix}'
-  else
-    acl_final_exec_prefix="$exec_prefix"
-  fi
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
-  prefix="$acl_save_prefix"
-])
-
-dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
-dnl variables prefix and exec_prefix bound to the values they will have
-dnl at the end of the configure script.
-AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
-[
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  $1
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-])
-
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 
 # serial 47 AC_PROG_LIBTOOL
@@ -1594,7 +123,7 @@ esac
 
 # Sed substitution that helps us do robust quoting.  It backslashifies
 # metacharacters that are still active within double-quoted strings.
-Xsed='sed -e s/^X//'
+Xsed='sed -e 1s/^X//'
 [sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
 
 # Same as above, but do not quote variable references.
@@ -1662,7 +191,7 @@ if test -n "$RANLIB"; then
   old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
 fi
 
-cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+_LT_CC_BASENAME([$compiler])
 
 # Only perform the check for file, if the check method requires it
 case $deplibs_check_method in
@@ -1709,6 +238,48 @@ compiler=$CC
 ])# _LT_AC_SYS_COMPILER
 
 
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+AC_DEFUN([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+  case $cc_temp in
+    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+AC_DEFUN([_LT_COMPILER_BOILERPLATE],
+[ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+AC_DEFUN([_LT_LINKER_BOILERPLATE],
+[ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_LINKER_BOILERPLATE
+
+
 # _LT_AC_SYS_LIBPATH_AIX
 # ----------------------
 # Links a minimal program and checks the executable
@@ -2050,8 +621,10 @@ AC_CACHE_CHECK([$1], [$2],
    echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test ! -s conftest.err; then
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
+     $SED '/^$/d' conftest.err >conftest.er2
+     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
        $2=yes
      fi
    fi
@@ -2082,6 +655,11 @@ AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
      if test -s conftest.err; then
        # Append any errors to the config.log.
        cat conftest.err 1>&AS_MESSAGE_LOG_FD
+       $echo "X$_lt_linker_boilerplate" | $Xsed > conftest.exp
+       $SED '/^$/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         $2=yes
+       fi
      else
        $2=yes
      fi
@@ -2151,6 +729,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
     fi
     # And add a safety zone
     lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     ;;
   osf*)
     # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
@@ -2436,7 +1015,9 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     if test ! -s out/conftest.err; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
+     $SED '/^$/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
      fi
    fi
@@ -4005,6 +2586,10 @@ lt_simple_link_test_code='int main(){return(0);}\n'
 
 _LT_AC_SYS_COMPILER
 
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
 #
 # Check for any special shared library compilation flags.
 #
@@ -4137,6 +2722,10 @@ lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
 
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
 # Allow CC to be a program name with arguments.
 lt_save_CC=$CC
 lt_save_LD=$LD
@@ -4158,7 +2747,7 @@ test -z "${LDCXX+set}" || LD=$LDCXX
 CC=${CXX-"c++"}
 compiler=$CC
 _LT_AC_TAGVAR(compiler, $1)=$CC
-cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+_LT_CC_BASENAME([$compiler])
 
 # We don't want -fno-exception wen compiling C++ code, so set the
 # no_builtin_flag separately
@@ -4419,7 +3008,7 @@ case $host_os in
           fi
             _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       else
-      case "$cc_basename" in
+      case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
@@ -4437,11 +3026,11 @@ case $host_os in
 
   dgux*)
     case $cc_basename in
-      ec++)
+      ec++*)
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
-      ghcx)
+      ghcx*)
        # Green Hills C++ Compiler
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
@@ -4476,11 +3065,11 @@ case $host_os in
                                # location of the library.
 
     case $cc_basename in
-    CC)
+    CC*)
       # FIXME: insert proper C++ library support
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
       ;;
-    aCC)
+    aCC*)
       _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       # Commands to make compiler produce verbose output that lists
       # what "hidden" libraries, object files and flags are used when
@@ -4541,11 +3130,11 @@ case $host_os in
     esac
 
     case $cc_basename in
-      CC)
+      CC*)
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
-      aCC)
+      aCC*)
        case "$host_cpu" in
        hppa*64*|ia64*)
          _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
@@ -4585,9 +3174,9 @@ case $host_os in
     ;;
   irix5* | irix6*)
     case $cc_basename in
-      CC)
+      CC*)
        # SGI C++
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
 
        # Archives containing C++ object files must be created using
        # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
@@ -4598,7 +3187,7 @@ case $host_os in
       *)
        if test "$GXX" = yes; then
          if test "$with_gnu_ld" = no; then
-           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
          else
            _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
          fi
@@ -4611,7 +3200,7 @@ case $host_os in
     ;;
   linux*)
     case $cc_basename in
-      KCC)
+      KCC*)
        # Kuck and Associates, Inc. (KAI) C++ Compiler
 
        # KCC will only create a shared library if the output file
@@ -4636,7 +3225,7 @@ case $host_os in
        # "CC -Bstatic", where "CC" is the KAI C++ compiler.
        _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
        ;;
-      icpc)
+      icpc*)
        # Intel C++
        with_gnu_ld=yes
        # version 8.0 and above of icpc choke on multiply defined symbols
@@ -4661,15 +3250,16 @@ case $host_os in
        _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
        _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
        ;;
-      pgCC)
+      pgCC*)
         # Portland Group C++ compiler
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
 
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
        _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
         ;;
-      cxx)
+      cxx*)
        # Compaq C++
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
@@ -4700,7 +3290,7 @@ case $host_os in
     ;;
   mvs*)
     case $cc_basename in
-      cxx)
+      cxx*)
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
@@ -4739,7 +3329,7 @@ case $host_os in
     ;;
   osf3*)
     case $cc_basename in
-      KCC)
+      KCC*)
        # Kuck and Associates, Inc. (KAI) C++ Compiler
 
        # KCC will only create a shared library if the output file
@@ -4755,14 +3345,14 @@ case $host_os in
        _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
 
        ;;
-      RCC)
+      RCC*)
        # Rational C++ 2.4.1
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
-      cxx)
+      cxx*)
        _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
 
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
        _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -4780,7 +3370,7 @@ case $host_os in
       *)
        if test "$GXX" = yes && test "$with_gnu_ld" = no; then
          _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 
          _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
          _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -4799,7 +3389,7 @@ case $host_os in
     ;;
   osf4* | osf5*)
     case $cc_basename in
-      KCC)
+      KCC*)
        # Kuck and Associates, Inc. (KAI) C++ Compiler
 
        # KCC will only create a shared library if the output file
@@ -4814,17 +3404,17 @@ case $host_os in
        # the KAI C++ compiler.
        _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
        ;;
-      RCC)
+      RCC*)
        # Rational C++ 2.4.1
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
-      cxx)
+      cxx*)
        _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
          echo "-hidden">> $lib.exp~
-         $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~
+         $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
          $rm $lib.exp'
 
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -4843,7 +3433,7 @@ case $host_os in
       *)
        if test "$GXX" = yes && test "$with_gnu_ld" = no; then
          _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 
          _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
          _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -4867,7 +3457,7 @@ case $host_os in
   sco*)
     _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
     case $cc_basename in
-      CC)
+      CC*)
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
@@ -4879,12 +3469,12 @@ case $host_os in
     ;;
   sunos4*)
     case $cc_basename in
-      CC)
+      CC*)
        # Sun C++ 4.x
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
        ;;
-      lcc)
+      lcc*)
        # Lucid
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
@@ -4897,7 +3487,7 @@ case $host_os in
     ;;
   solaris*)
     case $cc_basename in
-      CC)
+      CC*)
        # Sun C++ 4.2, 5.x and Centerline C++
        _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
@@ -4911,9 +3501,13 @@ case $host_os in
          *)
            # The C++ compiler is used as linker so we must use $wl
            # flag to pass the commands to the underlying system
-           # linker.
+           # linker. We must also pass each convience library through
+           # to the system linker between allextract/defaultextract.
+           # The C++ compiler will combine linker options so we
+           # cannot just pass the convience library names through
+           # without $wl.
            # Supported since Solaris 2.6 (maybe 2.5.1?)
-           _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+           _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
            ;;
        esac
        _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
@@ -4934,7 +3528,7 @@ case $host_os in
        # in the archive.
        _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
        ;;
-      gcx)
+      gcx*)
        # Green Hills C++ Compiler
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
 
@@ -4977,7 +3571,7 @@ case $host_os in
     ;;
   tandem*)
     case $cc_basename in
-      NCC)
+      NCC*)
        # NonStop-UX NCC 3.20
        # FIXME: insert proper C++ library support
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
@@ -5209,12 +3803,16 @@ lt_simple_link_test_code="      program t\n      end\n"
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
 
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
 # Allow CC to be a program name with arguments.
 lt_save_CC="$CC"
 CC=${F77-"f77"}
 compiler=$CC
 _LT_AC_TAGVAR(compiler, $1)=$CC
-cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+_LT_CC_BASENAME([$compiler])
 
 AC_MSG_CHECKING([if libtool supports shared libraries])
 AC_MSG_RESULT([$can_build_shared])
@@ -5233,7 +3831,9 @@ aix3*)
   fi
   ;;
 aix4* | aix5*)
-  test "$enable_shared" = yes && enable_static=no
+  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+    test "$enable_shared" = yes && enable_static=no
+  fi
   ;;
 esac
 AC_MSG_RESULT([$enable_shared])
@@ -5289,15 +3889,22 @@ lt_simple_link_test_code='public class conftest { public static void main(String
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
 
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
 # Allow CC to be a program name with arguments.
 lt_save_CC="$CC"
 CC=${GCJ-"gcj"}
 compiler=$CC
 _LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
 
 # GCJ did not exist at the time GCC didn't implicitly link libc in.
 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
 
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
 AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
 AC_LIBTOOL_PROG_COMPILER_PIC($1)
 AC_LIBTOOL_PROG_CC_C_O($1)
@@ -5340,11 +3947,16 @@ lt_simple_link_test_code="$lt_simple_compile_test_code"
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
 
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
 # Allow CC to be a program name with arguments.
 lt_save_CC="$CC"
 CC=${RC-"windres"}
 compiler=$CC
 _LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
 _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
 
 AC_LIBTOOL_CONFIG($1)
@@ -5480,7 +4092,7 @@ ifelse([$1], [],
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -5491,7 +4103,7 @@ ifelse([$1], [],
 SED=$lt_SED
 
 # Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e s/^X//"
+Xsed="$SED -e 1s/^X//"
 
 # The HP-UX ksh and POSIX shell print the target directory to stdout
 # if CDPATH is set.
@@ -5608,7 +4220,7 @@ max_cmd_len=$lt_cv_sys_max_cmd_len
 # Does compiler simultaneously support -c and -o options?
 compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
 
-# Must we lock files when doing compilation ?
+# Must we lock files when doing compilation?
 need_locks=$lt_need_locks
 
 # Do we need the lib prefix for modules?
@@ -6134,7 +4746,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       chorus*)
        case $cc_basename in
-       cxch68)
+       cxch68*)
          # Green Hills C++ Compiler
          # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
          ;;
@@ -6143,7 +4755,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        darwin*)
          # PIC is the default on this platform
          # Common symbols not allowed in MH_DYLIB files
-         case "$cc_basename" in
+         case $cc_basename in
            xlc*)
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
@@ -6152,10 +4764,10 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       dgux*)
        case $cc_basename in
-         ec++)
+         ec++*)
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
            ;;
-         ghcx)
+         ghcx*)
            # Green Hills C++ Compiler
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
            ;;
@@ -6168,14 +4780,14 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       hpux9* | hpux10* | hpux11*)
        case $cc_basename in
-         CC)
+         CC*)
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
            if test "$host_cpu" != ia64; then
              _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
            fi
            ;;
-         aCC)
+         aCC*)
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
            case "$host_cpu" in
@@ -6193,7 +4805,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       irix5* | irix6* | nonstopux*)
        case $cc_basename in
-         CC)
+         CC*)
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
            # CC pic flag -KPIC is the default.
@@ -6204,7 +4816,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       linux*)
        case $cc_basename in
-         KCC)
+         KCC*)
            # KAI C++ Compiler
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
@@ -6215,13 +4827,13 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
            ;;
-         pgCC)
+         pgCC*)
            # Portland Group C++ compiler.
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
            ;;
-         cxx)
+         cxx*)
            # Compaq C++
            # Make sure the PIC flag is empty.  It appears that all Alpha
            # Linux and Compaq Tru64 Unix objects are PIC.
@@ -6238,7 +4850,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       mvs*)
        case $cc_basename in
-         cxx)
+         cxx*)
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
            ;;
          *)
@@ -6249,14 +4861,14 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       osf3* | osf4* | osf5*)
        case $cc_basename in
-         KCC)
+         KCC*)
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
            ;;
-         RCC)
+         RCC*)
            # Rational C++ 2.4.1
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
            ;;
-         cxx)
+         cxx*)
            # Digital/Compaq C++
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            # Make sure the PIC flag is empty.  It appears that all Alpha
@@ -6272,7 +4884,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       sco*)
        case $cc_basename in
-         CC)
+         CC*)
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
            ;;
          *)
@@ -6281,13 +4893,13 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       solaris*)
        case $cc_basename in
-         CC)
+         CC*)
            # Sun C++ 4.2, 5.x and Centerline C++
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
            _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
            ;;
-         gcx)
+         gcx*)
            # Green Hills C++ Compiler
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
            ;;
@@ -6297,12 +4909,12 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       sunos4*)
        case $cc_basename in
-         CC)
+         CC*)
            # Sun C++ 4.x
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
            _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
            ;;
-         lcc)
+         lcc*)
            # Lucid
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
            ;;
@@ -6312,7 +4924,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        ;;
       tandem*)
        case $cc_basename in
-         NCC)
+         NCC*)
            # NonStop-UX NCC 3.20
            _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
            ;;
@@ -6412,7 +5024,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
       darwin*)
         # PIC is the default on this platform
         # Common symbols not allowed in MH_DYLIB files
-       case "$cc_basename" in
+       case $cc_basename in
          xlc*)
          _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
          _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
@@ -6460,7 +5072,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
        _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
         ;;
-      pgcc | pgf77 | pgf90)
+      pgcc* | pgf77* | pgf90*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
        # which looks to be a dead project)
        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
@@ -6487,9 +5099,14 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
       ;;
 
     solaris*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+      *)
+       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+      esac
       ;;
 
     sunos4*)
@@ -6619,7 +5236,8 @@ ifelse([$1],[CXX],[
   # rely on this symbol name, it's probably fine to never include it in
   # preloaded symbol tables.
   extract_expsyms_cmds=
-
+  # Just being paranoid about ensuring that cc_basename is set.
+  _LT_CC_BASENAME([$compiler])
   case $host_os in
   cygwin* | mingw* | pw32*)
     # FIXME: the MSVC++ port hasn't been tested in a loooong time
@@ -6638,7 +5256,28 @@ ifelse([$1],[CXX],[
   if test "$with_gnu_ld" = yes; then
     # If archive_cmds runs LD, not CC, wlarc should be empty
     wlarc='${wl}'
-
+    
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+    
     # See if GNU ld supports shared libraries.
     case $host_os in
     aix3* | aix4* | aix5*)
@@ -6707,6 +5346,36 @@ EOF
       fi
       ;;
 
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+       tmp_addflag=
+       case $cc_basename,$host_cpu in
+       pgcc*)                          # Portland Group C compiler
+         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+         ;;
+       pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
+         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+         tmp_addflag=' -fpic -Mnomain' ;;
+       ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
+         tmp_addflag=' -i_dynamic' ;;
+       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
+         tmp_addflag=' -i_dynamic -nofor_main' ;;
+       ifc* | ifort*)                  # Intel Fortran compiler
+         tmp_addflag=' -nofor_main' ;;
+       esac
+       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+       if test $supports_anon_versioning = yes; then
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+         $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+       fi
+      else
+       _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
     netbsd*)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
        _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
@@ -6745,41 +5414,6 @@ EOF
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       ;;
 
-  linux*)
-    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-      tmp_addflag=
-      case $CC,$host_cpu in
-      pgf77* | pgf90* )                        # Portland Group f77 and f90 compilers
-        tmp_addflag=' -fpic' ;;
-      ecc*,ia64* | icc*,ia64*)         # Intel C compiler on ia64
-        tmp_addflag=' -i_dynamic' ;;
-      efc*,ia64* | ifort*,ia64*)       # Intel Fortran compiler on ia64
-        tmp_addflag=' -i_dynamic -nofor_main' ;;
-      ifc* | ifort*)                   # Intel Fortran compiler
-       tmp_addflag=' -nofor_main' ;;
-      esac
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      supports_anon_versioning=no
-      case `$LD -v 2>/dev/null` in
-        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
-        *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-        *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-        *\ 2.11.*) ;; # other 2.11 versions
-        *) supports_anon_versioning=yes ;;
-      esac
-      if test $supports_anon_versioning = yes; then
-        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
-cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-$echo "local: *; };" >> $output_objdir/$libname.ver~
-        $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-      else
-        _LT_AC_TAGVAR(archive_expsym_cmds, $1)=$_LT_AC_TAGVAR(archive_cmds, $1)
-      fi
-    else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    fi
-    ;;
-
     *)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
@@ -6790,16 +5424,11 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       ;;
     esac
 
-    if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = yes; then
-      runpath_var=LD_RUN_PATH
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-      # ancient GNU ld didn't support --whole-archive et. al.
-      if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-      fi
+    if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
+      runpath_var=
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
     fi
   else
     # PORTME fill in a description of your system's linker (not GNU ld)
@@ -7004,7 +5633,7 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     else
-      case "$cc_basename" in
+      case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
@@ -7207,7 +5836,7 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
        _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
        _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
-       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
+       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
 
        # Both c and cxx compiler support -rpath directly
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -7226,10 +5855,12 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
     solaris*)
       _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
       if test "$GCC" = yes; then
+       wlarc='${wl}'
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
          $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
       else
+       wlarc=''
        _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
        $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
@@ -7238,8 +5869,18 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       case $host_os in
       solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-      *) # Supported since Solaris 2.6 (maybe 2.5.1?)
-       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;;
+      *)
+       # The compiler driver will combine linker options so we
+       # cannot just pass the convience library names through
+       # without $wl, iff we do not link with $LD.
+       # Luckily, gcc supports the same syntax we need for Sun Studio.
+       # Supported since Solaris 2.6 (maybe 2.5.1?)
+       case $wlarc in
+       '')
+         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
+       *)
+         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+       esac ;;
       esac
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
       ;;
@@ -7530,581 +6171,6 @@ SED=$lt_cv_path_SED
 AC_MSG_RESULT([$SED])
 ])
 
-# nls.m4 serial 2 (gettext-0.14.3)
-dnl Copyright (C) 1995-2003, 2005 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-AC_PREREQ(2.50)
-
-AC_DEFUN([AM_NLS],
-[
-  AC_MSG_CHECKING([whether NLS is requested])
-  dnl Default is enabled NLS
-  AC_ARG_ENABLE(nls,
-    [  --disable-nls           do not use Native Language Support],
-    USE_NLS=$enableval, USE_NLS=yes)
-  AC_MSG_RESULT($USE_NLS)
-  AC_SUBST(USE_NLS)
-])
-
-AC_DEFUN([AM_MKINSTALLDIRS],
-[
-  dnl Tell automake >= 1.10 to complain if mkinstalldirs is missing.
-  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([mkinstalldirs])])
-  dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
-  dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
-  dnl Try to locate it.
-  MKINSTALLDIRS=
-  if test -n "$ac_aux_dir"; then
-    case "$ac_aux_dir" in
-      /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
-      *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
-    esac
-  fi
-  if test -z "$MKINSTALLDIRS"; then
-    MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
-  fi
-  AC_SUBST(MKINSTALLDIRS)
-])
-
-# po.m4 serial 7 (gettext-0.14.3)
-dnl Copyright (C) 1995-2005 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-AC_PREREQ(2.50)
-
-dnl Checks for all prerequisites of the po subdirectory.
-AC_DEFUN([AM_PO_SUBDIRS],
-[
-  AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-  AC_REQUIRE([AC_PROG_INSTALL])dnl
-  AC_REQUIRE([AM_MKINSTALLDIRS])dnl
-  AC_REQUIRE([AM_NLS])dnl
-
-  dnl Perform the following tests also if --disable-nls has been given,
-  dnl because they are needed for "make dist" to work.
-
-  dnl Search for GNU msgfmt in the PATH.
-  dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
-  dnl The second test excludes FreeBSD msgfmt.
-  AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
-    [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
-     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
-    :)
-  AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
-
-  dnl Search for GNU xgettext 0.12 or newer in the PATH.
-  dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
-  dnl The second test excludes FreeBSD xgettext.
-  AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
-    [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
-     (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
-    :)
-  dnl Remove leftover from FreeBSD xgettext call.
-  rm -f messages.po
-
-  dnl Search for GNU msgmerge 0.11 or newer in the PATH.
-  AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
-    [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
-
-  dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
-  dnl Test whether we really found GNU msgfmt.
-  if test "$GMSGFMT" != ":"; then
-    dnl If it is no GNU msgfmt we define it as : so that the
-    dnl Makefiles still can work.
-    if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
-       (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
-      : ;
-    else
-      GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
-      AC_MSG_RESULT(
-        [found $GMSGFMT program is not GNU msgfmt; ignore it])
-      GMSGFMT=":"
-    fi
-  fi
-
-  dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
-  dnl Test whether we really found GNU xgettext.
-  if test "$XGETTEXT" != ":"; then
-    dnl If it is no GNU xgettext we define it as : so that the
-    dnl Makefiles still can work.
-    if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
-       (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
-      : ;
-    else
-      AC_MSG_RESULT(
-        [found xgettext program is not GNU xgettext; ignore it])
-      XGETTEXT=":"
-    fi
-    dnl Remove leftover from FreeBSD xgettext call.
-    rm -f messages.po
-  fi
-
-  AC_OUTPUT_COMMANDS([
-    for ac_file in $CONFIG_FILES; do
-      # Support "outfile[:infile[:infile...]]"
-      case "$ac_file" in
-        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-      esac
-      # PO directories have a Makefile.in generated from Makefile.in.in.
-      case "$ac_file" in */Makefile.in)
-        # Adjust a relative srcdir.
-        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-        ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
-        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
-        # In autoconf-2.13 it is called $ac_given_srcdir.
-        # In autoconf-2.50 it is called $srcdir.
-        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
-        case "$ac_given_srcdir" in
-          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
-          /*) top_srcdir="$ac_given_srcdir" ;;
-          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
-        esac
-        # Treat a directory as a PO directory if and only if it has a
-        # POTFILES.in file. This allows packages to have multiple PO
-        # directories under different names or in different locations.
-        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
-          rm -f "$ac_dir/POTFILES"
-          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
-          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[  ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
-          POMAKEFILEDEPS="POTFILES.in"
-          # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
-          # on $ac_dir but don't depend on user-specified configuration
-          # parameters.
-          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
-            # The LINGUAS file contains the set of available languages.
-            if test -n "$OBSOLETE_ALL_LINGUAS"; then
-              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
-            fi
-            ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
-            # Hide the ALL_LINGUAS assigment from automake.
-            eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
-            POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
-          else
-            # The set of available languages was given in configure.in.
-            eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
-          fi
-          # Compute POFILES
-          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
-          # Compute UPDATEPOFILES
-          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
-          # Compute DUMMYPOFILES
-          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
-          # Compute GMOFILES
-          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
-          case "$ac_given_srcdir" in
-            .) srcdirpre= ;;
-            *) srcdirpre='$(srcdir)/' ;;
-          esac
-          POFILES=
-          UPDATEPOFILES=
-          DUMMYPOFILES=
-          GMOFILES=
-          for lang in $ALL_LINGUAS; do
-            POFILES="$POFILES $srcdirpre$lang.po"
-            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
-            DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
-            GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
-          done
-          # CATALOGS depends on both $ac_dir and the user's LINGUAS
-          # environment variable.
-          INST_LINGUAS=
-          if test -n "$ALL_LINGUAS"; then
-            for presentlang in $ALL_LINGUAS; do
-              useit=no
-              if test "%UNSET%" != "$LINGUAS"; then
-                desiredlanguages="$LINGUAS"
-              else
-                desiredlanguages="$ALL_LINGUAS"
-              fi
-              for desiredlang in $desiredlanguages; do
-                # Use the presentlang catalog if desiredlang is
-                #   a. equal to presentlang, or
-                #   b. a variant of presentlang (because in this case,
-                #      presentlang can be used as a fallback for messages
-                #      which are not translated in the desiredlang catalog).
-                case "$desiredlang" in
-                  "$presentlang"*) useit=yes;;
-                esac
-              done
-              if test $useit = yes; then
-                INST_LINGUAS="$INST_LINGUAS $presentlang"
-              fi
-            done
-          fi
-          CATALOGS=
-          if test -n "$INST_LINGUAS"; then
-            for lang in $INST_LINGUAS; do
-              CATALOGS="$CATALOGS $lang.gmo"
-            done
-          fi
-          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
-          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
-          for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
-            if test -f "$f"; then
-              case "$f" in
-                *.orig | *.bak | *~) ;;
-                *) cat "$f" >> "$ac_dir/Makefile" ;;
-              esac
-            fi
-          done
-        fi
-        ;;
-      esac
-    done],
-   [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
-    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
-    # from automake.
-    eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
-    # Capture the value of LINGUAS because we need it to compute CATALOGS.
-    LINGUAS="${LINGUAS-%UNSET%}"
-   ])
-])
-
-dnl Postprocesses a Makefile in a directory containing PO files.
-AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
-[
-  # When this code is run, in config.status, two variables have already been
-  # set:
-  # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
-  # - LINGUAS is the value of the environment variable LINGUAS at configure
-  #   time.
-
-changequote(,)dnl
-  # Adjust a relative srcdir.
-  ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-  ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
-  ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
-  # In autoconf-2.13 it is called $ac_given_srcdir.
-  # In autoconf-2.50 it is called $srcdir.
-  test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
-  case "$ac_given_srcdir" in
-    .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
-    /*) top_srcdir="$ac_given_srcdir" ;;
-    *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
-  esac
-
-  # Find a way to echo strings without interpreting backslash.
-  if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
-    gt_echo='echo'
-  else
-    if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
-      gt_echo='printf %s\n'
-    else
-      echo_func () {
-        cat <<EOT
-$*
-EOT
-      }
-      gt_echo='echo_func'
-    fi
-  fi
-
-  # A sed script that extracts the value of VARIABLE from a Makefile.
-  sed_x_variable='
-# Test if the hold space is empty.
-x
-s/P/P/
-x
-ta
-# Yes it was empty. Look if we have the expected variable definition.
-/^[     ]*VARIABLE[     ]*=/{
-  # Seen the first line of the variable definition.
-  s/^[  ]*VARIABLE[     ]*=//
-  ba
-}
-bd
-:a
-# Here we are processing a line from the variable definition.
-# Remove comment, more precisely replace it with a space.
-s/#.*$/ /
-# See if the line ends in a backslash.
-tb
-:b
-s/\\$//
-# Print the line, without the trailing backslash.
-p
-tc
-# There was no trailing backslash. The end of the variable definition is
-# reached. Clear the hold space.
-s/^.*$//
-x
-bd
-:c
-# A trailing backslash means that the variable definition continues in the
-# next line. Put a nonempty string into the hold space to indicate this.
-s/^.*$/P/
-x
-:d
-'
-changequote([,])dnl
-
-  # Set POTFILES to the value of the Makefile variable POTFILES.
-  sed_x_POTFILES="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`"
-  POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
-  # Compute POTFILES_DEPS as
-  #   $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-  POTFILES_DEPS=
-  for file in $POTFILES; do
-    POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
-  done
-  POMAKEFILEDEPS=""
-
-  if test -n "$OBSOLETE_ALL_LINGUAS"; then
-    test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
-  fi
-  if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
-    # The LINGUAS file contains the set of available languages.
-    ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
-    POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
-  else
-    # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
-    sed_x_LINGUAS="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`"
-    ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
-  fi
-  # Hide the ALL_LINGUAS assigment from automake.
-  eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
-  # Compute POFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
-  # Compute UPDATEPOFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
-  # Compute DUMMYPOFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
-  # Compute GMOFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
-  # Compute PROPERTIESFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
-  # Compute CLASSFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
-  # Compute QMFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
-  # Compute MSGFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
-  # Compute RESOURCESDLLFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
-  case "$ac_given_srcdir" in
-    .) srcdirpre= ;;
-    *) srcdirpre='$(srcdir)/' ;;
-  esac
-  POFILES=
-  UPDATEPOFILES=
-  DUMMYPOFILES=
-  GMOFILES=
-  PROPERTIESFILES=
-  CLASSFILES=
-  QMFILES=
-  MSGFILES=
-  RESOURCESDLLFILES=
-  for lang in $ALL_LINGUAS; do
-    POFILES="$POFILES $srcdirpre$lang.po"
-    UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
-    DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
-    GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
-    PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
-    CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
-    QMFILES="$QMFILES $srcdirpre$lang.qm"
-    frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
-    MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
-    frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
-    RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
-  done
-  # CATALOGS depends on both $ac_dir and the user's LINGUAS
-  # environment variable.
-  INST_LINGUAS=
-  if test -n "$ALL_LINGUAS"; then
-    for presentlang in $ALL_LINGUAS; do
-      useit=no
-      if test "%UNSET%" != "$LINGUAS"; then
-        desiredlanguages="$LINGUAS"
-      else
-        desiredlanguages="$ALL_LINGUAS"
-      fi
-      for desiredlang in $desiredlanguages; do
-        # Use the presentlang catalog if desiredlang is
-        #   a. equal to presentlang, or
-        #   b. a variant of presentlang (because in this case,
-        #      presentlang can be used as a fallback for messages
-        #      which are not translated in the desiredlang catalog).
-        case "$desiredlang" in
-          "$presentlang"*) useit=yes;;
-        esac
-      done
-      if test $useit = yes; then
-        INST_LINGUAS="$INST_LINGUAS $presentlang"
-      fi
-    done
-  fi
-  CATALOGS=
-  JAVACATALOGS=
-  QTCATALOGS=
-  TCLCATALOGS=
-  CSHARPCATALOGS=
-  if test -n "$INST_LINGUAS"; then
-    for lang in $INST_LINGUAS; do
-      CATALOGS="$CATALOGS $lang.gmo"
-      JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
-      QTCATALOGS="$QTCATALOGS $lang.qm"
-      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
-      TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
-      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
-      CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
-    done
-  fi
-
-  sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
-  if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
-    # Add dependencies that cannot be formulated as a simple suffix rule.
-    for lang in $ALL_LINGUAS; do
-      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
-      cat >> "$ac_file.tmp" <<EOF
-$frobbedlang.msg: $lang.po
-       @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
-       \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
-EOF
-    done
-  fi
-  if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
-    # Add dependencies that cannot be formulated as a simple suffix rule.
-    for lang in $ALL_LINGUAS; do
-      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
-      cat >> "$ac_file.tmp" <<EOF
-$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
-       @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
-       \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
-EOF
-    done
-  fi
-  if test -n "$POMAKEFILEDEPS"; then
-    cat >> "$ac_file.tmp" <<EOF
-Makefile: $POMAKEFILEDEPS
-EOF
-  fi
-  mv "$ac_file.tmp" "$ac_file"
-])
-
-# progtest.m4 serial 4 (gettext-0.14.2)
-dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1996.
-
-AC_PREREQ(2.50)
-
-# Search path for a program which passes the given test.
-
-dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
-dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
-AC_DEFUN([AM_PATH_PROG_WITH_TEST],
-[
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
-
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
-  ac_executable_p="test -x"
-else
-  ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "$2", so it can be a program name with args.
-set dummy $2; ac_word=[$]2
-AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL(ac_cv_path_$1,
-[case "[$]$1" in
-  [[\\/]]* | ?:[[\\/]]*)
-    ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
-    ;;
-  *)
-    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in ifelse([$5], , $PATH, [$5]); do
-      IFS="$ac_save_IFS"
-      test -z "$ac_dir" && ac_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
-          echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
-          if [$3]; then
-            ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
-            break 2
-          fi
-        fi
-      done
-    done
-    IFS="$ac_save_IFS"
-dnl If no 4th arg is given, leave the cache variable unset,
-dnl so AC_PATH_PROGS will keep looking.
-ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
-])dnl
-    ;;
-esac])dnl
-$1="$ac_cv_path_$1"
-if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
-  AC_MSG_RESULT([$]$1)
-else
-  AC_MSG_RESULT(no)
-fi
-AC_SUBST($1)dnl
-])
-
 # Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
@@ -8996,3 +7062,11 @@ AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
 
+m4_include([m4/gettext.m4])
+m4_include([m4/iconv.m4])
+m4_include([m4/lib-ld.m4])
+m4_include([m4/lib-link.m4])
+m4_include([m4/lib-prefix.m4])
+m4_include([m4/nls.m4])
+m4_include([m4/po.m4])
+m4_include([m4/progtest.m4])
index fa24bfc2d785e1a304cb1c9fe539dd18cbb5c45b..3f1bef34a0f0d57a0561e71fc215e64905d9950c 100755 (executable)
@@ -2,28 +2,13 @@
 # Output a system dependent set of variables, describing how to set the
 # run time search path of shared libraries in an executable.
 #
-#   Copyright 1996-2003 Free Software Foundation, Inc.
+#   Copyright 1996-2005 Free Software Foundation, Inc.
 #   Taken from GNU libtool, 2001
 #   Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
-#   This program is free software; you can redistribute it and/or modify
-#   it under the terms of the GNU General Public License as published by
-#   the Free Software Foundation; either version 2 of the License, or
-#   (at your option) any later version.
-#
-#   This program is distributed in the hope that it will be useful, but
-#   WITHOUT ANY WARRANTY; without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-#   General Public License for more details.
-#
-#   You should have received a copy of the GNU General Public License
-#   along with this program; if not, write to the Free Software
-#   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-#   As a special exception to the GNU General Public License, if you
-#   distribute this file as part of a program that contains a
-#   configuration script generated by Autoconf, you may include it under
-#   the same distribution terms that you use for the rest of that program.
+#   This file is free software; the Free Software Foundation gives
+#   unlimited permission to copy and/or distribute it, with or without
+#   modifications, as long as this notice is preserved.
 #
 # The first argument passed to this file is the canonical host specification,
 #    CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
@@ -50,6 +35,8 @@ host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
 host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
 host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 
+cc_basename=`echo "$CC" | sed -e 's%^.*/%%'`
+
 # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
 
 wl=
@@ -60,6 +47,13 @@ else
     aix*)
       wl='-Wl,'
       ;;
+    darwin*)
+      case "$cc_basename" in
+        xlc*)
+          wl='-Wl,'
+          ;;
+      esac
+      ;;
     mingw* | pw32* | os2*)
       ;;
     hpux9* | hpux10* | hpux11*)
@@ -71,13 +65,19 @@ else
     newsos6)
       ;;
     linux*)
-      case $CC in
-        icc|ecc)
+      case $cc_basename in
+        icc* | ecc*)
+          wl='-Wl,'
+          ;;
+        pgcc | pgf77 | pgf90)
           wl='-Wl,'
           ;;
-        ccc)
+        ccc*)
           wl='-Wl,'
           ;;
+        como)
+          wl='-lopt='
+          ;;
       esac
       ;;
     osf3* | osf4* | osf5*)
@@ -96,6 +96,9 @@ else
       ;;
     sysv4*MP*)
       ;;
+    unicos*)
+      wl='-Wl,'
+      ;;
     uts4*)
       ;;
   esac
@@ -138,12 +141,12 @@ if test "$with_gnu_ld" = yes; then
       # that the semantics of dynamic libraries on AmigaOS, at least up
       # to version 4, is to share data among multiple programs linked
       # with the same dynamic library.  Since this doesn't match the
-      # behavior of shared libraries on other platforms, we can use
+      # behavior of shared libraries on other platforms, we cannot use
       # them.
       ld_shlibs=no
       ;;
     beos*)
-      if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
         :
       else
         ld_shlibs=no
@@ -162,9 +165,9 @@ if test "$with_gnu_ld" = yes; then
     netbsd*)
       ;;
     solaris* | sysv5*)
-      if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
+      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
         ld_shlibs=no
-      elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
         :
       else
         ld_shlibs=no
@@ -173,8 +176,15 @@ if test "$with_gnu_ld" = yes; then
     sunos4*)
       hardcode_direct=yes
       ;;
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+        :
+      else
+        ld_shlibs=no
+      fi
+      ;;
     *)
-      if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
         :
       else
         ld_shlibs=no
@@ -266,7 +276,7 @@ else
       # see comment about different semantics on the GNU ld section
       ld_shlibs=no
       ;;
-    bsdi4*)
+    bsdi[45]*)
       ;;
     cygwin* | mingw* | pw32*)
       # When not using gcc, we currently assume that we are using
@@ -277,8 +287,17 @@ else
       libext=lib
       ;;
     darwin* | rhapsody*)
-      if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
-        hardcode_direct=no
+      hardcode_direct=no
+      if test "$GCC" = yes ; then
+        :
+      else
+        case "$cc_basename" in
+          xlc*)
+            ;;
+          *)
+            ld_shlibs=no
+            ;;
+        esac
       fi
       ;;
     dgux*)
@@ -295,7 +314,7 @@ else
       hardcode_direct=yes
       hardcode_minus_L=yes
       ;;
-    freebsd*)
+    freebsd* | kfreebsd*-gnu | dragonfly*)
       hardcode_libdir_flag_spec='-R$libdir'
       hardcode_direct=yes
       ;;
@@ -438,7 +457,7 @@ case "$host_os" in
     ;;
   beos*)
     ;;
-  bsdi4*)
+  bsdi[45]*)
     ;;
   cygwin* | mingw* | pw32*)
     shrext=.dll
@@ -450,6 +469,8 @@ case "$host_os" in
     ;;
   freebsd1*)
     ;;
+  kfreebsd*-gnu)
+    ;;
   freebsd*)
     ;;
   gnu*)
@@ -486,11 +507,13 @@ case "$host_os" in
     ;;
   linux*)
     ;;
+  knetbsd*-gnu)
+    ;;
   netbsd*)
     ;;
   newsos6)
     ;;
-  nto-qnx)
+  nto-qnx*)
     ;;
   openbsd*)
     ;;
@@ -519,7 +542,7 @@ escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
 shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
 escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
 
-sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
+LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
 
 # How to pass a linker flag through the compiler.
 wl="$escaped_wl"
index 4fe8260d9617881d73d35bde468b0efb1c6e8500..d1d46a213bf3300430fea5bc3a10676e21fd6788 100755 (executable)
--- a/configure
+++ b/configure
@@ -1815,7 +1815,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE=shadow
- VERSION=4.0.8
+ VERSION=4.0.9
 
 
 cat >>confdefs.h <<_ACEOF
@@ -5821,6 +5821,7 @@ else
     fi
     # And add a safety zone
     lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     ;;
   osf*)
     # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
@@ -6111,7 +6112,7 @@ esac
 
 # Sed substitution that helps us do robust quoting.  It backslashifies
 # metacharacters that are still active within double-quoted strings.
-Xsed='sed -e s/^X//'
+Xsed='sed -e 1s/^X//'
 sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
 
 # Same as above, but do not quote variable references.
@@ -6416,7 +6417,16 @@ if test -n "$RANLIB"; then
   old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
 fi
 
-cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
 
 # Only perform the check for file, if the check method requires it
 case $deplibs_check_method in
@@ -6604,6 +6614,20 @@ LTCC=${LTCC-"$CC"}
 compiler=$CC
 
 
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
 #
 # Check for any special shared library compilation flags.
 #
@@ -6645,6 +6669,11 @@ else
      if test -s conftest.err; then
        # Append any errors to the config.log.
        cat conftest.err 1>&5
+       $echo "X$_lt_linker_boilerplate" | $Xsed > conftest.exp
+       $SED '/^$/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_prog_compiler_static_works=yes
+       fi
      else
        lt_prog_compiler_static_works=yes
      fi
@@ -6689,15 +6718,17 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6692: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:6721: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:6696: \$? = $ac_status" >&5
+   echo "$as_me:6725: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test ! -s conftest.err; then
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
+     $SED '/^$/d' conftest.err >conftest.er2
+     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_rtti_exceptions=yes
      fi
    fi
@@ -6803,7 +6834,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       darwin*)
         # PIC is the default on this platform
         # Common symbols not allowed in MH_DYLIB files
-       case "$cc_basename" in
+       case $cc_basename in
          xlc*)
          lt_prog_compiler_pic='-qnocommon'
          lt_prog_compiler_wl='-Wl,'
@@ -6851,7 +6882,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        lt_prog_compiler_pic='-KPIC'
        lt_prog_compiler_static='-static'
         ;;
-      pgcc | pgf77 | pgf90)
+      pgcc* | pgf77* | pgf90*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
        # which looks to be a dead project)
        lt_prog_compiler_wl='-Wl,'
@@ -6878,9 +6909,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       ;;
 
     solaris*)
-      lt_prog_compiler_wl='-Wl,'
       lt_prog_compiler_pic='-KPIC'
       lt_prog_compiler_static='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+       lt_prog_compiler_wl='-Qoption ld ';;
+      *)
+       lt_prog_compiler_wl='-Wl,';;
+      esac
       ;;
 
     sunos4*)
@@ -6944,15 +6980,17 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6947: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:6983: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:6951: \$? = $ac_status" >&5
+   echo "$as_me:6987: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test ! -s conftest.err; then
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
+     $SED '/^$/d' conftest.err >conftest.er2
+     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
        lt_prog_compiler_pic_works=yes
      fi
    fi
@@ -7004,16 +7042,18 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7007: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7045: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:7011: \$? = $ac_status" >&5
+   echo "$as_me:7049: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     if test ! -s out/conftest.err; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
+     $SED '/^$/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o=yes
      fi
    fi
@@ -7093,6 +7133,16 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
   # rely on this symbol name, it's probably fine to never include it in
   # preloaded symbol tables.
   extract_expsyms_cmds=
+  # Just being paranoid about ensuring that cc_basename is set.
+  for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
 
   case $host_os in
   cygwin* | mingw* | pw32*)
@@ -7113,6 +7163,27 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
     # If archive_cmds runs LD, not CC, wlarc should be empty
     wlarc='${wl}'
 
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+       whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+       whole_archive_flag_spec=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
     # See if GNU ld supports shared libraries.
     case $host_os in
     aix3* | aix4* | aix5*)
@@ -7181,6 +7252,36 @@ EOF
       fi
       ;;
 
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+       tmp_addflag=
+       case $cc_basename,$host_cpu in
+       pgcc*)                          # Portland Group C compiler
+         whole_archive_flag_spec=
+         ;;
+       pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
+         whole_archive_flag_spec=
+         tmp_addflag=' -fpic -Mnomain' ;;
+       ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
+         tmp_addflag=' -i_dynamic' ;;
+       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
+         tmp_addflag=' -i_dynamic -nofor_main' ;;
+       ifc* | ifort*)                  # Intel Fortran compiler
+         tmp_addflag=' -nofor_main' ;;
+       esac
+       archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+       if test $supports_anon_versioning = yes; then
+         archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+         $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+       fi
+      else
+       ld_shlibs=no
+      fi
+      ;;
+
     netbsd*)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
        archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
@@ -7219,41 +7320,6 @@ EOF
       hardcode_shlibpath_var=no
       ;;
 
-  linux*)
-    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-      tmp_addflag=
-      case $CC,$host_cpu in
-      pgf77* | pgf90* )                        # Portland Group f77 and f90 compilers
-        tmp_addflag=' -fpic' ;;
-      ecc*,ia64* | icc*,ia64*)         # Intel C compiler on ia64
-        tmp_addflag=' -i_dynamic' ;;
-      efc*,ia64* | ifort*,ia64*)       # Intel Fortran compiler on ia64
-        tmp_addflag=' -i_dynamic -nofor_main' ;;
-      ifc* | ifort*)                   # Intel Fortran compiler
-       tmp_addflag=' -nofor_main' ;;
-      esac
-      archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      supports_anon_versioning=no
-      case `$LD -v 2>/dev/null` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-        *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-        *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-        *\ 2.11.*) ;; # other 2.11 versions
-        *) supports_anon_versioning=yes ;;
-      esac
-      if test $supports_anon_versioning = yes; then
-        archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
-cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-$echo "local: *; };" >> $output_objdir/$libname.ver~
-        $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-      else
-        archive_expsym_cmds=$archive_cmds
-      fi
-    else
-      ld_shlibs=no
-    fi
-    ;;
-
     *)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
@@ -7264,16 +7330,11 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       ;;
     esac
 
-    if test "$ld_shlibs" = yes; then
-      runpath_var=LD_RUN_PATH
-      hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
-      export_dynamic_flag_spec='${wl}--export-dynamic'
-      # ancient GNU ld didn't support --whole-archive et. al.
-      if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-       whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-       whole_archive_flag_spec=
-      fi
+    if test "$ld_shlibs" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec=
+      export_dynamic_flag_spec=
+      whole_archive_flag_spec=
     fi
   else
     # PORTME fill in a description of your system's linker (not GNU ld)
@@ -7580,7 +7641,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     else
-      case "$cc_basename" in
+      case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
          archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
@@ -7783,7 +7844,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        allow_undefined_flag=' -expect_unresolved \*'
        archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
        archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
-       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
+       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
 
        # Both c and cxx compiler support -rpath directly
        hardcode_libdir_flag_spec='-rpath $libdir'
@@ -7802,10 +7863,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     solaris*)
       no_undefined_flag=' -z text'
       if test "$GCC" = yes; then
+       wlarc='${wl}'
        archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
        archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
          $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
       else
+       wlarc=''
        archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
        archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
        $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
@@ -7814,8 +7877,18 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       hardcode_shlibpath_var=no
       case $host_os in
       solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *) # Supported since Solaris 2.6 (maybe 2.5.1?)
-       whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;;
+      *)
+       # The compiler driver will combine linker options so we
+       # cannot just pass the convience library names through
+       # without $wl, iff we do not link with $LD.
+       # Luckily, gcc supports the same syntax we need for Sun Studio.
+       # Supported since Solaris 2.6 (maybe 2.5.1?)
+       case $wlarc in
+       '')
+         whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
+       *)
+         whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+       esac ;;
       esac
       link_all_deplibs=yes
       ;;
@@ -8354,7 +8427,7 @@ linux*)
   libsuff=
   case "$host_cpu" in
   x86_64*|s390x*|powerpc64*)
-    echo '#line 8357 "configure"' > conftest.$ac_ext
+    echo '#line 8430 "configure"' > conftest.$ac_ext
     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -9225,7 +9298,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 9228 "configure"
+#line 9301 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -9323,7 +9396,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 9326 "configure"
+#line 9399 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -9581,7 +9654,7 @@ echo "$as_me: creating $ofile" >&6;}
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -9592,7 +9665,7 @@ echo "$as_me: creating $ofile" >&6;}
 SED=$lt_SED
 
 # Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e s/^X//"
+Xsed="$SED -e 1s/^X//"
 
 # The HP-UX ksh and POSIX shell print the target directory to stdout
 # if CDPATH is set.
@@ -9708,7 +9781,7 @@ max_cmd_len=$lt_cv_sys_max_cmd_len
 # Does compiler simultaneously support -c and -o options?
 compiler_c_o=$lt_lt_cv_prog_compiler_c_o
 
-# Must we lock files when doing compilation ?
+# Must we lock files when doing compilation?
 need_locks=$lt_need_locks
 
 # Do we need the lib prefix for modules?
@@ -10063,6 +10136,20 @@ LTCC=${LTCC-"$CC"}
 compiler=$CC
 
 
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
 # Allow CC to be a program name with arguments.
 lt_save_CC=$CC
 lt_save_LD=$LD
@@ -10084,7 +10171,16 @@ test -z "${LDCXX+set}" || LD=$LDCXX
 CC=${CXX-"c++"}
 compiler=$CC
 compiler_CXX=$CC
-cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
 
 # We don't want -fno-exception wen compiling C++ code, so set the
 # no_builtin_flag separately
@@ -10554,7 +10650,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
           fi
             module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       else
-      case "$cc_basename" in
+      case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
           archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
@@ -10572,11 +10668,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
   dgux*)
     case $cc_basename in
-      ec++)
+      ec++*)
        # FIXME: insert proper C++ library support
        ld_shlibs_CXX=no
        ;;
-      ghcx)
+      ghcx*)
        # Green Hills C++ Compiler
        # FIXME: insert proper C++ library support
        ld_shlibs_CXX=no
@@ -10611,11 +10707,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
                                # location of the library.
 
     case $cc_basename in
-    CC)
+    CC*)
       # FIXME: insert proper C++ library support
       ld_shlibs_CXX=no
       ;;
-    aCC)
+    aCC*)
       archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       # Commands to make compiler produce verbose output that lists
       # what "hidden" libraries, object files and flags are used when
@@ -10676,11 +10772,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     esac
 
     case $cc_basename in
-      CC)
+      CC*)
        # FIXME: insert proper C++ library support
        ld_shlibs_CXX=no
        ;;
-      aCC)
+      aCC*)
        case "$host_cpu" in
        hppa*64*|ia64*)
          archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
@@ -10720,9 +10816,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     ;;
   irix5* | irix6*)
     case $cc_basename in
-      CC)
+      CC*)
        # SGI C++
-       archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+       archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
 
        # Archives containing C++ object files must be created using
        # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
@@ -10733,7 +10829,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       *)
        if test "$GXX" = yes; then
          if test "$with_gnu_ld" = no; then
-           archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+           archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
          else
            archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
          fi
@@ -10746,7 +10842,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     ;;
   linux*)
     case $cc_basename in
-      KCC)
+      KCC*)
        # Kuck and Associates, Inc. (KAI) C++ Compiler
 
        # KCC will only create a shared library if the output file
@@ -10771,7 +10867,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        # "CC -Bstatic", where "CC" is the KAI C++ compiler.
        old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
        ;;
-      icpc)
+      icpc*)
        # Intel C++
        with_gnu_ld=yes
        # version 8.0 and above of icpc choke on multiply defined symbols
@@ -10796,15 +10892,16 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
        whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
        ;;
-      pgCC)
+      pgCC*)
         # Portland Group C++ compiler
        archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
        archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
 
        hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
        export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+       whole_archive_flag_spec_CXX=''
         ;;
-      cxx)
+      cxx*)
        # Compaq C++
        archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
        archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
@@ -10835,7 +10932,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     ;;
   mvs*)
     case $cc_basename in
-      cxx)
+      cxx*)
        # FIXME: insert proper C++ library support
        ld_shlibs_CXX=no
        ;;
@@ -10874,7 +10971,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     ;;
   osf3*)
     case $cc_basename in
-      KCC)
+      KCC*)
        # Kuck and Associates, Inc. (KAI) C++ Compiler
 
        # KCC will only create a shared library if the output file
@@ -10890,14 +10987,14 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
 
        ;;
-      RCC)
+      RCC*)
        # Rational C++ 2.4.1
        # FIXME: insert proper C++ library support
        ld_shlibs_CXX=no
        ;;
-      cxx)
+      cxx*)
        allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+       archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
 
        hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
        hardcode_libdir_separator_CXX=:
@@ -10915,7 +11012,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       *)
        if test "$GXX" = yes && test "$with_gnu_ld" = no; then
          allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-         archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+         archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 
          hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
          hardcode_libdir_separator_CXX=:
@@ -10934,7 +11031,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     ;;
   osf4* | osf5*)
     case $cc_basename in
-      KCC)
+      KCC*)
        # Kuck and Associates, Inc. (KAI) C++ Compiler
 
        # KCC will only create a shared library if the output file
@@ -10949,17 +11046,17 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        # the KAI C++ compiler.
        old_archive_cmds_CXX='$CC -o $oldlib $oldobjs'
        ;;
-      RCC)
+      RCC*)
        # Rational C++ 2.4.1
        # FIXME: insert proper C++ library support
        ld_shlibs_CXX=no
        ;;
-      cxx)
+      cxx*)
        allow_undefined_flag_CXX=' -expect_unresolved \*'
-       archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+       archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
        archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
          echo "-hidden">> $lib.exp~
-         $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~
+         $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
          $rm $lib.exp'
 
        hardcode_libdir_flag_spec_CXX='-rpath $libdir'
@@ -10978,7 +11075,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       *)
        if test "$GXX" = yes && test "$with_gnu_ld" = no; then
          allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-        archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+        archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 
          hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
          hardcode_libdir_separator_CXX=:
@@ -11002,7 +11099,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
   sco*)
     archive_cmds_need_lc_CXX=no
     case $cc_basename in
-      CC)
+      CC*)
        # FIXME: insert proper C++ library support
        ld_shlibs_CXX=no
        ;;
@@ -11014,12 +11111,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     ;;
   sunos4*)
     case $cc_basename in
-      CC)
+      CC*)
        # Sun C++ 4.x
        # FIXME: insert proper C++ library support
        ld_shlibs_CXX=no
        ;;
-      lcc)
+      lcc*)
        # Lucid
        # FIXME: insert proper C++ library support
        ld_shlibs_CXX=no
@@ -11032,7 +11129,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     ;;
   solaris*)
     case $cc_basename in
-      CC)
+      CC*)
        # Sun C++ 4.2, 5.x and Centerline C++
        no_undefined_flag_CXX=' -zdefs'
        archive_cmds_CXX='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
@@ -11046,9 +11143,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
          *)
            # The C++ compiler is used as linker so we must use $wl
            # flag to pass the commands to the underlying system
-           # linker.
+           # linker. We must also pass each convience library through
+           # to the system linker between allextract/defaultextract.
+           # The C++ compiler will combine linker options so we
+           # cannot just pass the convience library names through
+           # without $wl.
            # Supported since Solaris 2.6 (maybe 2.5.1?)
-           whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+           whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
            ;;
        esac
        link_all_deplibs_CXX=yes
@@ -11069,7 +11170,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        # in the archive.
        old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
        ;;
-      gcx)
+      gcx*)
        # Green Hills C++ Compiler
        archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
 
@@ -11112,7 +11213,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     ;;
   tandem*)
     case $cc_basename in
-      NCC)
+      NCC*)
        # NonStop-UX NCC 3.20
        # FIXME: insert proper C++ library support
        ld_shlibs_CXX=no
@@ -11321,7 +11422,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       chorus*)
        case $cc_basename in
-       cxch68)
+       cxch68*)
          # Green Hills C++ Compiler
          # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
          ;;
@@ -11330,7 +11431,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        darwin*)
          # PIC is the default on this platform
          # Common symbols not allowed in MH_DYLIB files
-         case "$cc_basename" in
+         case $cc_basename in
            xlc*)
            lt_prog_compiler_pic_CXX='-qnocommon'
            lt_prog_compiler_wl_CXX='-Wl,'
@@ -11339,10 +11440,10 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       dgux*)
        case $cc_basename in
-         ec++)
+         ec++*)
            lt_prog_compiler_pic_CXX='-KPIC'
            ;;
-         ghcx)
+         ghcx*)
            # Green Hills C++ Compiler
            lt_prog_compiler_pic_CXX='-pic'
            ;;
@@ -11355,14 +11456,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       hpux9* | hpux10* | hpux11*)
        case $cc_basename in
-         CC)
+         CC*)
            lt_prog_compiler_wl_CXX='-Wl,'
            lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
            if test "$host_cpu" != ia64; then
              lt_prog_compiler_pic_CXX='+Z'
            fi
            ;;
-         aCC)
+         aCC*)
            lt_prog_compiler_wl_CXX='-Wl,'
            lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
            case "$host_cpu" in
@@ -11380,7 +11481,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       irix5* | irix6* | nonstopux*)
        case $cc_basename in
-         CC)
+         CC*)
            lt_prog_compiler_wl_CXX='-Wl,'
            lt_prog_compiler_static_CXX='-non_shared'
            # CC pic flag -KPIC is the default.
@@ -11391,7 +11492,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       linux*)
        case $cc_basename in
-         KCC)
+         KCC*)
            # KAI C++ Compiler
            lt_prog_compiler_wl_CXX='--backend -Wl,'
            lt_prog_compiler_pic_CXX='-fPIC'
@@ -11402,13 +11503,13 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
            lt_prog_compiler_pic_CXX='-KPIC'
            lt_prog_compiler_static_CXX='-static'
            ;;
-         pgCC)
+         pgCC*)
            # Portland Group C++ compiler.
            lt_prog_compiler_wl_CXX='-Wl,'
            lt_prog_compiler_pic_CXX='-fpic'
            lt_prog_compiler_static_CXX='-static'
            ;;
-         cxx)
+         cxx*)
            # Compaq C++
            # Make sure the PIC flag is empty.  It appears that all Alpha
            # Linux and Compaq Tru64 Unix objects are PIC.
@@ -11425,7 +11526,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       mvs*)
        case $cc_basename in
-         cxx)
+         cxx*)
            lt_prog_compiler_pic_CXX='-W c,exportall'
            ;;
          *)
@@ -11436,14 +11537,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       osf3* | osf4* | osf5*)
        case $cc_basename in
-         KCC)
+         KCC*)
            lt_prog_compiler_wl_CXX='--backend -Wl,'
            ;;
-         RCC)
+         RCC*)
            # Rational C++ 2.4.1
            lt_prog_compiler_pic_CXX='-pic'
            ;;
-         cxx)
+         cxx*)
            # Digital/Compaq C++
            lt_prog_compiler_wl_CXX='-Wl,'
            # Make sure the PIC flag is empty.  It appears that all Alpha
@@ -11459,7 +11560,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       sco*)
        case $cc_basename in
-         CC)
+         CC*)
            lt_prog_compiler_pic_CXX='-fPIC'
            ;;
          *)
@@ -11468,13 +11569,13 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       solaris*)
        case $cc_basename in
-         CC)
+         CC*)
            # Sun C++ 4.2, 5.x and Centerline C++
            lt_prog_compiler_pic_CXX='-KPIC'
            lt_prog_compiler_static_CXX='-Bstatic'
            lt_prog_compiler_wl_CXX='-Qoption ld '
            ;;
-         gcx)
+         gcx*)
            # Green Hills C++ Compiler
            lt_prog_compiler_pic_CXX='-PIC'
            ;;
@@ -11484,12 +11585,12 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       sunos4*)
        case $cc_basename in
-         CC)
+         CC*)
            # Sun C++ 4.x
            lt_prog_compiler_pic_CXX='-pic'
            lt_prog_compiler_static_CXX='-Bstatic'
            ;;
-         lcc)
+         lcc*)
            # Lucid
            lt_prog_compiler_pic_CXX='-pic'
            ;;
@@ -11499,7 +11600,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        ;;
       tandem*)
        case $cc_basename in
-         NCC)
+         NCC*)
            # NonStop-UX NCC 3.20
            lt_prog_compiler_pic_CXX='-KPIC'
            ;;
@@ -11543,15 +11644,17 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11546: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:11647: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:11550: \$? = $ac_status" >&5
+   echo "$as_me:11651: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test ! -s conftest.err; then
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
+     $SED '/^$/d' conftest.err >conftest.er2
+     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
        lt_prog_compiler_pic_works_CXX=yes
      fi
    fi
@@ -11603,16 +11706,18 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11606: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:11709: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:11610: \$? = $ac_status" >&5
+   echo "$as_me:11713: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     if test ! -s out/conftest.err; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
+     $SED '/^$/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o_CXX=yes
      fi
    fi
@@ -12116,7 +12221,7 @@ linux*)
   libsuff=
   case "$host_cpu" in
   x86_64*|s390x*|powerpc64*)
-    echo '#line 12119 "configure"' > conftest.$ac_ext
+    echo '#line 12224 "configure"' > conftest.$ac_ext
     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -12987,7 +13092,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 12990 "configure"
+#line 13095 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13085,7 +13190,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 13088 "configure"
+#line 13193 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13385,7 +13490,7 @@ max_cmd_len=$lt_cv_sys_max_cmd_len
 # Does compiler simultaneously support -c and -o options?
 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
 
-# Must we lock files when doing compilation ?
+# Must we lock files when doing compilation?
 need_locks=$lt_need_locks
 
 # Do we need the lib prefix for modules?
@@ -13666,12 +13771,35 @@ LTCC=${LTCC-"$CC"}
 compiler=$CC
 
 
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
 # Allow CC to be a program name with arguments.
 lt_save_CC="$CC"
 CC=${F77-"f77"}
 compiler=$CC
 compiler_F77=$CC
-cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
 
 echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
@@ -13693,7 +13821,9 @@ aix3*)
   fi
   ;;
 aix4* | aix5*)
-  test "$enable_shared" = yes && enable_static=no
+  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+    test "$enable_shared" = yes && enable_static=no
+  fi
   ;;
 esac
 echo "$as_me:$LINENO: result: $enable_shared" >&5
@@ -13799,7 +13929,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       darwin*)
         # PIC is the default on this platform
         # Common symbols not allowed in MH_DYLIB files
-       case "$cc_basename" in
+       case $cc_basename in
          xlc*)
          lt_prog_compiler_pic_F77='-qnocommon'
          lt_prog_compiler_wl_F77='-Wl,'
@@ -13847,7 +13977,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        lt_prog_compiler_pic_F77='-KPIC'
        lt_prog_compiler_static_F77='-static'
         ;;
-      pgcc | pgf77 | pgf90)
+      pgcc* | pgf77* | pgf90*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
        # which looks to be a dead project)
        lt_prog_compiler_wl_F77='-Wl,'
@@ -13874,9 +14004,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       ;;
 
     solaris*)
-      lt_prog_compiler_wl_F77='-Wl,'
       lt_prog_compiler_pic_F77='-KPIC'
       lt_prog_compiler_static_F77='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+       lt_prog_compiler_wl_F77='-Qoption ld ';;
+      *)
+       lt_prog_compiler_wl_F77='-Wl,';;
+      esac
       ;;
 
     sunos4*)
@@ -13940,15 +14075,17 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13943: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14078: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:13947: \$? = $ac_status" >&5
+   echo "$as_me:14082: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test ! -s conftest.err; then
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
+     $SED '/^$/d' conftest.err >conftest.er2
+     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
        lt_prog_compiler_pic_works_F77=yes
      fi
    fi
@@ -14000,16 +14137,18 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14003: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14140: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:14007: \$? = $ac_status" >&5
+   echo "$as_me:14144: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     if test ! -s out/conftest.err; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
+     $SED '/^$/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o_F77=yes
      fi
    fi
@@ -14089,6 +14228,16 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
   # rely on this symbol name, it's probably fine to never include it in
   # preloaded symbol tables.
   extract_expsyms_cmds=
+  # Just being paranoid about ensuring that cc_basename is set.
+  for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
 
   case $host_os in
   cygwin* | mingw* | pw32*)
@@ -14109,6 +14258,27 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
     # If archive_cmds runs LD, not CC, wlarc should be empty
     wlarc='${wl}'
 
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec_F77='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+       whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+       whole_archive_flag_spec_F77=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
     # See if GNU ld supports shared libraries.
     case $host_os in
     aix3* | aix4* | aix5*)
@@ -14177,6 +14347,36 @@ EOF
       fi
       ;;
 
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+       tmp_addflag=
+       case $cc_basename,$host_cpu in
+       pgcc*)                          # Portland Group C compiler
+         whole_archive_flag_spec_F77=
+         ;;
+       pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
+         whole_archive_flag_spec_F77=
+         tmp_addflag=' -fpic -Mnomain' ;;
+       ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
+         tmp_addflag=' -i_dynamic' ;;
+       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
+         tmp_addflag=' -i_dynamic -nofor_main' ;;
+       ifc* | ifort*)                  # Intel Fortran compiler
+         tmp_addflag=' -nofor_main' ;;
+       esac
+       archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+       if test $supports_anon_versioning = yes; then
+         archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+         $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+       fi
+      else
+       ld_shlibs_F77=no
+      fi
+      ;;
+
     netbsd*)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
        archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
@@ -14215,41 +14415,6 @@ EOF
       hardcode_shlibpath_var_F77=no
       ;;
 
-  linux*)
-    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-      tmp_addflag=
-      case $CC,$host_cpu in
-      pgf77* | pgf90* )                        # Portland Group f77 and f90 compilers
-        tmp_addflag=' -fpic' ;;
-      ecc*,ia64* | icc*,ia64*)         # Intel C compiler on ia64
-        tmp_addflag=' -i_dynamic' ;;
-      efc*,ia64* | ifort*,ia64*)       # Intel Fortran compiler on ia64
-        tmp_addflag=' -i_dynamic -nofor_main' ;;
-      ifc* | ifort*)                   # Intel Fortran compiler
-       tmp_addflag=' -nofor_main' ;;
-      esac
-      archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      supports_anon_versioning=no
-      case `$LD -v 2>/dev/null` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-        *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-        *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-        *\ 2.11.*) ;; # other 2.11 versions
-        *) supports_anon_versioning=yes ;;
-      esac
-      if test $supports_anon_versioning = yes; then
-        archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
-cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-$echo "local: *; };" >> $output_objdir/$libname.ver~
-        $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-      else
-        archive_expsym_cmds_F77=$archive_cmds_F77
-      fi
-    else
-      ld_shlibs_F77=no
-    fi
-    ;;
-
     *)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
        archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
@@ -14260,16 +14425,11 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       ;;
     esac
 
-    if test "$ld_shlibs_F77" = yes; then
-      runpath_var=LD_RUN_PATH
-      hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir'
-      export_dynamic_flag_spec_F77='${wl}--export-dynamic'
-      # ancient GNU ld didn't support --whole-archive et. al.
-      if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-       whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-       whole_archive_flag_spec_F77=
-      fi
+    if test "$ld_shlibs_F77" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec_F77=
+      export_dynamic_flag_spec_F77=
+      whole_archive_flag_spec_F77=
     fi
   else
     # PORTME fill in a description of your system's linker (not GNU ld)
@@ -14556,7 +14716,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     else
-      case "$cc_basename" in
+      case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
          archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
@@ -14759,7 +14919,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        allow_undefined_flag_F77=' -expect_unresolved \*'
        archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
        archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
-       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
+       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
 
        # Both c and cxx compiler support -rpath directly
        hardcode_libdir_flag_spec_F77='-rpath $libdir'
@@ -14778,10 +14938,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     solaris*)
       no_undefined_flag_F77=' -z text'
       if test "$GCC" = yes; then
+       wlarc='${wl}'
        archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
        archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
          $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
       else
+       wlarc=''
        archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
        archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
        $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
@@ -14790,8 +14952,18 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       hardcode_shlibpath_var_F77=no
       case $host_os in
       solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *) # Supported since Solaris 2.6 (maybe 2.5.1?)
-       whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;;
+      *)
+       # The compiler driver will combine linker options so we
+       # cannot just pass the convience library names through
+       # without $wl, iff we do not link with $LD.
+       # Luckily, gcc supports the same syntax we need for Sun Studio.
+       # Supported since Solaris 2.6 (maybe 2.5.1?)
+       case $wlarc in
+       '')
+         whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;;
+       *)
+         whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+       esac ;;
       esac
       link_all_deplibs_F77=yes
       ;;
@@ -15330,7 +15502,7 @@ linux*)
   libsuff=
   case "$host_cpu" in
   x86_64*|s390x*|powerpc64*)
-    echo '#line 15333 "configure"' > conftest.$ac_ext
+    echo '#line 15505 "configure"' > conftest.$ac_ext
     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -15794,7 +15966,7 @@ max_cmd_len=$lt_cv_sys_max_cmd_len
 # Does compiler simultaneously support -c and -o options?
 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77
 
-# Must we lock files when doing compilation ?
+# Must we lock files when doing compilation?
 need_locks=$lt_need_locks
 
 # Do we need the lib prefix for modules?
@@ -16043,15 +16215,41 @@ LTCC=${LTCC-"$CC"}
 compiler=$CC
 
 
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
 # Allow CC to be a program name with arguments.
 lt_save_CC="$CC"
 CC=${GCJ-"gcj"}
 compiler=$CC
 compiler_GCJ=$CC
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
 
 # GCJ did not exist at the time GCC didn't implicitly link libc in.
 archive_cmds_need_lc_GCJ=no
 
+old_archive_cmds_GCJ=$old_archive_cmds
+
 
 lt_prog_compiler_no_builtin_flag_GCJ=
 
@@ -16077,15 +16275,17 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16080: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16278: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16084: \$? = $ac_status" >&5
+   echo "$as_me:16282: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test ! -s conftest.err; then
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
+     $SED '/^$/d' conftest.err >conftest.er2
+     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_rtti_exceptions=yes
      fi
    fi
@@ -16191,7 +16391,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       darwin*)
         # PIC is the default on this platform
         # Common symbols not allowed in MH_DYLIB files
-       case "$cc_basename" in
+       case $cc_basename in
          xlc*)
          lt_prog_compiler_pic_GCJ='-qnocommon'
          lt_prog_compiler_wl_GCJ='-Wl,'
@@ -16239,7 +16439,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
        lt_prog_compiler_pic_GCJ='-KPIC'
        lt_prog_compiler_static_GCJ='-static'
         ;;
-      pgcc | pgf77 | pgf90)
+      pgcc* | pgf77* | pgf90*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
        # which looks to be a dead project)
        lt_prog_compiler_wl_GCJ='-Wl,'
@@ -16266,9 +16466,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
       ;;
 
     solaris*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
       lt_prog_compiler_pic_GCJ='-KPIC'
       lt_prog_compiler_static_GCJ='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+       lt_prog_compiler_wl_GCJ='-Qoption ld ';;
+      *)
+       lt_prog_compiler_wl_GCJ='-Wl,';;
+      esac
       ;;
 
     sunos4*)
@@ -16332,15 +16537,17 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16335: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16540: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16339: \$? = $ac_status" >&5
+   echo "$as_me:16544: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test ! -s conftest.err; then
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp
+     $SED '/^$/d' conftest.err >conftest.er2
+     if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then
        lt_prog_compiler_pic_works_GCJ=yes
      fi
    fi
@@ -16392,16 +16599,18 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16395: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16602: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:16399: \$? = $ac_status" >&5
+   echo "$as_me:16606: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     if test ! -s out/conftest.err; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp
+     $SED '/^$/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o_GCJ=yes
      fi
    fi
@@ -16481,6 +16690,16 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
   # rely on this symbol name, it's probably fine to never include it in
   # preloaded symbol tables.
   extract_expsyms_cmds=
+  # Just being paranoid about ensuring that cc_basename is set.
+  for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
 
   case $host_os in
   cygwin* | mingw* | pw32*)
@@ -16501,6 +16720,27 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
     # If archive_cmds runs LD, not CC, wlarc should be empty
     wlarc='${wl}'
 
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+       whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+       whole_archive_flag_spec_GCJ=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
     # See if GNU ld supports shared libraries.
     case $host_os in
     aix3* | aix4* | aix5*)
@@ -16569,6 +16809,36 @@ EOF
       fi
       ;;
 
+    linux*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+       tmp_addflag=
+       case $cc_basename,$host_cpu in
+       pgcc*)                          # Portland Group C compiler
+         whole_archive_flag_spec_GCJ=
+         ;;
+       pgf77* | pgf90* )                       # Portland Group f77 and f90 compilers
+         whole_archive_flag_spec_GCJ=
+         tmp_addflag=' -fpic -Mnomain' ;;
+       ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
+         tmp_addflag=' -i_dynamic' ;;
+       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
+         tmp_addflag=' -i_dynamic -nofor_main' ;;
+       ifc* | ifort*)                  # Intel Fortran compiler
+         tmp_addflag=' -nofor_main' ;;
+       esac
+       archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+       if test $supports_anon_versioning = yes; then
+         archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
+  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+  $echo "local: *; };" >> $output_objdir/$libname.ver~
+         $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+       fi
+      else
+       ld_shlibs_GCJ=no
+      fi
+      ;;
+
     netbsd*)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
        archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
@@ -16607,41 +16877,6 @@ EOF
       hardcode_shlibpath_var_GCJ=no
       ;;
 
-  linux*)
-    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-      tmp_addflag=
-      case $CC,$host_cpu in
-      pgf77* | pgf90* )                        # Portland Group f77 and f90 compilers
-        tmp_addflag=' -fpic' ;;
-      ecc*,ia64* | icc*,ia64*)         # Intel C compiler on ia64
-        tmp_addflag=' -i_dynamic' ;;
-      efc*,ia64* | ifort*,ia64*)       # Intel Fortran compiler on ia64
-        tmp_addflag=' -i_dynamic -nofor_main' ;;
-      ifc* | ifort*)                   # Intel Fortran compiler
-       tmp_addflag=' -nofor_main' ;;
-      esac
-      archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      supports_anon_versioning=no
-      case `$LD -v 2>/dev/null` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-        *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-        *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-        *\ 2.11.*) ;; # other 2.11 versions
-        *) supports_anon_versioning=yes ;;
-      esac
-      if test $supports_anon_versioning = yes; then
-        archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
-cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-$echo "local: *; };" >> $output_objdir/$libname.ver~
-        $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-      else
-        archive_expsym_cmds_GCJ=$archive_cmds_GCJ
-      fi
-    else
-      ld_shlibs_GCJ=no
-    fi
-    ;;
-
     *)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
        archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
@@ -16652,16 +16887,11 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~
       ;;
     esac
 
-    if test "$ld_shlibs_GCJ" = yes; then
-      runpath_var=LD_RUN_PATH
-      hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir'
-      export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
-      # ancient GNU ld didn't support --whole-archive et. al.
-      if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-       whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-       whole_archive_flag_spec_GCJ=
-      fi
+    if test "$ld_shlibs_GCJ" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec_GCJ=
+      export_dynamic_flag_spec_GCJ=
+      whole_archive_flag_spec_GCJ=
     fi
   else
     # PORTME fill in a description of your system's linker (not GNU ld)
@@ -16968,7 +17198,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
     else
-      case "$cc_basename" in
+      case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
          archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
@@ -17171,7 +17401,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        allow_undefined_flag_GCJ=' -expect_unresolved \*'
        archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
        archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
-       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
+       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
 
        # Both c and cxx compiler support -rpath directly
        hardcode_libdir_flag_spec_GCJ='-rpath $libdir'
@@ -17190,10 +17420,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     solaris*)
       no_undefined_flag_GCJ=' -z text'
       if test "$GCC" = yes; then
+       wlarc='${wl}'
        archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
        archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
          $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
       else
+       wlarc=''
        archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
        archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
        $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
@@ -17202,8 +17434,18 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       hardcode_shlibpath_var_GCJ=no
       case $host_os in
       solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *) # Supported since Solaris 2.6 (maybe 2.5.1?)
-       whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;;
+      *)
+       # The compiler driver will combine linker options so we
+       # cannot just pass the convience library names through
+       # without $wl, iff we do not link with $LD.
+       # Luckily, gcc supports the same syntax we need for Sun Studio.
+       # Supported since Solaris 2.6 (maybe 2.5.1?)
+       case $wlarc in
+       '')
+         whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;;
+       *)
+         whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+       esac ;;
       esac
       link_all_deplibs_GCJ=yes
       ;;
@@ -17742,7 +17984,7 @@ linux*)
   libsuff=
   case "$host_cpu" in
   x86_64*|s390x*|powerpc64*)
-    echo '#line 17745 "configure"' > conftest.$ac_ext
+    echo '#line 17987 "configure"' > conftest.$ac_ext
     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -18613,7 +18855,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 18616 "configure"
+#line 18858 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -18711,7 +18953,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 18714 "configure"
+#line 18956 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -19011,7 +19253,7 @@ max_cmd_len=$lt_cv_sys_max_cmd_len
 # Does compiler simultaneously support -c and -o options?
 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ
 
-# Must we lock files when doing compilation ?
+# Must we lock files when doing compilation?
 need_locks=$lt_need_locks
 
 # Do we need the lib prefix for modules?
@@ -19259,11 +19501,35 @@ LTCC=${LTCC-"$CC"}
 compiler=$CC
 
 
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+
+ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+
+
 # Allow CC to be a program name with arguments.
 lt_save_CC="$CC"
 CC=${RC-"windres"}
 compiler=$CC
 compiler_RC=$CC
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
 lt_cv_prog_compiler_c_o_RC=yes
 
 # The else clause should only fire when bootstrapping the
@@ -19462,7 +19728,7 @@ max_cmd_len=$lt_cv_sys_max_cmd_len
 # Does compiler simultaneously support -c and -o options?
 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
 
-# Must we lock files when doing compilation ?
+# Must we lock files when doing compilation?
 need_locks=$lt_need_locks
 
 # Do we need the lib prefix for modules?
index 554f0eec29cbbcfb3810e620af1e484c4ab7b73b..83fb20b3559057415088665dd20770cd5a20c522 100644 (file)
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_INIT
-AM_INIT_AUTOMAKE(shadow, 4.0.8)
+AM_INIT_AUTOMAKE(shadow, 4.0.9)
 AC_CONFIG_HEADERS([config.h])
 
 dnl Some hacks...
index ba1a8d9e2c759ba6d34861120b82aa0f7fc0ee8b..72a83df016ce4d39644fe7349efa90791c74aadc 100644 (file)
@@ -41,7 +41,11 @@ host_triplet = @host@
 subdir = contrib
 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
index ccdc73fcd7d7f019fc19ed48c14d9d2e9629c477..877476d2cc7e046695be5945427c0116ed410bbb 100644 (file)
@@ -41,7 +41,11 @@ host_triplet = @host@
 subdir = doc
 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
index 0c4312b8c7eca0e0c743220a1e6e7689732708ea..6657b5ea0cc19dc868910e9960fefd3f48566fbe 100644 (file)
@@ -41,7 +41,11 @@ host_triplet = @host@
 subdir = etc
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
index 17c85551b0229df445e91faaa7937c8cb20e2da2..431414dad78e178b756cbe7e37261422bdef35e3 100644 (file)
@@ -41,7 +41,11 @@ host_triplet = @host@
 subdir = etc/pam.d
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
index 1453db0f73c177a53bbbc38af0f9c98385523868..14e756d8098684f4455094d0f86575bbe77c75cd 100644 (file)
@@ -41,7 +41,11 @@ host_triplet = @host@
 subdir = lib
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
index 94b4bedf83053eac9f0cdd6a7d13de783c825008..4362defad900343a0411e5dcd1ba987da7489d4b 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID ("$Id: encrypt.c,v 1.11 2005/04/06 02:59:22 kloczek Exp $")
+RCSID ("$Id: encrypt.c,v 1.12 2005/05/19 12:05:03 kloczek Exp $")
 #include <unistd.h>
 #include "prototypes.h"
 #include "defines.h"
@@ -40,7 +40,7 @@ char *pw_encrypt (const char *clear, const char *salt)
        static char cipher[128];
        char *cp;
 
-       crypt (clear, salt);
+       cp = crypt (clear, salt);
        if (!cp) {
                /*
                 * Single Unix Spec: crypt() may return a null pointer,
index 4c03ea6bfc073e4a0099834334e7291e61c1cb4e..7061032c7d8428c0d2bb69d1cdf1eae9d1f81ab6 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID ("$Id: getdef.c,v 1.28 2005/04/01 22:52:03 kloczek Exp $")
+RCSID ("$Id: getdef.c,v 1.29 2005/05/09 10:45:26 kloczek Exp $")
 #include "prototypes.h"
 #include "defines.h"
 #include <stdio.h>
@@ -45,10 +45,6 @@ struct itemdef {
        char *value;            /* value given, or NULL if no value     */
 };
 
-/*
- * This list *must* be sorted by the "name" member.
- */
-
 #define NUMDEFS        (sizeof(def_table)/sizeof(def_table[0]))
 static struct itemdef def_table[] = {
        {"CHFN_RESTRICT", NULL},
@@ -118,7 +114,8 @@ static struct itemdef def_table[] = {
        {"UID_MAX", NULL},
        {"UID_MIN", NULL},
        {"UMASK", NULL},
-       {"USERGROUPS_ENAB", NULL}
+       {"USERGROUPS_ENAB", NULL},
+       {NULL, NULL}
 };
 
 #ifndef LOGINDEFS
@@ -278,37 +275,24 @@ int putdef_str (const char *name, const char *value)
 /*
  * def_find - locate named item in table
  *
- * Search through a sorted table of configurable items to locate the
+ * Search through a table of configurable items to locate the
  * specified configuration option.
  */
 
 static struct itemdef *def_find (const char *name)
 {
-       int min, max, curr, n;
-
-       /*
-        * Invariant - desired item in range [min:max].
-        */
+       int n;
+       struct itemdef *ptr;
 
-       min = 0;
-       max = NUMDEFS - 1;
 
        /*
-        * Binary search into the table.  Relies on the items being
-        * sorted by name.
+        * Search into the table.
         */
 
-       while (min <= max) {
-               curr = (min + max) / 2;
-
-               if (!(n = strcmp (def_table[curr].name, name)))
-                       return &def_table[curr];
-
-               if (n < 0)
-                       min = curr + 1;
-               else
-                       max = curr - 1;
-       }
+       for (ptr = def_table; ptr->name; ptr++) {
+               if (!(n = strcmp (ptr->name, name)))
+                       return ptr;
+       }
 
        /*
         * Item was never found.
index 7b471a816aada826064d7c757d4f9f50d55b092a..1352579ad96a67a3089af5f7305c204b7b93c903 100644 (file)
@@ -41,7 +41,11 @@ host_triplet = @host@
 subdir = libmisc
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in getdate.c
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
diff --git a/m4/gettext.m4 b/m4/gettext.m4
new file mode 100644 (file)
index 0000000..6261026
--- /dev/null
@@ -0,0 +1,549 @@
+# gettext.m4 serial 36 (gettext-0.14.3)
+dnl Copyright (C) 1995-2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+dnl Macro to add for using GNU gettext.
+
+dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
+dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
+dnl    default (if it is not specified or empty) is 'no-libtool'.
+dnl    INTLSYMBOL should be 'external' for packages with no intl directory,
+dnl    and 'no-libtool' or 'use-libtool' for packages with an intl directory.
+dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
+dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
+dnl    depending on --{enable,disable}-{shared,static} and on the presence of
+dnl    AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
+dnl    $(top_builddir)/intl/libintl.a will be created.
+dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
+dnl    implementations (in libc or libintl) without the ngettext() function
+dnl    will be ignored.  If NEEDSYMBOL is specified and is
+dnl    'need-formatstring-macros', then GNU gettext implementations that don't
+dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
+dnl INTLDIR is used to find the intl libraries.  If empty,
+dnl    the value `$(top_builddir)/intl/' is used.
+dnl
+dnl The result of the configuration is one of three cases:
+dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
+dnl    and used.
+dnl    Catalog format: GNU --> install in $(datadir)
+dnl    Catalog extension: .mo after installation, .gmo in source tree
+dnl 2) GNU gettext has been found in the system's C library.
+dnl    Catalog format: GNU --> install in $(datadir)
+dnl    Catalog extension: .mo after installation, .gmo in source tree
+dnl 3) No internationalization, always use English msgid.
+dnl    Catalog format: none
+dnl    Catalog extension: none
+dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
+dnl The use of .gmo is historical (it was needed to avoid overwriting the
+dnl GNU format catalogs when building on a platform with an X/Open gettext),
+dnl but we keep it in order not to force irrelevant filename changes on the
+dnl maintainers.
+dnl
+AC_DEFUN([AM_GNU_GETTEXT],
+[
+  dnl Argument checking.
+  ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
+    [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
+])])])])])
+  ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
+    [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
+])])])])
+  define([gt_included_intl], ifelse([$1], [external], [no], [yes]))
+  define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
+
+  AC_REQUIRE([AM_PO_SUBDIRS])dnl
+  ifelse(gt_included_intl, yes, [
+    AC_REQUIRE([AM_INTL_SUBDIR])dnl
+  ])
+
+  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+
+  dnl Sometimes libintl requires libiconv, so first search for libiconv.
+  dnl Ideally we would do this search only after the
+  dnl      if test "$USE_NLS" = "yes"; then
+  dnl        if test "$gt_cv_func_gnugettext_libc" != "yes"; then
+  dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
+  dnl the configure script would need to contain the same shell code
+  dnl again, outside any 'if'. There are two solutions:
+  dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
+  dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
+  dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
+  dnl documented, we avoid it.
+  ifelse(gt_included_intl, yes, , [
+    AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+  ])
+
+  dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation.
+  gt_INTL_MACOSX
+
+  dnl Set USE_NLS.
+  AM_NLS
+
+  ifelse(gt_included_intl, yes, [
+    BUILD_INCLUDED_LIBINTL=no
+    USE_INCLUDED_LIBINTL=no
+  ])
+  LIBINTL=
+  LTLIBINTL=
+  POSUB=
+
+  dnl If we use NLS figure out what method
+  if test "$USE_NLS" = "yes"; then
+    gt_use_preinstalled_gnugettext=no
+    ifelse(gt_included_intl, yes, [
+      AC_MSG_CHECKING([whether included gettext is requested])
+      AC_ARG_WITH(included-gettext,
+        [  --with-included-gettext use the GNU gettext library included here],
+        nls_cv_force_use_gnu_gettext=$withval,
+        nls_cv_force_use_gnu_gettext=no)
+      AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
+
+      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
+      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+    ])
+        dnl User does not insist on using GNU NLS library.  Figure out what
+        dnl to use.  If GNU gettext is available we use this.  Else we have
+        dnl to fall back to GNU NLS library.
+
+        dnl Add a version number to the cache macros.
+        define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
+        define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
+        define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
+
+        AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
+         [AC_TRY_LINK([#include <libintl.h>
+]ifelse([$2], [need-formatstring-macros],
+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+changequote(,)dnl
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+changequote([,])dnl
+], [])[extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;],
+            [bindtextdomain ("", "");
+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
+            gt_cv_func_gnugettext_libc=yes,
+            gt_cv_func_gnugettext_libc=no)])
+
+        if test "$gt_cv_func_gnugettext_libc" != "yes"; then
+          dnl Sometimes libintl requires libiconv, so first search for libiconv.
+          ifelse(gt_included_intl, yes, , [
+            AM_ICONV_LINK
+          ])
+          dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
+          dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
+          dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
+          dnl even if libiconv doesn't exist.
+          AC_LIB_LINKFLAGS_BODY([intl])
+          AC_CACHE_CHECK([for GNU gettext in libintl],
+            gt_cv_func_gnugettext_libintl,
+           [gt_save_CPPFLAGS="$CPPFLAGS"
+            CPPFLAGS="$CPPFLAGS $INCINTL"
+            gt_save_LIBS="$LIBS"
+            LIBS="$LIBS $LIBINTL"
+            dnl Now see whether libintl exists and does not depend on libiconv.
+            AC_TRY_LINK([#include <libintl.h>
+]ifelse([$2], [need-formatstring-macros],
+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+changequote(,)dnl
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+changequote([,])dnl
+], [])[extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);],
+              [bindtextdomain ("", "");
+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
+              gt_cv_func_gnugettext_libintl=yes,
+              gt_cv_func_gnugettext_libintl=no)
+            dnl Now see whether libintl exists and depends on libiconv.
+            if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
+              LIBS="$LIBS $LIBICONV"
+              AC_TRY_LINK([#include <libintl.h>
+]ifelse([$2], [need-formatstring-macros],
+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+changequote(,)dnl
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+changequote([,])dnl
+], [])[extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);],
+                [bindtextdomain ("", "");
+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
+               [LIBINTL="$LIBINTL $LIBICONV"
+                LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+                gt_cv_func_gnugettext_libintl=yes
+               ])
+            fi
+            CPPFLAGS="$gt_save_CPPFLAGS"
+            LIBS="$gt_save_LIBS"])
+        fi
+
+        dnl If an already present or preinstalled GNU gettext() is found,
+        dnl use it.  But if this macro is used in GNU gettext, and GNU
+        dnl gettext is already preinstalled in libintl, we update this
+        dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
+        if test "$gt_cv_func_gnugettext_libc" = "yes" \
+           || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
+                && test "$PACKAGE" != gettext-runtime \
+                && test "$PACKAGE" != gettext-tools; }; then
+          gt_use_preinstalled_gnugettext=yes
+        else
+          dnl Reset the values set by searching for libintl.
+          LIBINTL=
+          LTLIBINTL=
+          INCINTL=
+        fi
+
+    ifelse(gt_included_intl, yes, [
+        if test "$gt_use_preinstalled_gnugettext" != "yes"; then
+          dnl GNU gettext is not found in the C library.
+          dnl Fall back on included GNU gettext library.
+          nls_cv_use_gnu_gettext=yes
+        fi
+      fi
+
+      if test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Mark actions used to generate GNU NLS library.
+        BUILD_INCLUDED_LIBINTL=yes
+        USE_INCLUDED_LIBINTL=yes
+        LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
+        LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
+        LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
+      fi
+
+      CATOBJEXT=
+      if test "$gt_use_preinstalled_gnugettext" = "yes" \
+         || test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Mark actions to use GNU gettext tools.
+        CATOBJEXT=.gmo
+      fi
+    ])
+
+    if test -n "$INTL_MACOSX_LIBS"; then
+      if test "$gt_use_preinstalled_gnugettext" = "yes" \
+         || test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Some extra flags are needed during linking.
+        LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
+        LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
+      fi
+    fi
+
+    if test "$gt_use_preinstalled_gnugettext" = "yes" \
+       || test "$nls_cv_use_gnu_gettext" = "yes"; then
+      AC_DEFINE(ENABLE_NLS, 1,
+        [Define to 1 if translation of program messages to the user's native language
+   is requested.])
+    else
+      USE_NLS=no
+    fi
+  fi
+
+  AC_MSG_CHECKING([whether to use NLS])
+  AC_MSG_RESULT([$USE_NLS])
+  if test "$USE_NLS" = "yes"; then
+    AC_MSG_CHECKING([where the gettext function comes from])
+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+      if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
+        gt_source="external libintl"
+      else
+        gt_source="libc"
+      fi
+    else
+      gt_source="included intl directory"
+    fi
+    AC_MSG_RESULT([$gt_source])
+  fi
+
+  if test "$USE_NLS" = "yes"; then
+
+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+      if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
+        AC_MSG_CHECKING([how to link with libintl])
+        AC_MSG_RESULT([$LIBINTL])
+        AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
+      fi
+
+      dnl For backward compatibility. Some packages may be using this.
+      AC_DEFINE(HAVE_GETTEXT, 1,
+       [Define if the GNU gettext() function is already present or preinstalled.])
+      AC_DEFINE(HAVE_DCGETTEXT, 1,
+       [Define if the GNU dcgettext() function is already present or preinstalled.])
+    fi
+
+    dnl We need to process the po/ directory.
+    POSUB=po
+  fi
+
+  ifelse(gt_included_intl, yes, [
+    dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
+    dnl to 'yes' because some of the testsuite requires it.
+    if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
+      BUILD_INCLUDED_LIBINTL=yes
+    fi
+
+    dnl Make all variables we use known to autoconf.
+    AC_SUBST(BUILD_INCLUDED_LIBINTL)
+    AC_SUBST(USE_INCLUDED_LIBINTL)
+    AC_SUBST(CATOBJEXT)
+
+    dnl For backward compatibility. Some configure.ins may be using this.
+    nls_cv_header_intl=
+    nls_cv_header_libgt=
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    DATADIRNAME=share
+    AC_SUBST(DATADIRNAME)
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    INSTOBJEXT=.mo
+    AC_SUBST(INSTOBJEXT)
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    GENCAT=gencat
+    AC_SUBST(GENCAT)
+
+    dnl For backward compatibility. Some Makefiles may be using this.
+    INTLOBJS=
+    if test "$USE_INCLUDED_LIBINTL" = yes; then
+      INTLOBJS="\$(GETTOBJS)"
+    fi
+    AC_SUBST(INTLOBJS)
+
+    dnl Enable libtool support if the surrounding package wishes it.
+    INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
+    AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
+  ])
+
+  dnl For backward compatibility. Some Makefiles may be using this.
+  INTLLIBS="$LIBINTL"
+  AC_SUBST(INTLLIBS)
+
+  dnl Make all documented variables known to autoconf.
+  AC_SUBST(LIBINTL)
+  AC_SUBST(LTLIBINTL)
+  AC_SUBST(POSUB)
+])
+
+
+dnl Checks for all prerequisites of the intl subdirectory,
+dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
+dnl            USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
+AC_DEFUN([AM_INTL_SUBDIR],
+[
+  AC_REQUIRE([AC_PROG_INSTALL])dnl
+  AC_REQUIRE([AM_MKINSTALLDIRS])dnl
+  AC_REQUIRE([AC_PROG_CC])dnl
+  AC_REQUIRE([AC_CANONICAL_HOST])dnl
+  AC_REQUIRE([gt_GLIBC2])dnl
+  AC_REQUIRE([AC_PROG_RANLIB])dnl
+  AC_REQUIRE([AC_ISC_POSIX])dnl
+  AC_REQUIRE([AC_HEADER_STDC])dnl
+  AC_REQUIRE([AC_C_CONST])dnl
+  AC_REQUIRE([bh_C_SIGNED])dnl
+  AC_REQUIRE([AC_C_INLINE])dnl
+  AC_REQUIRE([AC_TYPE_OFF_T])dnl
+  AC_REQUIRE([AC_TYPE_SIZE_T])dnl
+  AC_REQUIRE([gl_AC_TYPE_LONG_LONG])dnl
+  AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl
+  AC_REQUIRE([gt_TYPE_WCHAR_T])dnl
+  AC_REQUIRE([gt_TYPE_WINT_T])dnl
+  AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
+  AC_REQUIRE([gl_AC_HEADER_STDINT_H])
+  AC_REQUIRE([gt_TYPE_INTMAX_T])
+  AC_REQUIRE([gt_PRINTF_POSIX])
+  AC_REQUIRE([AC_FUNC_ALLOCA])dnl
+  AC_REQUIRE([AC_FUNC_MMAP])dnl
+  AC_REQUIRE([gl_GLIBC21])dnl
+  AC_REQUIRE([gt_INTDIV0])dnl
+  AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl
+  AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
+  AC_REQUIRE([gt_INTTYPES_PRI])dnl
+  AC_REQUIRE([gl_XSIZE])dnl
+  AC_REQUIRE([gt_INTL_MACOSX])dnl
+
+  AC_CHECK_TYPE([ptrdiff_t], ,
+    [AC_DEFINE([ptrdiff_t], [long],
+       [Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
+    ])
+  AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
+stdlib.h string.h unistd.h sys/param.h])
+  AC_CHECK_FUNCS([asprintf fwprintf getcwd getegid geteuid getgid getuid \
+mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup \
+strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \
+__fsetlocking])
+
+  dnl Use the _snprintf function only if it is declared (because on NetBSD it
+  dnl is defined as a weak alias of snprintf; we prefer to use the latter).
+  gt_CHECK_DECL(_snprintf, [#include <stdio.h>])
+  gt_CHECK_DECL(_snwprintf, [#include <stdio.h>])
+
+  dnl Use the *_unlocked functions only if they are declared.
+  dnl (because some of them were defined without being declared in Solaris
+  dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
+  dnl on Solaris 2.5.1 to run on Solaris 2.6).
+  dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
+  gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])
+  gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])
+  gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
+
+  case $gt_cv_func_printf_posix in
+    *yes) HAVE_POSIX_PRINTF=1 ;;
+    *) HAVE_POSIX_PRINTF=0 ;;
+  esac
+  AC_SUBST([HAVE_POSIX_PRINTF])
+  if test "$ac_cv_func_asprintf" = yes; then
+    HAVE_ASPRINTF=1
+  else
+    HAVE_ASPRINTF=0
+  fi
+  AC_SUBST([HAVE_ASPRINTF])
+  if test "$ac_cv_func_snprintf" = yes; then
+    HAVE_SNPRINTF=1
+  else
+    HAVE_SNPRINTF=0
+  fi
+  AC_SUBST([HAVE_SNPRINTF])
+  if test "$ac_cv_func_wprintf" = yes; then
+    HAVE_WPRINTF=1
+  else
+    HAVE_WPRINTF=0
+  fi
+  AC_SUBST([HAVE_WPRINTF])
+
+  AM_ICONV
+  AM_LANGINFO_CODESET
+  if test $ac_cv_header_locale_h = yes; then
+    gt_LC_MESSAGES
+  fi
+
+  if test -n "$INTL_MACOSX_LIBS"; then
+    CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers"
+  fi
+
+  dnl intl/plural.c is generated from intl/plural.y. It requires bison,
+  dnl because plural.y uses bison specific features. It requires at least
+  dnl bison-1.26 because earlier versions generate a plural.c that doesn't
+  dnl compile.
+  dnl bison is only needed for the maintainer (who touches plural.y). But in
+  dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
+  dnl the rule in general Makefile. Now, some people carelessly touch the
+  dnl files or have a broken "make" program, hence the plural.c rule will
+  dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
+  dnl present or too old.
+  AC_CHECK_PROGS([INTLBISON], [bison])
+  if test -z "$INTLBISON"; then
+    ac_verc_fail=yes
+  else
+    dnl Found it, now check the version.
+    AC_MSG_CHECKING([version of bison])
+changequote(<<,>>)dnl
+    ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
+    case $ac_prog_version in
+      '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+      1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
+changequote([,])dnl
+         ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+      *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+    esac
+    AC_MSG_RESULT([$ac_prog_version])
+  fi
+  if test $ac_verc_fail = yes; then
+    INTLBISON=:
+  fi
+])
+
+
+dnl Checks for special options needed on MacOS X.
+dnl Defines INTL_MACOSX_LIBS.
+AC_DEFUN([gt_INTL_MACOSX],
+[
+  dnl Check for API introduced in MacOS X 10.2.
+  AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
+    gt_cv_func_CFPreferencesCopyAppValue,
+    [gt_save_CPPFLAGS="$CPPFLAGS"
+     CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers"
+     gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -framework CoreFoundation"
+     AC_TRY_LINK([#include <CFPreferences.h>],
+       [CFPreferencesCopyAppValue(NULL, NULL)],
+       [gt_cv_func_CFPreferencesCopyAppValue=yes],
+       [gt_cv_func_CFPreferencesCopyAppValue=no])
+     CPPFLAGS="$gt_save_CPPFLAGS"
+     LIBS="$gt_save_LIBS"])
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+    AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1,
+      [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
+  fi
+  dnl Check for API introduced in MacOS X 10.3.
+  AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent,
+    [gt_save_CPPFLAGS="$CPPFLAGS"
+     CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers"
+     gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -framework CoreFoundation"
+     AC_TRY_LINK([#include <CFLocale.h>], [CFLocaleCopyCurrent();],
+       [gt_cv_func_CFLocaleCopyCurrent=yes],
+       [gt_cv_func_CFLocaleCopyCurrent=no])
+     CPPFLAGS="$gt_save_CPPFLAGS"
+     LIBS="$gt_save_LIBS"])
+  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+    AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1,
+      [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
+  fi
+  INTL_MACOSX_LIBS=
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+    INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+  fi
+  AC_SUBST([INTL_MACOSX_LIBS])
+])
+
+
+dnl gt_CHECK_DECL(FUNC, INCLUDES)
+dnl Check whether a function is declared.
+AC_DEFUN([gt_CHECK_DECL],
+[
+  AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1,
+    [AC_TRY_COMPILE([$2], [
+#ifndef $1
+  char *p = (char *) $1;
+#endif
+], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)])
+  if test $ac_cv_have_decl_$1 = yes; then
+    gt_value=1
+  else
+    gt_value=0
+  fi
+  AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],
+    [Define to 1 if you have the declaration of `$1', and to 0 if you don't.])
+])
+
+
+dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
+AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
diff --git a/m4/iconv.m4 b/m4/iconv.m4
new file mode 100644 (file)
index 0000000..654c415
--- /dev/null
@@ -0,0 +1,101 @@
+# iconv.m4 serial AM4 (gettext-0.11.3)
+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
+[
+  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+
+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+  dnl accordingly.
+  AC_LIB_LINKFLAGS_BODY([iconv])
+])
+
+AC_DEFUN([AM_ICONV_LINK],
+[
+  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
+  dnl those with the standalone portable GNU libiconv installed).
+
+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+  dnl accordingly.
+  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+
+  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
+  dnl because if the user has installed libiconv and not disabled its use
+  dnl via --without-libiconv-prefix, he wants to use it. The first
+  dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
+  am_save_CPPFLAGS="$CPPFLAGS"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
+
+  AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
+    am_cv_func_iconv="no, consider installing GNU libiconv"
+    am_cv_lib_iconv=no
+    AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+      [iconv_t cd = iconv_open("","");
+       iconv(cd,NULL,NULL,NULL,NULL);
+       iconv_close(cd);],
+      am_cv_func_iconv=yes)
+    if test "$am_cv_func_iconv" != yes; then
+      am_save_LIBS="$LIBS"
+      LIBS="$LIBS $LIBICONV"
+      AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+        [iconv_t cd = iconv_open("","");
+         iconv(cd,NULL,NULL,NULL,NULL);
+         iconv_close(cd);],
+        am_cv_lib_iconv=yes
+        am_cv_func_iconv=yes)
+      LIBS="$am_save_LIBS"
+    fi
+  ])
+  if test "$am_cv_func_iconv" = yes; then
+    AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
+  fi
+  if test "$am_cv_lib_iconv" = yes; then
+    AC_MSG_CHECKING([how to link with libiconv])
+    AC_MSG_RESULT([$LIBICONV])
+  else
+    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
+    dnl either.
+    CPPFLAGS="$am_save_CPPFLAGS"
+    LIBICONV=
+    LTLIBICONV=
+  fi
+  AC_SUBST(LIBICONV)
+  AC_SUBST(LTLIBICONV)
+])
+
+AC_DEFUN([AM_ICONV],
+[
+  AM_ICONV_LINK
+  if test "$am_cv_func_iconv" = yes; then
+    AC_MSG_CHECKING([for iconv declaration])
+    AC_CACHE_VAL(am_cv_proto_iconv, [
+      AC_TRY_COMPILE([
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
+      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
+    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+    AC_MSG_RESULT([$]{ac_t:-
+         }[$]am_cv_proto_iconv)
+    AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
+      [Define as const if the declaration of iconv() needs const.])
+  fi
+])
diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4
new file mode 100644 (file)
index 0000000..96c4e2c
--- /dev/null
@@ -0,0 +1,110 @@
+# lib-ld.m4 serial 3 (gettext-0.13)
+dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Subroutines of libtool.m4,
+dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
+dnl with libtool.m4.
+
+dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
+AC_DEFUN([AC_LIB_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  acl_cv_prog_gnu_ld=yes ;;
+*)
+  acl_cv_prog_gnu_ld=no ;;
+esac])
+with_gnu_ld=$acl_cv_prog_gnu_ld
+])
+
+dnl From libtool-1.4. Sets the variable LD.
+AC_DEFUN([AC_LIB_PROG_LD],
+[AC_ARG_WITH(gnu-ld,
+[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
+test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by GCC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [[\\/]* | [A-Za-z]:[\\/]*)]
+      [re_direlt='/[^/][^/]*/\.\./']
+      # Canonicalize the path of ld
+      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+       ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(acl_cv_path_LD,
+[if test -z "$LD"; then
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      acl_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some GNU ld's only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
+      *GNU* | *'with BFD'*)
+       test "$with_gnu_ld" != no && break ;;
+      *)
+       test "$with_gnu_ld" != yes && break ;;
+      esac
+    fi
+  done
+  IFS="$ac_save_ifs"
+else
+  acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$acl_cv_path_LD"
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_LIB_PROG_LD_GNU
+])
diff --git a/m4/lib-link.m4 b/m4/lib-link.m4
new file mode 100644 (file)
index 0000000..ea0b0c4
--- /dev/null
@@ -0,0 +1,553 @@
+# lib-link.m4 serial 6 (gettext-0.14.3)
+dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_PREREQ(2.50)
+
+dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
+dnl augments the CPPFLAGS variable.
+AC_DEFUN([AC_LIB_LINKFLAGS],
+[
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+  define([Name],[translit([$1],[./-], [___])])
+  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
+    AC_LIB_LINKFLAGS_BODY([$1], [$2])
+    ac_cv_lib[]Name[]_libs="$LIB[]NAME"
+    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
+    ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
+  ])
+  LIB[]NAME="$ac_cv_lib[]Name[]_libs"
+  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
+  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+  AC_SUBST([LIB]NAME)
+  AC_SUBST([LTLIB]NAME)
+  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
+  dnl results of this search when this library appears as a dependency.
+  HAVE_LIB[]NAME=yes
+  undefine([Name])
+  undefine([NAME])
+])
+
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
+dnl searches for libname and the libraries corresponding to explicit and
+dnl implicit dependencies, together with the specified include files and
+dnl the ability to compile and link the specified testcode. If found, it
+dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
+dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
+dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
+AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
+[
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+  define([Name],[translit([$1],[./-], [___])])
+  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+
+  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
+  dnl accordingly.
+  AC_LIB_LINKFLAGS_BODY([$1], [$2])
+
+  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
+  dnl because if the user has installed lib[]Name and not disabled its use
+  dnl via --without-lib[]Name-prefix, he wants to use it.
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+
+  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
+    ac_save_LIBS="$LIBS"
+    LIBS="$LIBS $LIB[]NAME"
+    AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
+    LIBS="$ac_save_LIBS"
+  ])
+  if test "$ac_cv_lib[]Name" = yes; then
+    HAVE_LIB[]NAME=yes
+    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
+    AC_MSG_CHECKING([how to link with lib[]$1])
+    AC_MSG_RESULT([$LIB[]NAME])
+  else
+    HAVE_LIB[]NAME=no
+    dnl If $LIB[]NAME didn't lead to a usable library, we don't need
+    dnl $INC[]NAME either.
+    CPPFLAGS="$ac_save_CPPFLAGS"
+    LIB[]NAME=
+    LTLIB[]NAME=
+  fi
+  AC_SUBST([HAVE_LIB]NAME)
+  AC_SUBST([LIB]NAME)
+  AC_SUBST([LTLIB]NAME)
+  undefine([Name])
+  undefine([NAME])
+])
+
+dnl Determine the platform dependent parameters needed to use rpath:
+dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
+dnl hardcode_direct, hardcode_minus_L.
+AC_DEFUN([AC_LIB_RPATH],
+[
+  dnl Tell automake >= 1.10 to complain if config.rpath is missing.
+  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
+  AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
+  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
+  AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
+  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
+  AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
+    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+    . ./conftest.sh
+    rm -f ./conftest.sh
+    acl_cv_rpath=done
+  ])
+  wl="$acl_cv_wl"
+  libext="$acl_cv_libext"
+  shlibext="$acl_cv_shlibext"
+  hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+  hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+  hardcode_direct="$acl_cv_hardcode_direct"
+  hardcode_minus_L="$acl_cv_hardcode_minus_L"
+  dnl Determine whether the user wants rpath handling at all.
+  AC_ARG_ENABLE(rpath,
+    [  --disable-rpath         do not hardcode runtime library paths],
+    :, enable_rpath=yes)
+])
+
+dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
+AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+[
+  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  dnl By default, look in $includedir and $libdir.
+  use_additional=yes
+  AC_LIB_WITH_FINAL_PREFIX([
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+  ])
+  AC_LIB_ARG_WITH([lib$1-prefix],
+[  --with-lib$1-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
+  --without-lib$1-prefix     don't search for lib$1 in includedir and libdir],
+[
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+        AC_LIB_WITH_FINAL_PREFIX([
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+        ])
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/lib"
+      fi
+    fi
+])
+  dnl Search the library and its dependencies in $additional_libdir and
+  dnl $LDFLAGS. Using breadth-first-seach.
+  LIB[]NAME=
+  LTLIB[]NAME=
+  INC[]NAME=
+  rpathdirs=
+  ltrpathdirs=
+  names_already_handled=
+  names_next_round='$1 $2'
+  while test -n "$names_next_round"; do
+    names_this_round="$names_next_round"
+    names_next_round=
+    for name in $names_this_round; do
+      already_handled=
+      for n in $names_already_handled; do
+        if test "$n" = "$name"; then
+          already_handled=yes
+          break
+        fi
+      done
+      if test -z "$already_handled"; then
+        names_already_handled="$names_already_handled $name"
+        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
+        dnl or AC_LIB_HAVE_LINKFLAGS call.
+        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+        eval value=\"\$HAVE_LIB$uppername\"
+        if test -n "$value"; then
+          if test "$value" = yes; then
+            eval value=\"\$LIB$uppername\"
+            test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
+            eval value=\"\$LTLIB$uppername\"
+            test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
+          else
+            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
+            dnl that this library doesn't exist. So just drop it.
+            :
+          fi
+        else
+          dnl Search the library lib$name in $additional_libdir and $LDFLAGS
+          dnl and the already constructed $LIBNAME/$LTLIBNAME.
+          found_dir=
+          found_la=
+          found_so=
+          found_a=
+          if test $use_additional = yes; then
+            if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
+              found_dir="$additional_libdir"
+              found_so="$additional_libdir/lib$name.$shlibext"
+              if test -f "$additional_libdir/lib$name.la"; then
+                found_la="$additional_libdir/lib$name.la"
+              fi
+            else
+              if test -f "$additional_libdir/lib$name.$libext"; then
+                found_dir="$additional_libdir"
+                found_a="$additional_libdir/lib$name.$libext"
+                if test -f "$additional_libdir/lib$name.la"; then
+                  found_la="$additional_libdir/lib$name.la"
+                fi
+              fi
+            fi
+          fi
+          if test "X$found_dir" = "X"; then
+            for x in $LDFLAGS $LTLIB[]NAME; do
+              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+              case "$x" in
+                -L*)
+                  dir=`echo "X$x" | sed -e 's/^X-L//'`
+                  if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
+                    found_dir="$dir"
+                    found_so="$dir/lib$name.$shlibext"
+                    if test -f "$dir/lib$name.la"; then
+                      found_la="$dir/lib$name.la"
+                    fi
+                  else
+                    if test -f "$dir/lib$name.$libext"; then
+                      found_dir="$dir"
+                      found_a="$dir/lib$name.$libext"
+                      if test -f "$dir/lib$name.la"; then
+                        found_la="$dir/lib$name.la"
+                      fi
+                    fi
+                  fi
+                  ;;
+              esac
+              if test "X$found_dir" != "X"; then
+                break
+              fi
+            done
+          fi
+          if test "X$found_dir" != "X"; then
+            dnl Found the library.
+            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
+            if test "X$found_so" != "X"; then
+              dnl Linking with a shared library. We attempt to hardcode its
+              dnl directory into the executable's runpath, unless it's the
+              dnl standard /usr/lib.
+              if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+                dnl No hardcoding is needed.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+              else
+                dnl Use an explicit option to hardcode DIR into the resulting
+                dnl binary.
+                dnl Potentially add DIR to ltrpathdirs.
+                dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+                haveit=
+                for x in $ltrpathdirs; do
+                  if test "X$x" = "X$found_dir"; then
+                    haveit=yes
+                    break
+                  fi
+                done
+                if test -z "$haveit"; then
+                  ltrpathdirs="$ltrpathdirs $found_dir"
+                fi
+                dnl The hardcoding into $LIBNAME is system dependent.
+                if test "$hardcode_direct" = yes; then
+                  dnl Using DIR/libNAME.so during linking hardcodes DIR into the
+                  dnl resulting binary.
+                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                else
+                  if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+                    dnl Use an explicit option to hardcode DIR into the resulting
+                    dnl binary.
+                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                    dnl Potentially add DIR to rpathdirs.
+                    dnl The rpathdirs will be appended to $LIBNAME at the end.
+                    haveit=
+                    for x in $rpathdirs; do
+                      if test "X$x" = "X$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      rpathdirs="$rpathdirs $found_dir"
+                    fi
+                  else
+                    dnl Rely on "-L$found_dir".
+                    dnl But don't add it if it's already contained in the LDFLAGS
+                    dnl or the already constructed $LIBNAME
+                    haveit=
+                    for x in $LDFLAGS $LIB[]NAME; do
+                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                      if test "X$x" = "X-L$found_dir"; then
+                        haveit=yes
+                        break
+                      fi
+                    done
+                    if test -z "$haveit"; then
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
+                    fi
+                    if test "$hardcode_minus_L" != no; then
+                      dnl FIXME: Not sure whether we should use
+                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+                      dnl here.
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                    else
+                      dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
+                      dnl here, because this doesn't fit in flags passed to the
+                      dnl compiler. So give up. No hardcoding. This affects only
+                      dnl very old systems.
+                      dnl FIXME: Not sure whether we should use
+                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+                      dnl here.
+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+                    fi
+                  fi
+                fi
+              fi
+            else
+              if test "X$found_a" != "X"; then
+                dnl Linking with a static library.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
+              else
+                dnl We shouldn't come here, but anyway it's good to have a
+                dnl fallback.
+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
+              fi
+            fi
+            dnl Assume the include files are nearby.
+            additional_includedir=
+            case "$found_dir" in
+              */lib | */lib/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+                additional_includedir="$basedir/include"
+                ;;
+            esac
+            if test "X$additional_includedir" != "X"; then
+              dnl Potentially add $additional_includedir to $INCNAME.
+              dnl But don't add it
+              dnl   1. if it's the standard /usr/include,
+              dnl   2. if it's /usr/local/include and we are using GCC on Linux,
+              dnl   3. if it's already present in $CPPFLAGS or the already
+              dnl      constructed $INCNAME,
+              dnl   4. if it doesn't exist as a directory.
+              if test "X$additional_includedir" != "X/usr/include"; then
+                haveit=
+                if test "X$additional_includedir" = "X/usr/local/include"; then
+                  if test -n "$GCC"; then
+                    case $host_os in
+                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                    esac
+                  fi
+                fi
+                if test -z "$haveit"; then
+                  for x in $CPPFLAGS $INC[]NAME; do
+                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                    if test "X$x" = "X-I$additional_includedir"; then
+                      haveit=yes
+                      break
+                    fi
+                  done
+                  if test -z "$haveit"; then
+                    if test -d "$additional_includedir"; then
+                      dnl Really add $additional_includedir to $INCNAME.
+                      INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
+                    fi
+                  fi
+                fi
+              fi
+            fi
+            dnl Look for dependencies.
+            if test -n "$found_la"; then
+              dnl Read the .la file. It defines the variables
+              dnl dlname, library_names, old_library, dependency_libs, current,
+              dnl age, revision, installed, dlopen, dlpreopen, libdir.
+              save_libdir="$libdir"
+              case "$found_la" in
+                */* | *\\*) . "$found_la" ;;
+                *) . "./$found_la" ;;
+              esac
+              libdir="$save_libdir"
+              dnl We use only dependency_libs.
+              for dep in $dependency_libs; do
+                case "$dep" in
+                  -L*)
+                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+                    dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
+                    dnl But don't add it
+                    dnl   1. if it's the standard /usr/lib,
+                    dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
+                    dnl   3. if it's already present in $LDFLAGS or the already
+                    dnl      constructed $LIBNAME,
+                    dnl   4. if it doesn't exist as a directory.
+                    if test "X$additional_libdir" != "X/usr/lib"; then
+                      haveit=
+                      if test "X$additional_libdir" = "X/usr/local/lib"; then
+                        if test -n "$GCC"; then
+                          case $host_os in
+                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+                          esac
+                        fi
+                      fi
+                      if test -z "$haveit"; then
+                        haveit=
+                        for x in $LDFLAGS $LIB[]NAME; do
+                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                            dnl Really add $additional_libdir to $LIBNAME.
+                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
+                          fi
+                        fi
+                        haveit=
+                        for x in $LDFLAGS $LTLIB[]NAME; do
+                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+                          if test "X$x" = "X-L$additional_libdir"; then
+                            haveit=yes
+                            break
+                          fi
+                        done
+                        if test -z "$haveit"; then
+                          if test -d "$additional_libdir"; then
+                            dnl Really add $additional_libdir to $LTLIBNAME.
+                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
+                          fi
+                        fi
+                      fi
+                    fi
+                    ;;
+                  -R*)
+                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
+                    if test "$enable_rpath" != no; then
+                      dnl Potentially add DIR to rpathdirs.
+                      dnl The rpathdirs will be appended to $LIBNAME at the end.
+                      haveit=
+                      for x in $rpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        rpathdirs="$rpathdirs $dir"
+                      fi
+                      dnl Potentially add DIR to ltrpathdirs.
+                      dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+                      haveit=
+                      for x in $ltrpathdirs; do
+                        if test "X$x" = "X$dir"; then
+                          haveit=yes
+                          break
+                        fi
+                      done
+                      if test -z "$haveit"; then
+                        ltrpathdirs="$ltrpathdirs $dir"
+                      fi
+                    fi
+                    ;;
+                  -l*)
+                    dnl Handle this in the next round.
+                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+                    ;;
+                  *.la)
+                    dnl Handle this in the next round. Throw away the .la's
+                    dnl directory; it is already contained in a preceding -L
+                    dnl option.
+                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+                    ;;
+                  *)
+                    dnl Most likely an immediate library name.
+                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
+                    LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
+                    ;;
+                esac
+              done
+            fi
+          else
+            dnl Didn't find the library; assume it is in the system directories
+            dnl known to the linker and runtime loader. (All the system
+            dnl directories known to the linker should also be known to the
+            dnl runtime loader, otherwise the system is severely misconfigured.)
+            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
+          fi
+        fi
+      fi
+    done
+  done
+  if test "X$rpathdirs" != "X"; then
+    if test -n "$hardcode_libdir_separator"; then
+      dnl Weird platform: only the last -rpath option counts, the user must
+      dnl pass all path elements in one option. We can arrange that for a
+      dnl single library, but not when more than one $LIBNAMEs are used.
+      alldirs=
+      for found_dir in $rpathdirs; do
+        alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+      done
+      dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
+      acl_save_libdir="$libdir"
+      libdir="$alldirs"
+      eval flag=\"$hardcode_libdir_flag_spec\"
+      libdir="$acl_save_libdir"
+      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+    else
+      dnl The -rpath options are cumulative.
+      for found_dir in $rpathdirs; do
+        acl_save_libdir="$libdir"
+        libdir="$found_dir"
+        eval flag=\"$hardcode_libdir_flag_spec\"
+        libdir="$acl_save_libdir"
+        LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+      done
+    fi
+  fi
+  if test "X$ltrpathdirs" != "X"; then
+    dnl When using libtool, the option that works for both libraries and
+    dnl executables is -R. The -R options are cumulative.
+    for found_dir in $ltrpathdirs; do
+      LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
+    done
+  fi
+])
+
+dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
+dnl unless already present in VAR.
+dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
+dnl contains two or three consecutive elements that belong together.
+AC_DEFUN([AC_LIB_APPENDTOVAR],
+[
+  for element in [$2]; do
+    haveit=
+    for x in $[$1]; do
+      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+      if test "X$x" = "X$element"; then
+        haveit=yes
+        break
+      fi
+    done
+    if test -z "$haveit"; then
+      [$1]="${[$1]}${[$1]:+ }$element"
+    fi
+  done
+])
diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4
new file mode 100644 (file)
index 0000000..0d895ca
--- /dev/null
@@ -0,0 +1,153 @@
+# lib-prefix.m4 serial 4 (gettext-0.14.2)
+dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
+dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
+dnl require excessive bracketing.
+ifdef([AC_HELP_STRING],
+[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
+[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
+
+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
+dnl to access previously installed libraries. The basic assumption is that
+dnl a user will want packages to use other packages he previously installed
+dnl with the same --prefix option.
+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
+dnl libraries, but is otherwise very convenient.
+AC_DEFUN([AC_LIB_PREFIX],
+[
+  AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  dnl By default, look in $includedir and $libdir.
+  use_additional=yes
+  AC_LIB_WITH_FINAL_PREFIX([
+    eval additional_includedir=\"$includedir\"
+    eval additional_libdir=\"$libdir\"
+  ])
+  AC_LIB_ARG_WITH([lib-prefix],
+[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
+  --without-lib-prefix    don't search for libraries in includedir and libdir],
+[
+    if test "X$withval" = "Xno"; then
+      use_additional=no
+    else
+      if test "X$withval" = "X"; then
+        AC_LIB_WITH_FINAL_PREFIX([
+          eval additional_includedir=\"$includedir\"
+          eval additional_libdir=\"$libdir\"
+        ])
+      else
+        additional_includedir="$withval/include"
+        additional_libdir="$withval/lib"
+      fi
+    fi
+])
+  if test $use_additional = yes; then
+    dnl Potentially add $additional_includedir to $CPPFLAGS.
+    dnl But don't add it
+    dnl   1. if it's the standard /usr/include,
+    dnl   2. if it's already present in $CPPFLAGS,
+    dnl   3. if it's /usr/local/include and we are using GCC on Linux,
+    dnl   4. if it doesn't exist as a directory.
+    if test "X$additional_includedir" != "X/usr/include"; then
+      haveit=
+      for x in $CPPFLAGS; do
+        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+        if test "X$x" = "X-I$additional_includedir"; then
+          haveit=yes
+          break
+        fi
+      done
+      if test -z "$haveit"; then
+        if test "X$additional_includedir" = "X/usr/local/include"; then
+          if test -n "$GCC"; then
+            case $host_os in
+              linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+            esac
+          fi
+        fi
+        if test -z "$haveit"; then
+          if test -d "$additional_includedir"; then
+            dnl Really add $additional_includedir to $CPPFLAGS.
+            CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
+          fi
+        fi
+      fi
+    fi
+    dnl Potentially add $additional_libdir to $LDFLAGS.
+    dnl But don't add it
+    dnl   1. if it's the standard /usr/lib,
+    dnl   2. if it's already present in $LDFLAGS,
+    dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
+    dnl   4. if it doesn't exist as a directory.
+    if test "X$additional_libdir" != "X/usr/lib"; then
+      haveit=
+      for x in $LDFLAGS; do
+        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+        if test "X$x" = "X-L$additional_libdir"; then
+          haveit=yes
+          break
+        fi
+      done
+      if test -z "$haveit"; then
+        if test "X$additional_libdir" = "X/usr/local/lib"; then
+          if test -n "$GCC"; then
+            case $host_os in
+              linux*) haveit=yes;;
+            esac
+          fi
+        fi
+        if test -z "$haveit"; then
+          if test -d "$additional_libdir"; then
+            dnl Really add $additional_libdir to $LDFLAGS.
+            LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
+          fi
+        fi
+      fi
+    fi
+  fi
+])
+
+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
+dnl acl_final_exec_prefix, containing the values to which $prefix and
+dnl $exec_prefix will expand at the end of the configure script.
+AC_DEFUN([AC_LIB_PREPARE_PREFIX],
+[
+  dnl Unfortunately, prefix and exec_prefix get only finally determined
+  dnl at the end of configure.
+  if test "X$prefix" = "XNONE"; then
+    acl_final_prefix="$ac_default_prefix"
+  else
+    acl_final_prefix="$prefix"
+  fi
+  if test "X$exec_prefix" = "XNONE"; then
+    acl_final_exec_prefix='${prefix}'
+  else
+    acl_final_exec_prefix="$exec_prefix"
+  fi
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+  prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
+dnl variables prefix and exec_prefix bound to the values they will have
+dnl at the end of the configure script.
+AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
+[
+  acl_save_prefix="$prefix"
+  prefix="$acl_final_prefix"
+  acl_save_exec_prefix="$exec_prefix"
+  exec_prefix="$acl_final_exec_prefix"
+  $1
+  exec_prefix="$acl_save_exec_prefix"
+  prefix="$acl_save_prefix"
+])
diff --git a/m4/nls.m4 b/m4/nls.m4
new file mode 100644 (file)
index 0000000..2082c3b
--- /dev/null
+++ b/m4/nls.m4
@@ -0,0 +1,51 @@
+# nls.m4 serial 2 (gettext-0.14.3)
+dnl Copyright (C) 1995-2003, 2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ(2.50)
+
+AC_DEFUN([AM_NLS],
+[
+  AC_MSG_CHECKING([whether NLS is requested])
+  dnl Default is enabled NLS
+  AC_ARG_ENABLE(nls,
+    [  --disable-nls           do not use Native Language Support],
+    USE_NLS=$enableval, USE_NLS=yes)
+  AC_MSG_RESULT($USE_NLS)
+  AC_SUBST(USE_NLS)
+])
+
+AC_DEFUN([AM_MKINSTALLDIRS],
+[
+  dnl Tell automake >= 1.10 to complain if mkinstalldirs is missing.
+  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([mkinstalldirs])])
+  dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
+  dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
+  dnl Try to locate it.
+  MKINSTALLDIRS=
+  if test -n "$ac_aux_dir"; then
+    case "$ac_aux_dir" in
+      /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
+      *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
+    esac
+  fi
+  if test -z "$MKINSTALLDIRS"; then
+    MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
+  fi
+  AC_SUBST(MKINSTALLDIRS)
+])
diff --git a/m4/po.m4 b/m4/po.m4
new file mode 100644 (file)
index 0000000..f2795ee
--- /dev/null
+++ b/m4/po.m4
@@ -0,0 +1,429 @@
+# po.m4 serial 7 (gettext-0.14.3)
+dnl Copyright (C) 1995-2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ(2.50)
+
+dnl Checks for all prerequisites of the po subdirectory.
+AC_DEFUN([AM_PO_SUBDIRS],
+[
+  AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+  AC_REQUIRE([AC_PROG_INSTALL])dnl
+  AC_REQUIRE([AM_MKINSTALLDIRS])dnl
+  AC_REQUIRE([AM_NLS])dnl
+
+  dnl Perform the following tests also if --disable-nls has been given,
+  dnl because they are needed for "make dist" to work.
+
+  dnl Search for GNU msgfmt in the PATH.
+  dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
+  dnl The second test excludes FreeBSD msgfmt.
+  AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+    [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+    :)
+  AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+  dnl Search for GNU xgettext 0.12 or newer in the PATH.
+  dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
+  dnl The second test excludes FreeBSD xgettext.
+  AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+    [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+     (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+    :)
+  dnl Remove leftover from FreeBSD xgettext call.
+  rm -f messages.po
+
+  dnl Search for GNU msgmerge 0.11 or newer in the PATH.
+  AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
+    [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
+
+  dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
+  dnl Test whether we really found GNU msgfmt.
+  if test "$GMSGFMT" != ":"; then
+    dnl If it is no GNU msgfmt we define it as : so that the
+    dnl Makefiles still can work.
+    if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
+       (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+      : ;
+    else
+      GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
+      AC_MSG_RESULT(
+        [found $GMSGFMT program is not GNU msgfmt; ignore it])
+      GMSGFMT=":"
+    fi
+  fi
+
+  dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
+  dnl Test whether we really found GNU xgettext.
+  if test "$XGETTEXT" != ":"; then
+    dnl If it is no GNU xgettext we define it as : so that the
+    dnl Makefiles still can work.
+    if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
+       (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+      : ;
+    else
+      AC_MSG_RESULT(
+        [found xgettext program is not GNU xgettext; ignore it])
+      XGETTEXT=":"
+    fi
+    dnl Remove leftover from FreeBSD xgettext call.
+    rm -f messages.po
+  fi
+
+  AC_OUTPUT_COMMANDS([
+    for ac_file in $CONFIG_FILES; do
+      # Support "outfile[:infile[:infile...]]"
+      case "$ac_file" in
+        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+      esac
+      # PO directories have a Makefile.in generated from Makefile.in.in.
+      case "$ac_file" in */Makefile.in)
+        # Adjust a relative srcdir.
+        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+        ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+        # In autoconf-2.13 it is called $ac_given_srcdir.
+        # In autoconf-2.50 it is called $srcdir.
+        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+        case "$ac_given_srcdir" in
+          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+          /*) top_srcdir="$ac_given_srcdir" ;;
+          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
+        esac
+        # Treat a directory as a PO directory if and only if it has a
+        # POTFILES.in file. This allows packages to have multiple PO
+        # directories under different names or in different locations.
+        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+          rm -f "$ac_dir/POTFILES"
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[  ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+          POMAKEFILEDEPS="POTFILES.in"
+          # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
+          # on $ac_dir but don't depend on user-specified configuration
+          # parameters.
+          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+            # The LINGUAS file contains the set of available languages.
+            if test -n "$OBSOLETE_ALL_LINGUAS"; then
+              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+            fi
+            ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+            # Hide the ALL_LINGUAS assigment from automake.
+            eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+            POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+          else
+            # The set of available languages was given in configure.in.
+            eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+          fi
+          # Compute POFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+          # Compute UPDATEPOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+          # Compute DUMMYPOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+          # Compute GMOFILES
+          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+          case "$ac_given_srcdir" in
+            .) srcdirpre= ;;
+            *) srcdirpre='$(srcdir)/' ;;
+          esac
+          POFILES=
+          UPDATEPOFILES=
+          DUMMYPOFILES=
+          GMOFILES=
+          for lang in $ALL_LINGUAS; do
+            POFILES="$POFILES $srcdirpre$lang.po"
+            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+            DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+            GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+          done
+          # CATALOGS depends on both $ac_dir and the user's LINGUAS
+          # environment variable.
+          INST_LINGUAS=
+          if test -n "$ALL_LINGUAS"; then
+            for presentlang in $ALL_LINGUAS; do
+              useit=no
+              if test "%UNSET%" != "$LINGUAS"; then
+                desiredlanguages="$LINGUAS"
+              else
+                desiredlanguages="$ALL_LINGUAS"
+              fi
+              for desiredlang in $desiredlanguages; do
+                # Use the presentlang catalog if desiredlang is
+                #   a. equal to presentlang, or
+                #   b. a variant of presentlang (because in this case,
+                #      presentlang can be used as a fallback for messages
+                #      which are not translated in the desiredlang catalog).
+                case "$desiredlang" in
+                  "$presentlang"*) useit=yes;;
+                esac
+              done
+              if test $useit = yes; then
+                INST_LINGUAS="$INST_LINGUAS $presentlang"
+              fi
+            done
+          fi
+          CATALOGS=
+          if test -n "$INST_LINGUAS"; then
+            for lang in $INST_LINGUAS; do
+              CATALOGS="$CATALOGS $lang.gmo"
+            done
+          fi
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+          for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+            if test -f "$f"; then
+              case "$f" in
+                *.orig | *.bak | *~) ;;
+                *) cat "$f" >> "$ac_dir/Makefile" ;;
+              esac
+            fi
+          done
+        fi
+        ;;
+      esac
+    done],
+   [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
+    # from automake.
+    eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+    # Capture the value of LINGUAS because we need it to compute CATALOGS.
+    LINGUAS="${LINGUAS-%UNSET%}"
+   ])
+])
+
+dnl Postprocesses a Makefile in a directory containing PO files.
+AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
+[
+  # When this code is run, in config.status, two variables have already been
+  # set:
+  # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
+  # - LINGUAS is the value of the environment variable LINGUAS at configure
+  #   time.
+
+changequote(,)dnl
+  # Adjust a relative srcdir.
+  ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+  ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+  ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+  # In autoconf-2.13 it is called $ac_given_srcdir.
+  # In autoconf-2.50 it is called $srcdir.
+  test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+  case "$ac_given_srcdir" in
+    .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+    /*) top_srcdir="$ac_given_srcdir" ;;
+    *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
+  esac
+
+  # Find a way to echo strings without interpreting backslash.
+  if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
+    gt_echo='echo'
+  else
+    if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
+      gt_echo='printf %s\n'
+    else
+      echo_func () {
+        cat <<EOT
+$*
+EOT
+      }
+      gt_echo='echo_func'
+    fi
+  fi
+
+  # A sed script that extracts the value of VARIABLE from a Makefile.
+  sed_x_variable='
+# Test if the hold space is empty.
+x
+s/P/P/
+x
+ta
+# Yes it was empty. Look if we have the expected variable definition.
+/^[     ]*VARIABLE[     ]*=/{
+  # Seen the first line of the variable definition.
+  s/^[  ]*VARIABLE[     ]*=//
+  ba
+}
+bd
+:a
+# Here we are processing a line from the variable definition.
+# Remove comment, more precisely replace it with a space.
+s/#.*$/ /
+# See if the line ends in a backslash.
+tb
+:b
+s/\\$//
+# Print the line, without the trailing backslash.
+p
+tc
+# There was no trailing backslash. The end of the variable definition is
+# reached. Clear the hold space.
+s/^.*$//
+x
+bd
+:c
+# A trailing backslash means that the variable definition continues in the
+# next line. Put a nonempty string into the hold space to indicate this.
+s/^.*$/P/
+x
+:d
+'
+changequote([,])dnl
+
+  # Set POTFILES to the value of the Makefile variable POTFILES.
+  sed_x_POTFILES="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`"
+  POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
+  # Compute POTFILES_DEPS as
+  #   $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
+  POTFILES_DEPS=
+  for file in $POTFILES; do
+    POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
+  done
+  POMAKEFILEDEPS=""
+
+  if test -n "$OBSOLETE_ALL_LINGUAS"; then
+    test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+  fi
+  if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+    # The LINGUAS file contains the set of available languages.
+    ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+    POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+  else
+    # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
+    sed_x_LINGUAS="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`"
+    ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
+  fi
+  # Hide the ALL_LINGUAS assigment from automake.
+  eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+  # Compute POFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+  # Compute UPDATEPOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+  # Compute DUMMYPOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+  # Compute GMOFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+  # Compute PROPERTIESFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
+  # Compute CLASSFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
+  # Compute QMFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
+  # Compute MSGFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
+  # Compute RESOURCESDLLFILES
+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
+  case "$ac_given_srcdir" in
+    .) srcdirpre= ;;
+    *) srcdirpre='$(srcdir)/' ;;
+  esac
+  POFILES=
+  UPDATEPOFILES=
+  DUMMYPOFILES=
+  GMOFILES=
+  PROPERTIESFILES=
+  CLASSFILES=
+  QMFILES=
+  MSGFILES=
+  RESOURCESDLLFILES=
+  for lang in $ALL_LINGUAS; do
+    POFILES="$POFILES $srcdirpre$lang.po"
+    UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+    DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+    GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+    PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
+    CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
+    QMFILES="$QMFILES $srcdirpre$lang.qm"
+    frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+    MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
+    frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+    RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
+  done
+  # CATALOGS depends on both $ac_dir and the user's LINGUAS
+  # environment variable.
+  INST_LINGUAS=
+  if test -n "$ALL_LINGUAS"; then
+    for presentlang in $ALL_LINGUAS; do
+      useit=no
+      if test "%UNSET%" != "$LINGUAS"; then
+        desiredlanguages="$LINGUAS"
+      else
+        desiredlanguages="$ALL_LINGUAS"
+      fi
+      for desiredlang in $desiredlanguages; do
+        # Use the presentlang catalog if desiredlang is
+        #   a. equal to presentlang, or
+        #   b. a variant of presentlang (because in this case,
+        #      presentlang can be used as a fallback for messages
+        #      which are not translated in the desiredlang catalog).
+        case "$desiredlang" in
+          "$presentlang"*) useit=yes;;
+        esac
+      done
+      if test $useit = yes; then
+        INST_LINGUAS="$INST_LINGUAS $presentlang"
+      fi
+    done
+  fi
+  CATALOGS=
+  JAVACATALOGS=
+  QTCATALOGS=
+  TCLCATALOGS=
+  CSHARPCATALOGS=
+  if test -n "$INST_LINGUAS"; then
+    for lang in $INST_LINGUAS; do
+      CATALOGS="$CATALOGS $lang.gmo"
+      JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
+      QTCATALOGS="$QTCATALOGS $lang.qm"
+      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+      TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
+      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+      CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
+    done
+  fi
+
+  sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
+  if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
+    # Add dependencies that cannot be formulated as a simple suffix rule.
+    for lang in $ALL_LINGUAS; do
+      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+      cat >> "$ac_file.tmp" <<EOF
+$frobbedlang.msg: $lang.po
+       @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
+       \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+    done
+  fi
+  if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
+    # Add dependencies that cannot be formulated as a simple suffix rule.
+    for lang in $ALL_LINGUAS; do
+      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+      cat >> "$ac_file.tmp" <<EOF
+$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
+       @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
+       \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+    done
+  fi
+  if test -n "$POMAKEFILEDEPS"; then
+    cat >> "$ac_file.tmp" <<EOF
+Makefile: $POMAKEFILEDEPS
+EOF
+  fi
+  mv "$ac_file.tmp" "$ac_file"
+])
diff --git a/m4/progtest.m4 b/m4/progtest.m4
new file mode 100644 (file)
index 0000000..a56365c
--- /dev/null
@@ -0,0 +1,92 @@
+# progtest.m4 serial 4 (gettext-0.14.2)
+dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1996.
+
+AC_PREREQ(2.50)
+
+# Search path for a program which passes the given test.
+
+dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
+dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
+[
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  ac_executable_p="test -x"
+else
+  ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL(ac_cv_path_$1,
+[case "[$]$1" in
+  [[\\/]]* | ?:[[\\/]]*)
+    ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+    ;;
+  *)
+    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in ifelse([$5], , $PATH, [$5]); do
+      IFS="$ac_save_IFS"
+      test -z "$ac_dir" && ac_dir=.
+      for ac_exec_ext in '' $ac_executable_extensions; do
+        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+          echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
+          if [$3]; then
+            ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
+            break 2
+          fi
+        fi
+      done
+    done
+    IFS="$ac_save_IFS"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+    ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
+  AC_MSG_RESULT([$]$1)
+else
+  AC_MSG_RESULT(no)
+fi
+AC_SUBST($1)dnl
+])
index 9e52c3b0f318637eac51f592703eaaa4b925a2f2..4c62d9b1b3bd546aec68394cecaaa0b93b16f4d1 100644 (file)
@@ -2,6 +2,44 @@
 # subdirectories for translated manual pages
 SUBDIRS = cs de es fr hu id it ja ko pl pt_BR ru zh_CN zh_TW
 
+man_XMANS = \
+       chage.1.xml \
+       chfn.1.xml \
+       chpasswd.8.xml \
+       chsh.1.xml \
+       expiry.1.xml \
+       faillog.5.xml \
+       faillog.8.xml \
+       gpasswd.1.xml \
+       groupadd.8.xml \
+       groupdel.8.xml \
+       groupmems.8.xml \
+       groupmod.8.xml \
+       groups.1.xml \
+       grpck.8.xml \
+       gshadow.5.xml \
+       lastlog.8.xml \
+       limits.5.xml \
+       login.1.xml \
+       login.access.5.xml \
+       login.defs.5.xml \
+       logoutd.8.xml \
+       mkpasswd.8.xml \
+       newusers.8.xml \
+       passwd.1.xml \
+       passwd.5.xml \
+       porttime.5.xml \
+       pwck.8.xml \
+       pwconv.8.xml \
+       shadow.3.xml \
+       shadow.5.xml \
+       su.1.xml \
+       suauth.5.xml \
+       useradd.8.xml \
+       userdel.8.xml \
+       usermod.8.xml \
+       vipw.8.xml
+
 man_MANS = \
        chage.1 \
        chfn.1 \
@@ -47,7 +85,18 @@ man_MANS = \
        vipw.8
 
 EXTRA_DIST = $(man_MANS) \
+       $(man_XMANS) \
+       id.1.xml \
+       pw_auth.3.xml \
+       shadowconfig.8.xml \
+       sulogin.8.xml \
        id.1 \
        pw_auth.3 \
        shadowconfig.8 \
        sulogin.8
+
+all:
+
+shadow-man-pages.pot:
+       xml2po -o $@ $(man_XMANS)
+
index 245a11a95254b60b4e777fdbb4d3ce3b69e54f0e..08d6ea70930ae90fc485eaead840ccbbc7a6b265 100644 (file)
@@ -38,7 +38,11 @@ host_triplet = @host@
 subdir = man
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -185,6 +189,44 @@ target_alias = @target_alias@
 
 # subdirectories for translated manual pages
 SUBDIRS = cs de es fr hu id it ja ko pl pt_BR ru zh_CN zh_TW
+man_XMANS = \
+       chage.1.xml \
+       chfn.1.xml \
+       chpasswd.8.xml \
+       chsh.1.xml \
+       expiry.1.xml \
+       faillog.5.xml \
+       faillog.8.xml \
+       gpasswd.1.xml \
+       groupadd.8.xml \
+       groupdel.8.xml \
+       groupmems.8.xml \
+       groupmod.8.xml \
+       groups.1.xml \
+       grpck.8.xml \
+       gshadow.5.xml \
+       lastlog.8.xml \
+       limits.5.xml \
+       login.1.xml \
+       login.access.5.xml \
+       login.defs.5.xml \
+       logoutd.8.xml \
+       mkpasswd.8.xml \
+       newusers.8.xml \
+       passwd.1.xml \
+       passwd.5.xml \
+       porttime.5.xml \
+       pwck.8.xml \
+       pwconv.8.xml \
+       shadow.3.xml \
+       shadow.5.xml \
+       su.1.xml \
+       suauth.5.xml \
+       useradd.8.xml \
+       userdel.8.xml \
+       usermod.8.xml \
+       vipw.8.xml
+
 man_MANS = \
        chage.1 \
        chfn.1 \
@@ -230,6 +272,11 @@ man_MANS = \
        vipw.8
 
 EXTRA_DIST = $(man_MANS) \
+       $(man_XMANS) \
+       id.1.xml \
+       pw_auth.3.xml \
+       shadowconfig.8.xml \
+       sulogin.8.xml \
        id.1 \
        pw_auth.3 \
        shadowconfig.8 \
@@ -731,6 +778,11 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \
        uninstall uninstall-am uninstall-info-am uninstall-man \
        uninstall-man1 uninstall-man3 uninstall-man5 uninstall-man8
 
+
+all:
+
+shadow-man-pages.pot:
+       xml2po -o $@ $(man_XMANS)
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
index 57c89dd2936729a5cd06129718b789034b2c7fbd..80735b21245eb1059441040ba39fbcc2d0a3d597 100644 (file)
@@ -1,4 +1,4 @@
-.\"$Id: chage.1,v 1.24 2005/04/25 15:15:17 kloczek Exp $
+.\"$Id: chage.1,v 1.25 2005/04/26 12:22:08 kloczek Exp $
 .\" Copyright 1990 - 1994 Julianne Frances Haugh
 .\" All rights reserved.
 .\"
@@ -67,7 +67,7 @@ Set the minimum number of days between password changes. A value of zero for
 this field indicates that the user may change her password at any time.
 .IP "\fB\-M\fR \fImaxdays\fR"
 Set maximum number of days during which a password is valid. When
-\fImaxdays\fR plus fIlastday\fR is less than the current day, the user will
+\fImaxdays\fR plus \fIlastday\fR is less than the current day, the user will
 be required to change her password before being able to use her account.
 This occurrence can be planned for in advance by use of the \fB\-W\fR option,
 which provides the user with advance warning.
diff --git a/man/chage.1.xml b/man/chage.1.xml
new file mode 100644 (file)
index 0000000..9553a3a
--- /dev/null
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='chage.1'>
+  <!--  $Id: chage.1.xml,v 1.7 2005/04/26 12:31:14 kloczek Exp $  -->
+  <refmeta>
+    <refentrytitle>chage</refentrytitle>
+    <manvolnum>1</manvolnum>
+    <refmiscinfo class="sectdesc">User Commands</refmiscinfo>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>chage</refname>
+    <refpurpose>change user password expiry information</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>chage</command>    
+      <arg choice='opt'>-m <replaceable>mindays</replaceable></arg>
+      <arg choice='opt'>-M <replaceable>maxdays</replaceable></arg>
+      <arg choice='opt'>-d <replaceable>lastday</replaceable></arg>
+      <arg choice='opt'>-I <replaceable>inactive</replaceable></arg>
+      <sbr/>
+      <arg choice='opt'>-E <replaceable>expiredate</replaceable></arg>
+      <arg choice='opt'>-W <replaceable>warndays</replaceable></arg>
+      <arg choice='plain'><replaceable>user</replaceable></arg>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>chage</command>    
+      <arg choice='plain'>-l <replaceable>user</replaceable>
+      </arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para><command>chage</command> command changes the number of days
+      between passwordchanges and the date of the last password change. 
+      This information is used by the system to determine when a user must
+      change her password.
+    </para>
+    <para>The <command>chage</command> command is restricted to the root
+      user, except for the <option>-l</option> option, which may be used by
+      an unprivileged user to determine when her password or account is due
+      to expire.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='options'>
+    <title>OPTIONS</title>
+    <para>
+      The options which apply to the <command>chage</command> command are:
+    </para>
+    <variablelist remap='IP'>
+      <varlistentry>
+        <term>
+          <option>-d</option> <replaceable>lastday</replaceable>
+        </term>
+        <listitem>
+          <para>
+            Set the number of days since January 1st, 1970 when the password
+            was last changed. The date may also be expressed in the format
+            YYYY-MM-DD (or the format more commonly used in your area).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-E</option> <replaceable>expiredate</replaceable>
+        </term>
+        <listitem>
+          <para>Set the date on which the user's account will no longer be
+            accessible. The <emphasis remap='I'>expiredate</emphasis> option
+            is the number of days since January 1, 1970 on which the
+            accounted is locked. The date may also be expressed in the
+            format YYYY-MM-DD (or the format more commonly used in your
+            area). A user whose account is locked must contact the system
+            administrator before being able to use the system again. Passing
+            the number <emphasis remap='I'>-1</emphasis> as the <emphasis
+            remap='I'>expiredate</emphasis> will remove an accounts
+            expiration date.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-I</option> <replaceable>inactive</replaceable>
+        </term>
+        <listitem>
+          <para>
+            Set the number of days of inactivity after a password has
+            expired before the account is locked. The <emphasis
+            remap='I'>inactive</emphasis> option is the number of days of
+            inactivity. A value of 0 disables this feature. A user whose
+            account is locked must contact the system administrator before
+            being able to use the system again.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-m</option> <replaceable>mindays</replaceable>
+        </term>
+        <listitem>
+          <para>
+            Set the minimum number of days between password changes. A value
+            of zero for this field indicates that the user may change her
+            password at any time.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-M</option> <replaceable>maxdays</replaceable>
+        </term>
+        <listitem>
+          <para>
+            Set maximum number of days during which a password is valid. 
+            When <emphasis remap='I'>maxdays</emphasis> plus <emphasis
+            remap='I'>lastday</emphasis> is less than the current day, the
+            user will be required to change her password before being able
+            to use her account.  This occurrence can be planned for in
+            advance by use of the <option>-W</option> option, which provides
+            the user with advance warning.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-W</option> <replaceable>warndays</replaceable>
+        </term>
+        <listitem>
+          <para>
+            Set the number of days of warning before a password change is
+            required. The <emphasis remap='I'>warndays</emphasis> option is
+            the number of days prior to the password expiring that a user
+            will be warned her password is about to expire.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <para>
+      If none of the options are selected, <command>chage</command> operates
+      in an interactive fashion, prompting the user with the current values
+      for all of the fields.  Enter the new value to change the field, or
+      leave the line blank to use the current value. The current value is
+      displayed between a pair of <emphasis remap='B'>[ ]</emphasis> marks.
+    </para>
+  </refsect1>
+  <refsect1 id='note'>
+    <title>NOTE</title>
+    <para>
+      The <command>chage</command> program requires shadow password file to
+      be available.  Its functionality is not available when passwords are
+      stored in the passwd file.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term>
+          <filename>/etc/passwd</filename>
+        </term>
+        <listitem>user account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <filename>/etc/shadow</filename>
+        </term>
+        <listitem>secure user account information</listitem>
+      </varlistentry>
+    </variablelist>
+    
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>
+  </refsect1>
+</refentry>
diff --git a/man/chfn.1.xml b/man/chfn.1.xml
new file mode 100644 (file)
index 0000000..52629ba
--- /dev/null
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+                   "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='chfn.1'>
+  <!-- $Id: chfn.1.xml,v 1.8 2005/04/27 16:19:48 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>chfn</refentrytitle>
+    <manvolnum>1</manvolnum>
+    <refmiscinfo class="sectdesc">User Commands</refmiscinfo>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>chfn</refname>
+    <refpurpose>change real user name and information</refpurpose>
+  </refnamediv>
+
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>chfn</command>    
+      <arg choice='opt'>-f <replaceable>full_name</replaceable></arg>
+      <arg choice='opt'>-r <replaceable>room_no</replaceable></arg>
+      <arg choice='opt'>-w <replaceable>work_ph</replaceable></arg>
+      <arg choice='opt'>-h <replaceable>home_ph</replaceable></arg>
+      <arg choice='opt'>-o <replaceable>other</replaceable></arg>
+      <arg choice='opt'><replaceable>user</replaceable></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para><command>chfn</command> changes user fullname, office number,
+      office extension, and home phone number information for a user's
+      account. This information is typically printed by <citerefentry>
+        <refentrytitle>finger</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry> and similar programs. A normal user may only change
+      the fields for her own account, the super user may change the fields
+      for any account. Also, only the super user may use the
+      <option>-o</option> option to change the undefined portions of the
+      GECOS field.
+    </para>
+    
+    <para>The only restriction placed on the contents of the fields is that
+      no control characters may be present, nor any of comma, colon, or
+      equal sign. The <emphasis remap='I'>other</emphasis> field does not
+      have this restriction, and is used to store accounting information
+      used by other applications.
+    </para>
+    
+    <para> If none of the options are selected, <command>chfn</command>
+      operates in an interactive fashion, prompting the user with the
+      current values for all of the fields. Enter the new value to change
+      the field, or leave the line blank to use the current value. The
+      current value is displayed between a pair of <emphasis remap='B'>[
+        ]</emphasis> marks. Without options, chfn prompts for the current
+      user account.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/passwd</filename></term>
+        <listitem>user account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>
+  </refsect1>
+</refentry>
diff --git a/man/chpasswd.8.xml b/man/chpasswd.8.xml
new file mode 100644 (file)
index 0000000..695fe04
--- /dev/null
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+                   "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='chpasswd.8'>
+  <!-- $Id: chpasswd.8.xml,v 1.6 2005/04/27 16:22:25 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>chpasswd</refentrytitle>
+    <manvolnum>8</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>chpasswd</refname>
+    <refpurpose>update passwords in batch mode</refpurpose>
+  </refnamediv>
+
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>chpasswd</command>
+      <arg choice='opt'>
+        <replaceable>options</replaceable>
+      </arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <command>chpasswd</command> reads a list of user name and password
+      pairs from standard input and uses this information to update a group
+      of existing users. Each line is of the format:
+    </para>
+    <para>
+      <emphasis remap='I'>user_name</emphasis>:<emphasis
+      remap='I'>password</emphasis>
+    </para>
+    <para>By default the supplied password must be in clear-text. Default
+      encription algoritm is DES. Also the password age will be updated, if
+      present.
+    </para>
+    <para>This command is intended to be used in a large system environment
+      where many accounts are created at a single time.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='options'>
+    <title>OPTIONS</title>
+    <para>
+      The options which apply to the <command>chpasswd</command> command
+      are:
+    </para>
+    <variablelist remap='IP'>
+      <varlistentry>
+        <term><option>-e</option>, <option>--encrypted</option></term>
+        <listitem>
+          <para>Supplied passwords are in encrypted form.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-h</option>, <option>--help</option></term>
+        <listitem>
+          <para>Display help message and exit.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-m</option>, <option>--md5</option></term>
+        <listitem>
+          <para>Use MD5 encryption instead DES when the supplied passwords
+            are not encrypted.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='caveats'>
+    <title>CAVEATS</title>
+    <para>Remember keep protected for reading by others fille passed to
+      standard input <command>chpasswd</command> command if it contains
+      unencrypted passwords.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>newusers</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
+  </refsect1>
+</refentry>
diff --git a/man/chsh.1.xml b/man/chsh.1.xml
new file mode 100644 (file)
index 0000000..e40f203
--- /dev/null
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='chsh1'>
+  <!-- $Id: chsh.1.xml,v 1.6 2005/04/27 16:24:09 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>chsh</refentrytitle>
+    <manvolnum>1</manvolnum>
+    <refmiscinfo class="sectdesc">User Commands</refmiscinfo>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>chsh</refname>
+    <refpurpose>change login shell</refpurpose>
+  </refnamediv>
+
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>chsh</command>    
+      <arg choice='opt'>-s <replaceable>login_shell</replaceable></arg>
+      <arg choice='opt'><replaceable>user</replaceable>
+      </arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <command>chsh</command> changes the user login shell. This determines
+      the name of the user's initial login command. A normal user may only
+      change the login shell for her own account, the super user may change
+      the login shell for any account.
+    </para>
+    
+    <para>The only restrictions placed on the login shell is that the
+      command name must be listed in <filename>/etc/shells</filename>,
+      unless the invoker is the super-user, and then any value may be added. 
+      An account with a restricted login shell may not change her login
+      shell. For this reason, placing <filename>/bin/rsh</filename> in
+      <filename>/etc/shells</filename> is discouraged since accidentally
+      changing to a restricted shell would prevent the user from every
+      changing her login shell back to its original value.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='options'>
+    <title>OPTIONS</title>
+    <para>If the <option>-s</option> option is not selected,
+      <command>chsh</command> operates in an interactive fashion, prompting
+      the user with the current login shell. Enter the new value to change
+      the shell, or leave the line blank to use the current one. The current
+      shell is displayed between a pair of <emphasis remap='B'>[ ]</emphasis>
+      marks.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/passwd</filename></term>
+        <listitem>user account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/shells</filename></term>
+        <listitem>list of valid login shells</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>
+  </refsect1>
+</refentry>
index 49a4fad22e4a3420fd785dd7c55a844e1abc6c16..29f1cb2112621f1833c8b8297826251cc264ed15 100644 (file)
@@ -38,7 +38,11 @@ host_triplet = @host@
 subdir = man/cs
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
index eb3e18340a8aec9e3d154751e94a595664a4cd4e..1b1a2dca3c1fd39ecd2b9a2fa4406d560a3b4bd2 100644 (file)
@@ -38,7 +38,11 @@ host_triplet = @host@
 subdir = man/de
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
index 16f2c2c7b4625bb31c71d9670743ff1d88c43a2e..4e691afa7fb14ee835e0984177038ab731a4794b 100644 (file)
@@ -38,7 +38,11 @@ host_triplet = @host@
 subdir = man/es
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
diff --git a/man/expiry.1.xml b/man/expiry.1.xml
new file mode 100644 (file)
index 0000000..83834d3
--- /dev/null
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='expiry.1'>
+  <!-- $Id: expiry.1.xml,v 1.6 2005/04/27 16:25:27 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>expiry</refentrytitle>
+    <manvolnum>1</manvolnum>
+    <refmiscinfo class="sectdesc">User Commands</refmiscinfo>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>expiry</refname>
+    <refpurpose>check and enforce password expiration policy</refpurpose>
+  </refnamediv>
+  <!-- body begins here -->
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>expiry</command>
+      <arg choice='opt'>-c </arg>
+      <arg choice='opt'>-f </arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <command>expiry</command> checks (<option>-c</option>) the current
+      password expiration and forces (<option>-f</option>) changes when
+      required. It is callable as a normal user command.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/passwd</filename></term>
+        <listitem>user account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/shadow</filename></term>
+        <listitem>secure user account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Ben Collins &lt;bcollins@debian.org&gt;</para>
+  </refsect1>
+</refentry>
diff --git a/man/faillog.5.xml b/man/faillog.5.xml
new file mode 100644 (file)
index 0000000..c89846c
--- /dev/null
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='faillog.5'>
+  <!-- $Id: faillog.5.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>faillog</refentrytitle>
+    <manvolnum>5</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>faillog</refname>
+    <refpurpose>Login failure logging file</refpurpose>
+  </refnamediv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <filename>/var/log/faillog</filename> maintains a count of login
+      failures and the limits for each account. The file is fixed length
+      record, indexed by numerical UID. Each record contains the count of
+      login failures since the last successful login; the maximum number of
+      failures before the account is disabled; the line the last login
+      failure occured on; and the date the last login failure occured.
+    </para>
+    
+    <para>The structure of the file is</para>
+    <literallayout remap='DS'>
+      struct   faillog {
+      short   fail_cnt;
+      short   fail_max;
+      char    fail_line[12];
+      time_t  fail_time;
+      };
+    </literallayout>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/var/log/faillog</filename></term>
+        <listitem>login failure log</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>faillog</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
+  </refsect1>
+</refentry>
+
diff --git a/man/faillog.8.xml b/man/faillog.8.xml
new file mode 100644 (file)
index 0000000..85808a8
--- /dev/null
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='faillog.8'>
+  <!--  $Id: faillog.8.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>faillog</refentrytitle>
+    <manvolnum>8</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>faillog</refname>
+    <refpurpose>display faillog records or set login failure limits</refpurpose>
+  </refnamediv>
+
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>faillog</command>    
+      <arg choice='opt'>
+        <replaceable>options</replaceable>
+      </arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <command>faillog</command> formats the contents of the failure log
+      from <filename>/var/log/faillog</filename> database. It also can be
+      used for maintains failure counters and limits.  Run
+      <command>faillog</command> without arguments display only list of user
+      faillog records who have ever had a login failure.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='options'>
+    <title>OPTIONS</title>
+    <para>
+      The options which apply to the <command>faillog</command> command
+      are:
+    </para>
+    <variablelist remap='IP'>
+      <varlistentry>
+        <term><option>-a</option>, <option>--all</option></term>
+        <listitem>
+          <para>Display faillog records for all users.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-h</option>, <option>--help</option></term>
+        <listitem>
+          <para>Display help message and exit.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-l</option>, <option>--lock-time</option>
+          <replaceable>SEC</replaceable>
+        </term>
+        <listitem>
+          <para>
+            Lock accout to <emphasis remap='I'>SEC</emphasis>
+            seconds after failed login.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-m</option>, <option>--maximum</option>
+          <replaceable>MAX</replaceable>
+        </term>
+        <listitem>
+          <para>Set maiximum number of login failures after the account is
+            disabled to <emphasis remap='I'>MAX</emphasis>. Selecting
+            <emphasis remap='I'>MAX</emphasis> value of 0 has the effect of
+            not placing a limit on the number of failed logins. The maximum
+            failure count should always be 0 for <emphasis
+            remap='B'>root</emphasis> to prevent a denial of services attack
+            against the system.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-r</option>, <option>--reset</option></term>
+        <listitem>
+          <para>Reset the counters of login failures or one recor if used
+            with -u <emphasis remap='I'>LOGIN</emphasis> option. Write
+            access to <filename>/var/log/faillog</filename> is required for
+            this option.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-t</option>, <option>--time</option>
+        <replaceable>DAYS</replaceable>
+        </term>
+        <listitem>
+          <para>
+            Display faillog records more recent than <emphasis
+            remap='I'>DAYS</emphasis>. The <option>-t</option> flag overrides
+            the use of <option>-u</option>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-u</option>, <option>--user</option>
+          <replaceable>LOGIN</replaceable>
+        </term>
+        <listitem>
+          <para>Display faillog record or maintains failure counters and
+            limits (if used with <option>-l</option>, <option>-m</option> or
+            <option>-r</option> options) only for user with <emphasis
+            remap='I'>LOGIN</emphasis>.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='caveats'>
+    <title>CAVEATS</title>
+    <para>
+      <command>faillog</command> only prints out users with no successful
+      login since the last failure. To print out a user who has had a
+      successful login since their last failure, you must explicitly request
+      the user with the <option>-u</option> flag, or print out all users
+      with the <option>-a</option> flag.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/var/log/faillog</filename></term>
+        <listitem>failure logging file</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>faillog</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
+  </refsect1>
+</refentry>
index ccd34e4cb17ab00ddadddcf37b2dcef0bae29ffb..9e963f2945baa183ff7679a11b242369fae20306 100644 (file)
@@ -38,7 +38,11 @@ host_triplet = @host@
 subdir = man/fr
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
diff --git a/man/gpasswd.1.xml b/man/gpasswd.1.xml
new file mode 100644 (file)
index 0000000..4f67d6c
--- /dev/null
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='gpasswd1'>
+  <!-- $Id: gpasswd.1.xml,v 1.7 2005/04/27 18:20:35 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>gpasswd</refentrytitle>
+    <manvolnum>1</manvolnum>
+    <refmiscinfo class="sectdesc">User Commands</refmiscinfo>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>gpasswd</refname>
+    <refpurpose>administer the /etc/group file</refpurpose>
+  </refnamediv>
+  <!-- body begins here -->
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>gpasswd</command>    
+      <arg choice='plain'>
+        <replaceable>group</replaceable>
+      </arg>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>gpasswd</command>    
+      <arg choice='plain'>-a <replaceable>user</replaceable></arg>
+      <arg choice='plain'><replaceable>group</replaceable></arg>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>gpasswd</command>    
+      <arg choice='plain'>-d <replaceable>user</replaceable></arg>
+      <arg choice='plain'><replaceable>group</replaceable></arg>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>gpasswd</command>    
+      <arg choice='plain'>-R <replaceable>group</replaceable></arg>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>gpasswd</command>
+      <arg choice='plain'>-r <replaceable>group</replaceable></arg>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>gpasswd</command>    
+      <arg choice='opt' rep='repeat'>-A <replaceable>user,</replaceable></arg>
+      <arg choice='opt' rep='repeat'>-M <replaceable>user,</replaceable></arg>
+      <arg choice='plain'><replaceable>group</replaceable></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <command>gpasswd</command> is used to administer the
+      <filename>/etc/group</filename> file (and
+      <filename>/etc/gshadow</filename> file if compiled with SHADOWGRP
+      defined). Every group can have administrators, members and a password. 
+      System administrator can use <option>-A</option> option to define
+      group administrator(s) and <option>-M</option> option to define
+      members and has all rights of group administrators and members.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='options'>
+    <title>OPTIONS</title>
+    <para>
+      Group administrator can add and delete users using <option>-a</option>
+      and <option>-d</option> options respectively. Administrators can use
+      <option>-r</option> option to remove group password. When no password
+      is set only group members can use <command>newgrp</command> to join
+      the group. Option <option>-R</option> disables access via a password
+      to the group through <command>newgrp</coamand> command (however
+      members will still be able to switch to this group).
+    </para>
+    
+    <para><command>gpasswd</command> called by a group administrator with
+      group name only prompts for the group password. If password is set the
+      members can still <citerefentry>
+        <refentrytitle>newgrp</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry> without a password, non-members must supply the password.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/group</filename></term>
+        <listitem>group account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/gshadow</filename></term>
+        <listitem>secure group account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>newgrp</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>grpck</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>gshadow</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Rafal Maszkowski &lt;rzm@pdi.net&gt;</para>
+  </refsect1>
+</refentry>
diff --git a/man/groupadd.8.xml b/man/groupadd.8.xml
new file mode 100644 (file)
index 0000000..59d269c
--- /dev/null
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='groupadd.8'>
+  <!-- $Id: groupadd.8.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>groupadd</refentrytitle>
+    <manvolnum>8</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>groupadd</refname>
+    <refpurpose>Create a new group</refpurpose>
+  </refnamediv>
+  <!-- body begins here -->
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>groupadd</command>    
+      <arg choice='opt'>
+        <arg choice='plain'>-g <replaceable>gid</replaceable></arg>
+        <arg choice='opt'>-o </arg>
+      </arg>
+      <arg choice='opt'>-f </arg>
+      <arg choice='plain'>
+        <replaceable>group</replaceable>
+      </arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>The <command>groupadd</command> command creates a new group
+      account using the values specified on the command line and the default
+      values from the system. The new group will be entered into the system
+      files as needed.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='options'>
+    <title>OPTIONS</title>
+    <para>
+      The options which apply to the <command>groupadd</command> command
+      are:
+    </para>
+    <variablelist remap='IP'>
+      <varlistentry>
+        <term>
+          <option>-f</option>
+        </term>
+        <listitem>
+          <para>This option causes to just exit with success status if the
+            specified group already exists. With <option>-g</option>, if
+            specified gid already exists, other (unique) gid is chosen (i.e.
+            <option>-g</option> is turned off).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-g</option> <replaceable>gid</replaceable>
+        </term>
+        <listitem>
+          <para>The numerical value of the group's ID. This value must be
+            unique, unless the <option>-o</option> option is used. The value
+            must be non-negative. The default is to use the smallest ID
+            value greater than 999 and greater than every other group.
+            Values between 0 and 999 are typically reserved for system
+            accounts.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/group</filename></term>
+        <listitem>group account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/gshadow</filename></term>
+        <listitem>secure group account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='exit_values'>
+    <title>EXIT VALUES</title>
+    <variablelist remap='TP'>
+      <varlistentry>
+        <term>
+          The <command>groupadd</command> command exits with the
+          following values:
+        </term>
+        <listitem>
+          <!-- .br -->
+          <para>
+            <literal>0</literal>       - success
+            <!-- .br -->
+            <literal>2</literal>       - invalid command syntax
+            <!-- .br -->
+            <literal>3</literal>       - invalid argument to option
+            <!-- .br -->
+            <literal>4</literal>       - gid not unique (when -o not
+            used)                        <!-- .br -->
+            <literal>9</literal>       - group name not unique
+            <!-- .br -->
+            <literal>10</literal>      - can't update group file
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
+  </refsect1>
+</refentry>
diff --git a/man/groupdel.8.xml b/man/groupdel.8.xml
new file mode 100644 (file)
index 0000000..6604c78
--- /dev/null
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='groupdel.8'>
+  <!-- $Id: groupdel.8.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>groupdel</refentrytitle>
+    <manvolnum>8</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>groupdel</refname>
+    <refpurpose>Delete a group</refpurpose>
+  </refnamediv>
+  <!-- body begins here -->
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>groupdel</command>    
+      <arg choice='plain'>
+        <replaceable>group</replaceable>
+      </arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para> The <command>groupdel</command> command modifies the system
+      account files, deleting all entries that refer to <emphasis
+      remap='I'>group</emphasis>. The named group must exist.
+    </para>
+    
+    <para>You must manually check all filesystems to insure that no files
+      remain with the named group as the file group ID.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='caveats'>
+    <title>CAVEATS</title>
+    <para>You may not remove the primary group of any existing user. You
+      must remove the user before you remove the group.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/group</filename></term>
+        <listitem>group account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/gshadow</filename></term>
+        <listitem>secure group account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='exit_values'>
+    <title>EXIT VALUES</title>
+    <variablelist remap='TP'>
+      <varlistentry>
+        <term>
+          The <command>groupdel</command> command exits with the
+          following values:
+        </term>
+        <listitem>
+          <!-- .br -->
+          <para>
+            <literal>0</literal>       - success
+            <!-- .br -->
+            <literal>2</literal>       - invalid command syntax
+            <!-- .br -->
+            <literal>6</literal>       - specified group doesn't exist
+            <!-- .br -->
+            <literal>8</literal>       - can't remove user's primary
+            group                        <!-- .br -->
+            <literal>10</literal>      - can't update group file
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
+  </refsect1>
+</refentry>
diff --git a/man/groupmems.8.xml b/man/groupmems.8.xml
new file mode 100644 (file)
index 0000000..940c35a
--- /dev/null
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='groupmems.8'>
+  <!-- $Id: groupmems.8.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>groupmems</refentrytitle>
+    <manvolnum>8</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>groupmems</refname>
+    <refpurpose>Administer members of a user's primary group</refpurpose>
+  </refnamediv>
+
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>groupmems</command>    
+      <group choice='plain'>
+        <arg choice='plain'>-a <replaceable>user_name</replaceable></arg>
+        <arg choice='plain'>-d <replaceable>user_name</replaceable></arg>
+        <arg choice='plain'>-l </arg><arg choice='plain'>-D </arg>
+        <arg choice='opt'>-g <replaceable>group_name</replaceable></arg>
+      </group>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      The <command>groupmems</command> utility allows a user to administer
+      his/her own group membership list without the requirement of super
+      user privileges.  The <command>groupmems</command> utility is for
+      systems that configure its users to be in their own name sake primary
+      group (i.e., guest / guest).
+    </para>
+    
+    <para>Only the super user, as administrator, can use
+      <command>groupmems</command> to alter the memberships of other groups.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='options'>
+    <title>OPTIONS</title>
+    <para>
+      The options which apply to the <command>groupmems</command> command
+      are:
+    </para>
+    <variablelist remap='IP'>
+      <varlistentry>
+        <term><option>-a</option> <replaceable>user_name</replaceable></term>
+        <listitem>
+          <para>Add a new user to the group membership list.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-d</option> <replaceable>user_name</replaceable></term>
+        <listitem>
+          <para>Delete a user from the group membership list.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-D</option></term>
+        <listitem>
+          <para>Delete all users from the group membership list.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-g</option> <replaceable>group_name</replaceable></term>
+        <listitem>
+          <para>The super user can specify which group membership
+            list to modify.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-l</option></term>
+        <listitem>
+          <para>List the group membership list.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='setup'>
+    <title>SETUP</title>
+    <para>
+      The <command>groupmems</command> executable should be in mode
+      <literal>2770</literal> as user <emphasis remap='B'>root</emphasis>
+      and in group <emphasis remap='B'>groups</emphasis>. The system
+      administrator can add users to group groups to allow or disallow them
+      using the <command>groupmems</command> utility to manage their own
+      group membership list.
+    </para>
+    
+    <para>     $ groupadd -r groups
+      <!-- .br -->
+      $ chmod 2770 groupmems
+      <!-- .br -->
+      $ chown root.groups groupmems
+      <!-- .br -->
+      $ groupmems -g groups -a gk4
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/group</filename></term>
+        <listitem>group account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/gshadow</filename></term>
+        <listitem>secure group account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>George Kraft IV (gk4@us.ibm.com)</para>
+  </refsect1>
+</refentry>
diff --git a/man/groupmod.8.xml b/man/groupmod.8.xml
new file mode 100644 (file)
index 0000000..ea0f383
--- /dev/null
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='groupmod.8'>
+  <!-- $Id: groupmod.8.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>groupmod</refentrytitle>
+    <manvolnum>8</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>groupmod</refname>
+    <refpurpose>modify a group</refpurpose>
+  </refnamediv>
+  <!-- body begins here -->
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>groupmod</command>    
+      <arg choice='opt'>
+        <arg choice='plain'>-g <replaceable>gid</replaceable></arg>
+        <arg choice='opt'>-o </arg>
+      </arg>
+      <arg choice='opt'>-n <replaceable>new_group_name</replaceable></arg>
+      <arg choice='plain'><replaceable>group</replaceable></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      The <command>groupmod</command> command modifies the system account
+      files to reflect the changes that are specified on the command line.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='options'>
+    <title>OPTIONS</title>
+    <para>
+      The options which apply to the <command>groupmod</command> command
+      are:
+    </para>
+    <variablelist remap='IP'>
+      <varlistentry>
+        <term>
+          <option>-g</option> <replaceable>gid</replaceable>
+        </term>
+        <listitem>
+          <para>The numerical value of the group's ID. This value must be
+            unique, unless the <option>-o</option> option is used. The value
+            must be non-negative. Values between 0 and 999 are typically
+            reserved for system groups. Any files which the old group ID is
+            the file group ID must have the file group ID changed manually.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-n</option> <replaceable>new_group_name</replaceable></term>
+        <listitem>
+          <para> The name of the group will be changed from <emphasis
+            remap='I'>group</emphasis> to <emphasis
+            remap='I'>new_group_name</emphasis>.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/group</filename></term>
+        <listitem>group account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/gshadow</filename></term>
+        <listitem>secure group account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='exit_values'>
+    <title>EXIT VALUES</title>
+    <variablelist remap='TP'>
+      <varlistentry>
+        <term>
+          The <command>groupmod</command> command exits with the
+          following values:
+        </term>
+        <listitem>
+          <!-- .br -->
+          <para>
+            <literal>0</literal>       - success
+            <!-- .br -->
+            <literal>2</literal>       - bad command syntax
+            <!-- .br -->
+            <literal>3</literal>       - invalid argument to option
+            <!-- .br -->
+            <literal>4</literal>       - gid already in use (and no -o)
+            <!-- .br -->
+            <literal>6</literal>       - specified group doesn't exist
+            <!-- .br -->
+            <literal>9</literal>       - group name already in use
+            <!-- .br -->
+            <literal>10</literal>      - can't update group file
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
+  </refsect1>
+</refentry>
diff --git a/man/groups.1.xml b/man/groups.1.xml
new file mode 100644 (file)
index 0000000..dc25c74
--- /dev/null
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='groups.1'>
+  <!-- $Id: groups.1.xml,v 1.7 2005/04/27 18:20:35 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>groups</refentrytitle>
+    <manvolnum>1</manvolnum>
+    <refmiscinfo class="sectdesc">User Commands</refmiscinfo>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>groups</refname>
+    <refpurpose>display current group names</refpurpose>
+  </refnamediv>
+
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>groups</command>    
+      <arg choice='opt'>
+        <replaceable>user</replaceable>
+      </arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <command>groups</command> displays the current group names or ID
+      values. If the value does not have a corresponding entry in
+      <filename>/etc/group</filename>, the value will be displayed as the
+      numerical group value. The optional <emphasis
+      remap='I'>user</emphasis> parameter will display the groups for the
+      named <emphasis remap='I'>user</emphasis>.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='note'>
+    <title>NOTE</title>
+    <para>Systems which do not support concurrent group sets will have the
+      information from <filename>/etc/group</filename> reported. The user
+      must use <command>newgrp</coamand> or <command>sg</coamand> to change
+      their current real and effective group ID.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/group</filename></term>
+        <listitem>group account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>newgrp</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>getgid</refentrytitle><manvolnum>2</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>getgroups</refentrytitle><manvolnum>2</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>getuid</refentrytitle><manvolnum>2</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>
+  </refsect1>
+</refentry>
diff --git a/man/grpck.8.xml b/man/grpck.8.xml
new file mode 100644 (file)
index 0000000..534bacd
--- /dev/null
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='grpck.8'>
+  <!-- $Id: grpck.8.xml,v 1.6 2005/04/27 18:20:35 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>grpck</refentrytitle>
+    <manvolnum>8</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>grpck</refname>
+    <refpurpose>verify integrity of group files</refpurpose>
+  </refnamediv>
+
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>grpck</command>    <arg choice='opt'>-r </arg>
+      <arg choice='opt'>
+        <arg choice='plain'><replaceable>group</replaceable></arg>
+        <arg choice='plain'><replaceable>shadow</replaceable></arg>
+      </arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <command>grpck</command> verifies the integrity of the system
+      authentication information. All entries in the
+      <filename>/etc/group</filename> and <filename>/etc/gshadow</filename>
+      are checked to see that the entry has the proper format and valid data
+      in each field. The user is prompted to delete entries that are
+      improperly formatted or which have other incorrectable errors.
+    </para>
+    
+    <para>Checks are made to verify that each entry has:</para>
+    
+    <!-- .in +.5i -->
+    <para>- the correct number of fields
+      <!-- .br -->
+      - a unique group name
+      <!-- .br -->
+      - a valid list of members and administrators
+    </para>
+    <!-- .in \-.5i -->
+    
+    <para>The checks for correct number of fields and unique group name are
+      fatal. If the entry has the wrong number of fields, the user will be
+      prompted to delete the entire line. If the user does not answer
+      affirmatively, all further checks are bypassed. An entry with a
+      duplicated group name is prompted for deletion, but the remaining
+      checks will still be made. All other errors are warnings and the user
+      is encouraged to run the <command>groupmod</coamand> command to
+      correct the error.
+    </para>
+    
+    <para>The commands which operate on the <filename>/etc/group</filename>
+      file are not able to alter corrupted or duplicated entries.
+      <command>grpck</command> should be used in those circumstances to
+      remove the offending entry.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='options'>
+    <title>OPTIONS</title>
+    <para>
+      By default, <command>grpck</command> operates on the files
+      <filename>/etc/group</filename> and <filename>/etc/gshadow</filename>. 
+      The user may select alternate files with the <emphasis
+      remap='I'>group</emphasis> and <emphasis remap='I'>shadow</emphasis>
+      parameters. Additionally, the user may execute the command in
+      read-only mode by specifying the <option>-r</option> flag. This causes
+      all questions regarding changes to be answered <emphasis
+      remap='B'>no</emphasis> without user intervention. 
+      <command>grpck</command> can also sort entries in
+      <filename>/etc/group</filename> and <filename>/etc/gshadow</filename>
+      by GID. To run it in sort mode pass it <option>-s</option> flag. No
+      checks are performed then, it just sorts.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/group</filename></term>
+        <listitem>group account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/gshadow</filename></term>
+        <listitem>secure group account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/passwd</filename></term>
+        <listitem>user account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='exit_values'>
+    <title>EXIT VALUES</title>
+    <variablelist remap='TP'>
+      <varlistentry>
+        <term>
+          The <command>grpck</command> command exits with the
+          following values:
+        </term>
+        <listitem>
+          <!-- .br -->
+          <para>
+            <literal>0</literal>       - success
+            <!-- .br -->
+            <literal>1</literal>       - syntax Error
+            <!-- .br -->
+            <literal>2</literal>       - one or more bad group entries
+            <!-- .br -->
+            <literal>3</literal>       - can't open group files
+            <!-- .br -->
+            <literal>4</literal>       - can't lock group files
+            <!-- .br -->
+            <literal>5</literal>       - can't update group files
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
+  </refsect1>
+</refentry>
diff --git a/man/gshadow.5.xml b/man/gshadow.5.xml
new file mode 100644 (file)
index 0000000..2781458
--- /dev/null
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='gshadow.5'>
+  <!-- $Id: gshadow.5.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>gshadow</refentrytitle>
+    <manvolnum>5</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>gshadow</refname>
+    <refpurpose>shadowed group file</refpurpose>
+  </refnamediv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <emphasis remap='I'>gshadow</emphasis> contains the shadowed
+      information for group accounts. It contains lines with the folowing
+      colon-separated fields:
+    </para>
+    
+    <para>Group name</para>
+    
+    <para>Encrypted password</para>
+    
+    <para>Comma-separated list of group administrators</para>
+    
+    <para>Comma-separated list of group members.</para>
+    
+    <para>The group name and password fields must be filled.  The encryped
+      password consists of 13 characters from the 64-character alphabet a
+      thru z, A thru Z, 0 thru 9, \. and /.  Refer to <citerefentry>
+        <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
+      </citerefentry> for details on how this string is interpreted.  If the
+      password field contains some string that is not valid result of
+      <citerefentry>
+      <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
+      </citerefentry>, for instance ! or *, the user will not be able to use
+      a unix password to log in, subject to <citerefentry>
+        <refentrytitle>pam</refentrytitle><manvolnum>7</manvolnum>
+      </citerefentry>.
+    </para>
+    
+    <para>This information supercedes any password present in
+    <filename>/etc/group</filename>.
+    </para>
+    
+    <para>This file must not be readable by regular users if password
+      security is to be maintained.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/group</filename></term>
+        <listitem>group account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/gshadow</filename></term>
+        <listitem>secure group account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>gpasswd</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>newgrp</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Nicolas FRANCOIS</para>
+  </refsect1>
+</refentry>
index 228495b226127e6fca1b48d43d3f9da7cea15e6c..fdc74be2a0aebbaeb32483a406a6bacfda1aa18c 100644 (file)
@@ -38,7 +38,11 @@ host_triplet = @host@
 subdir = man/hu
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
diff --git a/man/id.1.xml b/man/id.1.xml
new file mode 100644 (file)
index 0000000..9590c3d
--- /dev/null
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='id.1'>
+  <!-- $Id: id.1.xml,v 1.6 2005/04/27 16:44:12 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>id</refentrytitle>
+    <manvolnum>1</manvolnum>
+    <refmiscinfo class="sectdesc">User Commands</refmiscinfo>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>id</refname>
+    <refpurpose>Display current user and group ID names</refpurpose>
+  </refnamediv>
+
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>id</command>    <arg choice='opt'>-a </arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <command>id</command> displays the current real and effective user and
+      group ID names or values. If the value does not have a corresponding
+      entry in <filename>/etc/passwd</filename> or
+      <filename>/etc/group</filename>, the value will be displayed without
+      the corresponding name. The optional <option>-a</option> flag will
+      display the group set on systems which support multiple concurrent
+      group membership.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/group</filename></term>
+        <listitem>group account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/passwd</filename></term>
+        <listitem>user account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>getgid</refentrytitle><manvolnum>2</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>getgroups</refentrytitle><manvolnum>2</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>getuid</refentrytitle><manvolnum>2</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>
+  </refsect1>
+</refentry>
index 186fcf3d7d4e2dc2dc73db7f705188407d7f07a3..f12b10e045420652c78cc78edcd48ac63ad18cca 100644 (file)
@@ -38,7 +38,11 @@ host_triplet = @host@
 subdir = man/id
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
index 0e067e1b66b7dd655343ee0b8521f70f9f9e6509..0ae783aec09d1eec21e8aa64d87b5d60a746bd73 100644 (file)
@@ -38,7 +38,11 @@ host_triplet = @host@
 subdir = man/it
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
index 84d69caab1db9096cba8331247e130e40c691913..6029d7b8ead31c62be0dd30a37f9d493e8d731a9 100644 (file)
@@ -38,7 +38,11 @@ host_triplet = @host@
 subdir = man/ja
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
index d1b83a2e22a2beb66dd1aff4eb535b332a3b9656..c4e462002fbc68dc4b5d29133ae314c59bd9a8d5 100644 (file)
@@ -38,7 +38,11 @@ host_triplet = @host@
 subdir = man/ko
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
diff --git a/man/lastlog.8.xml b/man/lastlog.8.xml
new file mode 100644 (file)
index 0000000..d870eb4
--- /dev/null
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='lastlog.8'>
+  <!-- $Id: lastlog.8.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>lastlog</refentrytitle>
+    <manvolnum>8</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>lastlog</refname>
+    <refpurpose>examine lastlog file</refpurpose>
+  </refnamediv>
+  <!-- body begins here -->
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>lastlog</command>    
+      <arg choice='opt'>
+        <replaceable>options</replaceable>
+      </arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <command>lastlog</command> formats and prints the contents of the last
+      login log <filename>/var/log/lastlog</filename> file. The <emphasis
+      remap='B'> login-name</emphasis>, <emphasis remap='B'>port</emphasis>,
+      and <emphasis remap='B'>last login time</emphasis> will be printed.
+      The default (no flags) causes lastlog entries to be printed, sorted by
+      their order in <filename>/etc/passwd</filename>.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='options'>
+    <title>OPTIONS</title>
+    <variablelist remap='TP'>
+      <varlistentry>
+        <term>
+          The options which apply to the <command>lastlog</command>
+          command are:
+        </term>
+      </varlistentry>
+    </variablelist>
+    <variablelist remap='IP'>
+      <varlistentry>
+        <term>
+          <option>-h</option>, <option>--help</option>
+        </term>
+        <listitem>
+          <para>Print help message and exit.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-t</option>, <option>--time</option> <replaceable>
+            DAYS
+          </replaceable>
+        </term>
+        <listitem>
+          <para>
+            Print the lastlog records more recent than <emphasis remap='I'>
+              DAYS
+            </emphasis>
+            .
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-u</option>, <option>--user</option> <replaceable>
+            LOGIN
+          </replaceable>
+        </term>
+        <listitem>
+          <para> Print the lastlog record for user with specified <emphasis
+            remap='I'> LOGIN</emphasis>only.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    <variablelist remap='TP'>
+      <varlistentry>
+        <term>
+          The <option>-t</option> flag overrides the use of <option>-u</option>.
+        </term>
+        <listitem>
+          <para></para> <!-- FIXME: blank list item -->
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    
+    <para> If the user has never logged in the message <emphasis
+      remap='B'>"**Never logged in**" </emphasis> will be displayed instead
+      of the port and time.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/var/log/lastlog</filename></term>
+        <listitem>lastlog logging file</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='caveats'>
+    <title>CAVEATS</title>
+    <para>Large gaps in uid numbers will cause the lastlog program to run
+      longer with no output to the screen (i.e. if mmdf=800 and last
+      uid=170, program will appear to hang as it processes uid 171-799).
+    </para>
+  </refsect1>
+  
+  <refsect1 id='authors'>
+    <title>AUTHORS</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)
+      <!-- .br -->
+      Phillip Street
+    </para>
+  </refsect1>
+</refentry>
diff --git a/man/limits.5.xml b/man/limits.5.xml
new file mode 100644 (file)
index 0000000..f67ce94
--- /dev/null
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='limits5'>
+  <!-- $Id: limits.5.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>LIMITS</refentrytitle>
+    <manvolnum>5</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>limits</refname>
+    <refpurpose>Resource limits definition</refpurpose>
+  </refnamediv>
+  <!-- body begins here -->
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      The <emphasis remap='I'>limits</emphasis> file (/etc/limits by
+      default or LIMITS_FILE defined
+      config.h) describes the resource limits you wish to impose. It
+      should be
+      owned by root and readable by root account only.
+    </para>
+    
+    <para>By default no quotas are imposed on 'root'. In fact, there is no
+      way to impose
+      limits via this procedure to root-equiv accounts (accounts with UID
+      0).
+    </para>
+    
+    <para>Each line describes a limit for a user in the form:</para>
+    
+    <para>
+      <emphasis remap='I'>user LIMITS_STRING</emphasis>
+    </para>
+    
+    <para>
+      The <emphasis remap='B'>LIMITS_STRING</emphasis> is a string of a
+      concatenated list of resource limits.
+      Each limit consists of a letter identifier followed by a numerical
+      limit.
+    </para>
+    
+    <para>The valid identifiers are:</para>
+    
+    <para>A: max address space (KB)
+      <!-- .br -->
+      C: max core file size (KB)
+      <!-- .br -->
+      D: max data size (KB)
+      <!-- .br -->
+      F: maximum filesize (KB)
+      <!-- .br -->
+      M: max locked-in-memory address space (KB)
+      <!-- .br -->
+      N: max number of open files
+      <!-- .br -->
+      R: max resident set size (KB)
+      <!-- .br -->
+      S: max stack size (KB)
+      <!-- .br -->
+      T: max CPU time (MIN)
+      <!-- .br -->
+      U: max number of processes
+      <!-- .br -->
+      K: file creation mask, set by 
+      <citerefentry>
+        <refentrytitle>umask</refentrytitle><manvolnum>2</manvolnum>
+      </citerefentry>
+      .
+      <!-- .br -->
+      L: max number of logins for this user
+      <!-- .br -->
+      P: process priority, set by 
+      <citerefentry>
+        <refentrytitle>setpriority</refentrytitle><manvolnum>2</manvolnum>
+      </citerefentry>
+      .
+    </para>
+    
+    <para> For example, <emphasis remap='I'>L2D2048N5</emphasis> is a valid
+      <emphasis remap='B'>LIMITS_STRING </emphasis>. For reading
+      convenience, the following entries are equivalent:
+    </para>
+    
+    <para>username L2D2048N5
+      <!-- .br -->
+      username L2 D2048 N5
+    </para>
+    
+    <para> Be aware that after <emphasis remap='I'>username</emphasis> the
+      rest of the line is considered a limit string, thus comments are not
+      allowed. A invalid limits string will be rejected (not considered) by
+      the login program.
+    </para>
+    
+    <para> The default entry is denoted by username "<emphasis
+      remap='B'>*</emphasis>". If you have multiple <emphasis
+      remap='I'>default</emphasis> entries in your <emphasis
+      remap='B'>LIMITS_FILE</emphasis>, then the last one will be used as
+      the default entry.
+    </para>
+    
+    <para>To completely disable limits for a user, a single dash "<emphasis
+      remap='B'>-</emphasis> "will do.
+    </para>
+    
+    <para>Also, please note that all limit settings are set PER LOGIN. They
+      are not global, nor are they permanent. Perhaps global limits will
+      come, but for now this will have to do ;)
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/limits</filename></term>
+        <listitem></listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>setpriority</refentrytitle><manvolnum>2</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>setrlimit</refentrytitle><manvolnum>2</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Cristian Gafton (gafton@sorosis.ro)</para>
+  </refsect1>
+</refentry>
index 3ebf245f717bf443f35acdae7c371c3114de129e..eec9b6fce9fdd776fcd93ff787516ed956319fd3 100644 (file)
@@ -1,4 +1,4 @@
-.\" $Id: login.1,v 1.23 2005/04/12 16:31:06 kloczek Exp $
+.\" $Id: login.1,v 1.24 2005/04/26 12:38:53 kloczek Exp $
 .\" Copyright 1989 - 1994, Julianne Frances Haugh
 .\" All rights reserved.
 .\"
@@ -37,7 +37,7 @@ login \- begin session on the system
 .SH DESCRIPTION
 \fBlogin\fR is used to establish a new session with the system. It is
 normally invoked automatically by responding to the \fIlogin:\fR prompt on
-the user\'s terminal. fBlogin\fR may be special to the shell and may not be
+the user\'s terminal. \fBlogin\fR may be special to the shell and may not be
 invoked as a sub\-process. Typically, \fBlogin\fR is treated by the shell as
 \fBexec login\fR which causes the user to exit from the current shell.
 Attempting to execute \fBlogin\fR from any shell but the login shell will
diff --git a/man/login.1.xml b/man/login.1.xml
new file mode 100644 (file)
index 0000000..e4d12e2
--- /dev/null
@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='login.1'>
+  <!--  $Id: login.1.xml,v 1.6 2005/04/26 12:45:50 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>LOGIN</refentrytitle>
+    <manvolnum>1</manvolnum>
+    <refmiscinfo class="sectdesc">User Commands</refmiscinfo>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>login</refname>
+    <refpurpose>begin session on the system</refpurpose>
+  </refnamediv>
+  <!-- body begins here -->
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>login</command>
+      <arg choice='opt'>-p </arg>
+      <arg choice='opt'>
+      <replaceable>username</replaceable></arg>
+      <arg choice='opt' rep='repeat'> <replaceable>ENV=VAR</replaceable></arg>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>login</command>
+      <arg choice='opt'>-p </arg>
+      <arg choice='opt'>-h <replaceable>host</replaceable></arg>
+      <arg choice='opt'>-f <replaceable>username</replaceable></arg>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>login</command>
+      <arg choice='opt'>-p </arg>
+      <arg choice='plain'>-r <replaceable>host</replaceable></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <command>login</command> is used to establish a new session with the
+      system. It is normally invoked automatically by responding to the
+      <emphasis remap='I'>login:</emphasis> prompt on the user&acute;s
+      terminal. <command>login</command> may be special to the shell and may
+      not be invoked as a sub-process. Typically, <command>login</command>
+      is treated by the shell as <emphasis remap='B'>exec login</emphasis>
+      which causes the user to exit from the current shell.  Attempting to
+      execute <command>login</command> from any shell but the login shell
+      will produce an error message.
+    </para>
+    
+    <para>The user is then prompted for a password, where appropriate. 
+      Echoing is disabled to prevent revealing the password. Only a small
+      number of password failures are permitted before
+      <command>login</command> exits and the communications link is severed.
+    </para>
+    
+    <para>If password aging has been enabled for your account, you may be
+      prompted for a new password before proceeding. You will be forced to
+      provide your old password and the new password before continuing. 
+      Please refer to <citerefentry>
+      <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry> for more information.
+    </para>
+    
+    <para>After a successful login, you will be informed of any system
+      messages and the presence of mail. You may turn off the printing of
+      the system message file, <filename>/etc/motd</filename>, by creating a
+      zero-length file <markup>.hushlogin</markup> in your login directory. 
+      The mail message will be one of "<emphasis remap='B'>You have new
+      mail.</emphasis> ", "<emphasis remap='B'>You have mail.</emphasis>",
+      or "<emphasis remap='B'>No Mail.</emphasis> "according to the
+      condition of your mailbox.
+    </para>
+    
+    <para>Your user and group ID will be set according to their values in
+      the <filename>/etc/passwd</filename> file. The value for <emphasis
+      remap='B'>$HOME</emphasis>, <emphasis remap='B'>$SHELL</emphasis>,
+      <emphasis remap='B'>$PATH</emphasis>, <emphasis remap='B'>$LOGNAME</emphasis>,
+      and <emphasis remap='B'>$MAIL</emphasis> are set according to the
+      appropriate fields in the password entry. Ulimit, umask and nice
+      values may also be set according to entries in the GECOS field.
+    </para>
+    
+    <para>On some installations, the environmental variable <emphasis
+      remap='B'>$TERM</emphasis> will be initialized to the terminal type on
+      your tty line, as specified in <filename>/etc/ttytype</filename>.
+    </para>
+    
+    <para>An initialization script for your command interpreter may also be
+      executed. Please see the appropriate manual section for more
+      information on
+      this function.
+    </para>
+    
+    <para>A subsystem login is indicated by the presence of a "*" as the
+      first character of the login shell. The given home directory will be
+      used as the root of a new file system which the user is actually
+      logged into.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='options'>
+    <title>OPTIONS</title>
+    <variablelist remap='IP'>
+      <varlistentry>
+        <term>
+          <option>-f</option>
+        </term>
+        <listitem>
+          <para>Do not perform authentication, user is preauthenticated.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-h</option>
+        </term>
+        <listitem>
+          <para>Name of the remote host for this login.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-p</option>
+        </term>
+        <listitem>
+          <para>Preserve environment.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-r</option>
+        </term>
+        <listitem>
+          <para>Perform autologin protocol for rlogin.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    
+    <para>The <option>-r</option>, <option>-h</option> and
+      <option>-f</option> options are only used when
+      <command>login</command> is invoked by root.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='caveats'>
+    <title>CAVEATS</title>
+    <para>
+      This version of <command>login</command> has many compilation options,
+      only some of which may be in use at any particular site.
+    </para>
+    
+    <para>The location of files is subject to differences in system
+      configuration.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <para>
+      <filename>/var/run/utmp</filename>               - list of current login
+      sessions            <!-- .br -->
+      <filename>/var/log/wtmp</filename>               - list of previous login
+      sessions
+      <!-- .br -->
+      <filename>/etc/passwd</filename>         - user account information
+      <!-- .br -->
+      <filename>/etc/shadow</filename>         - secure user account information
+      <!-- .br -->
+      <filename>/etc/motd</filename>                   - system message file
+      <!-- .br -->
+      <filename>/etc/nologin</filename>                - prevent non-root users from
+      logging in
+      <!-- .br -->
+      <filename>/etc/ttytype</filename>                - list of terminal types
+      <!-- .br -->
+      <emphasis remap='I'>$HOME/.hushlogin</emphasis>  - suppress printing
+      of system messages
+    </para>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>mail</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>nologin</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>getty</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>
+  </refsect1>
+</refentry>
diff --git a/man/login.access.5.xml b/man/login.access.5.xml
new file mode 100644 (file)
index 0000000..b851707
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='loginaccess5'>
+  <!-- $Id: login.access.5.xml,v 1.4 2005/04/22 07:00:57 kloczek Exp $ -->
+  <!--  this is comment -->
+  <refmeta>
+    <refentrytitle>LOGIN.ACCESS</refentrytitle>
+    <manvolnum>5</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>login.access</refname>
+    <refpurpose>Login access control table</refpurpose>
+  </refnamediv>
+  <!-- body begins here -->
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      The <emphasis remap='I'>login.access</emphasis> file specifies
+      (user, host) combinations and/or
+      (user, tty) combinations for which a login will be either accepted
+      or
+      refused.
+    </para>
+    
+    <para>
+      When someone logs in, the <emphasis remap='I'>login.access</emphasis> is
+      scanned for the first entry
+      that matches the (user, host) combination, or, in case of
+      non-networked
+      logins, the first entry that matches the (user, tty) combination.
+      The
+      permissions field of that table entry determines whether the login
+      will be
+      accepted or refused.
+    </para>
+    
+    <para>Each line of the login access control table has three fields
+      separated by a
+      ":" character:
+    </para>
+    
+    <para>
+      <emphasis remap='I'>permission</emphasis>:<emphasis remap='I'>users</emphasis>:<emphasis remap='I'>
+        origins
+      </emphasis>
+    </para>
+    
+    <para>
+      The first field should be a "<emphasis remap='B'>+</emphasis>"
+      (access granted) or "<emphasis remap='B'>-</emphasis>" (access
+      denied) character. The second field should be a list of one or more
+      login
+      names, group names, or <emphasis remap='B'>ALL</emphasis> (always
+      matches). The third field should be
+      a list of one or more tty names (for non-networked logins), host
+      names,
+      domain names (begin with "<literal>.</literal>"), host addresses,
+      internet network
+      numbers (end with "<literal>.</literal>"), <emphasis remap='B'>ALL</emphasis> (always matches) or <emphasis remap='B'>
+        LOCAL
+      </emphasis>
+      (matches any string that does not contain a "<literal>.</literal>"
+      character). If you run
+      NIS you can use @netgroupname in host or user patterns.
+    </para>
+    
+    <para>
+      The <emphasis remap='B'>EXCEPT</emphasis> operator makes it
+      possible to write very compact rules.
+    </para>
+    
+    <para>The group file is searched only when a name does not match that
+      of the
+      logged-in user. Only groups are matched in which users are
+      explicitly
+      listed: the program does not look at a user's primary group id
+      value.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <para>
+      <filename>/etc/loginn.defs</filename>    - shadow password suite
+      configuration
+    </para>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Guido van Rooij</para>
+  </refsect1>
+</refentry>
index 8c158b511c0322b02c8b2c07f6cc904365145ed0..1cb16f912c533392e12a294d72de2ca0d69906ed 100644 (file)
@@ -1,4 +1,4 @@
-.\" $Id: login.defs.5,v 1.15 2005/04/05 18:47:50 kloczek Exp $
+.\" $Id: login.defs.5,v 1.17 2005/04/26 12:16:36 kloczek Exp $
 .\" Copyright 1991 - 1993, Julianne Frances Haugh and Chip Rosenthal
 .\" All rights reserved.
 .\"
@@ -57,8 +57,8 @@ If \fIyes\fR, the \fBchfn\fR and \fBchsh\fR programs will require
 authentication before making any changes, unless run by the superuser.
 .\"
 .IP "CHFN_RESTRICT (string)"
-This parameter specifies which values in the fIgecos\fR field of the
-\fI/etc/passwd\fR file may be changed by regular users using the fBchfn\fR
+This parameter specifies which values in the \fIgecos\fR field of the
+\fI/etc/passwd\fR file may be changed by regular users using the \fBchfn\fR
 program. It can be any combination of letters \fIf\fR, \fIr\fR, \fIw\fR,
 \fIh\fR, for Full name, Room number, Work phone, and Home phone,
 respectively. For backward compatibility, "yes" is equivalent to "rwh" and
diff --git a/man/login.defs.5.xml b/man/login.defs.5.xml
new file mode 100644 (file)
index 0000000..aa15621
--- /dev/null
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='login.defs.5'>
+  <!--  $Id: login.defs.5.xml,v 1.6 2005/04/27 18:20:35 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>login.defs</refentrytitle>
+    <manvolnum>5</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>/etc/login.defs</refname>
+    <refpurpose>shadow password suite configuration</refpurpose>
+  </refnamediv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>The <filename>/etc/login.defs</filename> file defines the
+      site-specific configuration for the shadow password suite. This file
+      is required. Absence of this file will not prevent system operation,
+      but will probably result in undesirable operation.
+    </para>
+    
+    <para>This file is a readable text file, each line of the file
+      describing one configuration parameter. The lines consist of a
+      configuration name and value, separated by whitespace. Blank lines and
+      comment lines are ignored. Comments are introduced with a `#' pound
+      sign and the pound sign must be the first non-white character of the
+      line.
+    </para>
+    
+    <para>Parameter values may be of four types: strings, booleans,
+      numbers, and long numbers. A string is comprised of any printable
+      characters. A boolean should be either the value &ldquo;yes&rdquo; or
+      &ldquo;no&rdquo;. An undefined boolean parameter or one with a value
+      other than these will be given a &ldquo;no&rdquo; value. Numbers (both
+      regular and long) may be either decimal values, octal values (precede
+      the value with &ldquo;0&rdquo;) or hexadecimal values (precede the
+      value with &ldquo;0x&rdquo;).  The maximum value of the regular and
+      long numeric parameters is machine-dependent.
+    </para>
+    
+    <para>The following configuration items are provided:</para>
+    
+    <variablelist remap='IP'>
+      <varlistentry>
+        <term>CHFN_AUTH (boolean)</term>
+        <listitem>
+          <para> If <emphasis remap='I'>yes</emphasis>, the
+            <command>chfn</coamand> and <command>chsh</coamand> programs
+            will require authentication before making any changes, unless
+            run by the superuser.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>CHFN_RESTRICT (string)</term>
+        <listitem>
+          <para>This parameter specifies which values in the <emphasis
+            remap='I'>gecos</emphasis> field of the
+            <filename>/etc/passwd</filename> file may be changed by regular
+            users using the <command>chfn</command> program. It can be any
+            combination of letters <emphasis remap='I'>f</emphasis>
+            ,<emphasis remap='I'>r</emphasis>, <emphasis remap='I'>w</emphasis>,
+            <emphasis remap='I'>h</emphasis>, for Full name, Room number,
+            Work phone, and Home phone, respectively. For backward
+            compatibility, "yes" is equivalent to "rwh" and "no" is
+            equivalent to "frwh". If not specified, only the superuser can
+            make any changes. The most restrictive setting is better
+            achieved by not installing chfn SUID.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>CREATE_HOME (boolean)</term>
+        <listitem>
+          <para>This defines whether useradd should create home directories
+            for users by default. This option is OR'ed with the
+            <option>-m</option> flag on useradd command line.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>GID_MAX (number)</term>
+        <term>GID_MIN (number)</term>
+        <listitem>
+          <para>
+            Range of group IDs to choose from for the
+            <command>useradd</coamand> and
+            <command>groupadd</coamand>programs.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>MAIL_DIR (string)</term>
+        <listitem>
+          <para>The mail spool directory. This is needed to manipulate the
+            mailbox when its corresponding user account is modified or
+            deleted. If not specified, a compile-time default is used.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>PASS_MAX_DAYS (number)</term>
+        <listitem>
+          <para>The maximum number of days a password may be used. If the
+            password is older than this, a password change will be forced.
+            If not specified, -1 will be assumed (which disables the
+            restriction).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>PASS_MIN_DAYS (number)</term>
+        <listitem>
+          <para>The minimum number of days allowed between password changes.
+            Any password changes attempted sooner than this will be
+            rejected. If not specified, -1 will be assumed (which disables
+            the restriction).
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>PASS_WARN_AGE (number)</term>
+        <listitem>
+          <para>The number of days warning given before a password expires.
+            A zero means warning is given only upon the day of expiration, a
+            negative value means no warning is given. If not specified, no
+            warning will be provided.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    
+    <para>PASS_MAX_DAYS, PASS_MIN_DAYS and PASS_WARN_AGE are only used at
+      the time of account creation. Any changes to these settings won't
+      affect existing accounts.
+    </para>
+    <variablelist remap='IP'>
+      <varlistentry>
+        <term>UID_MAX (number)</term>
+        <term>UID_MIN (number)</term>
+        <listitem>
+          <para>
+            Range of user IDs to choose from for the
+            <command>useradd</coamand> program.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>UMASK (number)</term>
+        <listitem>
+          <para>The permission mask is initialized to this value. If not
+            specified, the permission mask will be initialized to 077.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>USERDEL_CMD (string)</term>
+        <listitem>
+          <para>If defined, this command is run when removing a user. It
+            should remove any at/cron/print jobs etc. owned by the user to
+            be removed (passed as the first argument).
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='cross_reference'>
+    <title>CROSS REFERENCE</title>
+    <para>The following cross reference shows which programs in the shadow
+      password suite use which parameters.
+    </para>
+    <!-- .na -->
+    <variablelist remap='IP'>
+      <varlistentry>
+        <term>chfn</term>
+        <listitem>
+          <para>CHFN_AUTH CHFN_RESTRICT</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>chsh</term>
+        <listitem>
+          <para>CHFN_AUTH</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>groupadd</term>
+        <listitem>
+          <para>GID_MAX GID_MIN</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>newusers</term>
+        <listitem>
+          <para>PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
+            UMASK
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>pwconv</term>
+        <listitem>
+          <para>PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>useradd</term>
+        <listitem>
+          <para>CREATE_HOME
+            GID_MAX GID_MIN
+            PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
+            UID_MAX UID_MIN
+            UMASK
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>userdel</term>
+        <listitem>
+          <para>MAIL_DIR
+            USERDEL_CMD
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>usermod</term>
+        <listitem>
+          <para>MAIL_DIR</para>
+          <!-- .ad -->
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='bugs'>
+    <title>BUGS</title>
+    <para>Much of the functionality that used to be provided by the shadow
+      password suite is now handled by PAM. Thus,
+      <filename>/etc/login.defs</filename> is no longer used by programs
+      such as:
+      <citerefentry>
+        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>.
+      Please refer to the corresponding PAM configuration files instead.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>pam</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='authors'>
+    <title>AUTHORS</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com) Chip Rosenthal (chip@unicom.com)
+    </para>
+  </refsect1>
+</refentry>
diff --git a/man/logoutd.8.xml b/man/logoutd.8.xml
new file mode 100644 (file)
index 0000000..88ea7e7
--- /dev/null
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='logoutd8'>
+  <!-- $Id: logoutd.8.xml,v 1.4 2005/04/22 07:00:57 kloczek Exp $ -->
+  <!--  Copyright 1991, Julianne Frances Haugh -->
+  <!--  All rights reserved. -->
+  
+  <!--  Redistribution and use in source and binary forms, with or without -->
+  <!--  modification, are permitted provided that the following conditions -->
+  <!--  are met: -->
+  <!--  1. Redistributions of source code must retain the above copyright -->
+  <!--     notice, this list of conditions and the following disclaimer. -->
+  <!--  2. Redistributions in binary form must reproduce the above copyright -->
+  <!--     notice, this list of conditions and the following disclaimer in the -->
+  <!--     documentation and/or other materials provided with the distribution. -->
+  <!--  3. Neither the name of Julianne F. Haugh nor the names of its contributors -->
+  <!--     may be used to endorse or promote products derived from this software -->
+  <!--     without specific prior written permission. -->
+  
+  <!--  THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -->
+  <!--  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -->
+  <!--  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -->
+  <!--  ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -->
+  <!--  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -->
+  <!--  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -->
+  <!--  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -->
+  <!--  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -->
+  <!--  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -->
+  <!--  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -->
+  <!--  SUCH DAMAGE. -->
+  <refmeta>
+    <refentrytitle>LOGOUTD</refentrytitle>
+    <manvolnum>8</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>logoutd</refname>
+    <refpurpose>Enforce login time restrictions</refpurpose>
+  </refnamediv>
+  <!-- body begins here -->
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>logoutd</command>    
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <command>logoutd</command> enforces the login time and port
+      restrictions specified in
+      <filename>/etc/porttime</filename>. <command>logoutd</command>
+      should be started from <filename>/etc/rc</filename>.
+      The <filename>/var/run/utmp</filename> file is scanned periodically
+      and each user name
+      is checked to see if the named user is permitted on the named port
+      at the current time.
+      Any login session which is violating the restrictions in <filename>
+        /etc/porttime
+      </filename>
+      is terminated.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <para>
+      <filename>/etc/porttime</filename>       - login and port permissions
+      <!-- .br -->
+      <filename>/var/run/utmp</filename>       - current login sessions
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
+  </refsect1>
+</refentry>
diff --git a/man/mkpasswd.8.xml b/man/mkpasswd.8.xml
new file mode 100644 (file)
index 0000000..70b272a
--- /dev/null
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='mkpasswd8'>
+  <!-- $Id: mkpasswd.8.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>mkpasswd</refentrytitle>
+    <manvolnum>8</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>mkpasswd</refname>
+    <refpurpose>Update passwd and group database files</refpurpose>
+  </refnamediv>
+
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>mkpasswd</command>
+      <arg choice='opt'>-fvgps </arg>
+      <arg choice='plain'><replaceable>file</replaceable></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <command>mkpasswd</command> reads the file in the format given by the
+      flags and converts it to the corresponding database file format. These
+      database files are used to improve access performance on systems with
+      large numbers of users. The output files will be named <emphasis
+      remap='I'>file</emphasis>.dir and <emphasis
+      remap='I'>file</emphasis>.pag.
+    </para>
+    
+    <para>The <option>-f</option> option causes <command>mkpasswd</command>
+      to ignore any existing output files and overwrite them. Normally
+      <command>mkpasswd</command> complains about existing output files and
+      quits.
+    </para>
+    
+    <para>The <option>-v</option> option causes <command>mkpasswd</command>
+      to output information about each record as it is converted, with a
+      final message at the very end.
+    </para>
+    
+    <para>The <option>-g</option> option treats the input file as though it
+      were in <filename>/etc/group</filename> file format. When combined
+      with the <option>-s</option> option, the
+      <filename>/etc/gshadow</filename> file format is used instead.
+    </para>
+    
+    <para>The <option>-p</option> option treats the input file as though it
+      were in <filename>/etc/passwd</filename> file format. This is the
+      default. When combined with the <option>-s</option> option, the
+      <filename>/etc/shadow</filename> file format is used instead.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='caveats'>
+    <title>CAVEATS</title>
+    <para>The use of more than one database file is limited to systems which
+      include the NDBM database library and therefore may not be available
+      on every system.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='note'>
+    <title>NOTE</title>
+    <para>Since most commands are capable of updating the database files as
+      changes are made, this command need only be used when re-creating a
+      deleted or corrupted database file.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+      <varlistentry>
+       <term><filename>/etc/passwd</filename></term>
+        <listitem>user account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/shadow</filename></term>
+        <listitem>secure user account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/group</filename></term>
+        <listitem>group account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/gshadow</filename></term>
+        <listitem>group account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
+  </refsect1>
+</refentry>
diff --git a/man/newusers.8.xml b/man/newusers.8.xml
new file mode 100644 (file)
index 0000000..6b964c3
--- /dev/null
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='newusers8'>
+  <!-- $Id: newusers.8.xml,v 1.4 2005/04/22 07:00:57 kloczek Exp $ -->
+  <!--  Copyright 1991 \- 1994, Julianne Frances Haugh -->
+  <!--  All rights reserved. -->
+  
+  <!--  Redistribution and use in source and binary forms, with or without -->
+  <!--  modification, are permitted provided that the following conditions -->
+  <!--  are met: -->
+  <!--  1. Redistributions of source code must retain the above copyright -->
+  <!--     notice, this list of conditions and the following disclaimer. -->
+  <!--  2. Redistributions in binary form must reproduce the above copyright -->
+  <!--     notice, this list of conditions and the following disclaimer in the -->
+  <!--     documentation and/or other materials provided with the distribution. -->
+  <!--  3. Neither the name of Julianne F. Haugh nor the names of its contributors -->
+  <!--     may be used to endorse or promote products derived from this software -->
+  <!--     without specific prior written permission. -->
+  
+  <!--  THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND -->
+  <!--  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -->
+  <!--  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -->
+  <!--  ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE -->
+  <!--  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -->
+  <!--  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -->
+  <!--  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -->
+  <!--  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -->
+  <!--  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -->
+  <!--  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -->
+  <!--  SUCH DAMAGE. -->
+  <refmeta>
+    <refentrytitle>NEWUSERS</refentrytitle>
+    <manvolnum>8</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>newusers</refname>
+    <refpurpose>update and create new users in batch</refpurpose>
+  </refnamediv>
+  <!-- body begins here -->
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>newusers</command>    
+      <arg choice='opt'>
+        <replaceable>new_users</replaceable>
+      </arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <command>newusers</command> reads a file of user name and
+      clear-text password pairs and
+      uses this information to update a group of existing users or to
+      create new
+      users. Each line is in the same format as the standard password
+      file (see
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>
+      )with the following exceptions.
+    </para>
+    <variablelist remap='IP'>
+      <varlistentry>
+        <term>
+          <emphasis remap='I'>pw_passwd</emphasis>
+        </term>
+        <listitem>
+          <para>This field will be encrypted and used as the new
+            value of the encrypted
+            password.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap='I'>pw_age</emphasis>
+        </term>
+        <listitem>
+          <para>This field will be ignored for shadow passwords if
+            the user already exists.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap='I'>pw_gid</emphasis>
+        </term>
+        <listitem>
+          <para>This field may be the name of an existing group, in
+            which case the named
+            user will be added as a member. If a non-existent
+            numerical group is given,
+            a new group will be created having this number.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap='I'>pw_dir</emphasis>
+        </term>
+        <listitem>
+          <para>This field will be checked for existence as a
+            directory and a new directory
+            with the same name will be created if it does not
+            already exist. The
+            ownership of the directory will be set to be that of
+            the user being created
+            or updated.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    
+    <para>This command is intended to be used in a large system environment
+      where many
+      accounts are updated at a single time.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='caveats'>
+    <title>CAVEATS</title>
+    <para>The input file must be protected since it contains unencrypted
+      passwords.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>
+      ,
+      <citerefentry>
+        <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
+  </refsect1>
+</refentry>
index 6245cc7a7ecec4bfbaf60ef9f5c5363713c083dc..9d6d4ab59c9a666fc21bf0a24bbc292d12382b3d 100644 (file)
@@ -1,4 +1,4 @@
-.\" $Id: passwd.1,v 1.24 2005/04/15 19:17:20 kloczek Exp $
+.\" $Id: passwd.1,v 1.25 2005/05/09 10:14:40 kloczek Exp $
 .\" Copyright 1989 - 1994, Julianne Frances Haugh
 .\" All rights reserved.
 .\"
@@ -46,7 +46,7 @@ such as the full name of the user, user's login shell, or password expiry
 date and interval.
 .PP
 The \fB\-s\fR option makes \fBpasswd\fR call \fBchsh\fR to change the user's
-shell. The \fB\-f\fR option makes passwd call chfn to change the user's
+shell. The \fB\-f\fR option makes \fBpasswd\fR call \fBchfn\fR to change the user's
 gecos information. These two options are only meant for compatiblity, since
 the other programs can be called directly.
 .SS Password Changes
diff --git a/man/passwd.1.xml b/man/passwd.1.xml
new file mode 100644 (file)
index 0000000..1f2f451
--- /dev/null
@@ -0,0 +1,311 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='passwd.1'>
+  <!--  $Id: passwd.1.xml,v 1.8 2005/05/09 10:14:39 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>passwd</refentrytitle>
+    <manvolnum>1</manvolnum>
+    <refmiscinfo class="sectdesc">User Commands</refmiscinfo>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>passwd</refname>
+    <refpurpose>change user password</refpurpose>
+  </refnamediv>
+
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>passwd</command>    
+      <group choice='opt'>
+        <arg choice='plain'>-f </arg><arg choice='plain'>-s </arg>
+      </group>
+      <arg choice='opt'>
+        <replaceable>name</replaceable>
+      </arg>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>passwd</command>
+      <arg choice='opt'>-g </arg>
+      <group choice='opt'>
+        <arg choice='plain'>-r </arg>
+       <arg choice='plain'>-R </arg>
+      </group>
+      <arg choice='plain'>
+        <replaceable>group</replaceable>
+      </arg>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>passwd</command>
+      <arg choice='opt'>-x <replaceable>max</replaceable></arg>
+      <arg choice='opt'>-n <replaceable>min</replaceable></arg>
+      <arg choice='opt'>-w <replaceable>warn</replaceable></arg>
+      <arg choice='opt'>-i <replaceable>inact</replaceable></arg>
+      <arg choice='plain'><replaceable>login</replaceable>
+      </arg>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>passwd</command>    
+      <group choice='opt'>
+        <arg choice='plain'>-l </arg>
+       <arg choice='plain'>-u </arg>
+       <arg choice='plain'>-d </arg>
+        <arg choice='plain'>-S </arg>
+       <arg choice='plain'>-e </arg>
+      </group>
+      <arg choice='plain'><replaceable>login</replaceable></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <command>passwd</command> changes passwords for user and group
+      accounts. A normal user may only change the password for his/her own
+      account, the super user may change the password for any account. The
+      administrator of a group may change the password for the group.
+      <command>passwd</command> also changes account information, such as
+      the full name of the user, user's login shell, or password expiry date
+      and interval.
+    </para>
+    
+    <para>The <option>-s</option> option makes <command>passwd</command>
+      call <command>chsh</coamand> to change the user's shell.  The
+      <option>-f</option> option makes <command>passwd</command> call
+      <command>chfn</command> to change the user's gecos information. These
+      two options are only meant for compatiblity, since the other programs
+      can be called directly.
+    </para>
+    
+    <refsect2 id='password_changes'>
+      <title>Password Changes</title>
+      <para>The user is first prompted for his/her old password, if one is
+        present. This password is then encrypted and compared against the
+        stored password. The user has only one chance to enter the correct
+        password. The super user is permitted to bypass this step so that
+        forgotten passwords may be changed.
+      </para>
+      
+      <para>After the password has been entered, password aging information
+        is checked to see if the user is permitted to change the password at
+        this time. If not, <command>passwd</command> refuses to change the
+        password and exits.
+      </para>
+      
+      <para>The user is then prompted for a replacement password. This
+        password is tested for complexity. As a general guideline, passwords
+        should consist of 6 to 8 characters including one or more from each
+        of following sets:
+      </para>
+      
+      <para>Lower case alphabetics</para>
+      
+      <para>Upper case alphabetics</para>
+      
+      <para>Digits 0 thru 9</para>
+      
+      <para>Punctuation marks</para>
+      
+      <para>Care must be taken not to include the system default erase or
+        kill characters. <command>passwd</command> will reject any password
+        which is not suitably complex.
+      </para>
+      
+      <para>If the password is accepted, <command>passwd</command> will
+        prompt again and compare the second entry against the first. Both
+        entries are required to match in order for the password to be
+        changed.
+      </para>
+    </refsect2>
+    
+    <refsect2 id='group_passwords'>
+      <title>Group passwords</title>
+      <para>
+        When the <option>-g</option> option is used, the password for the
+        named group is changed. The user must either be the super user, or a
+        group administrator for the named group. The current group password
+        is not prompted for. The <option>-r</option> option is used with the
+        <option>-g</option> option to remove the current password from the
+        named group. This allows group access to all members. The
+        <option>-R</option> option is used with the <option>-g</option>
+        option to restrict the named group for all users.
+      </para>
+    </refsect2>
+    
+    <refsect2 id='password_expiry_information'>
+      <title>Password expiry information</title>
+      <para>The password aging information may be changed by the super user
+        with the <option>-x</option>, <option>-n</option>,
+        <option>-w</option>, and <option>-i</option> options. The
+        <option>-x</option> option is used to set the maximum number of days
+        a password remains valid. After <emphasis remap='I'>max</emphasis>
+        days, the password is required to be changed. The
+        <option>-n</option> option is used to set the minimum number of days
+        before a password may be changed.  The user will not be permitted to
+        change the password until <emphasis remap='I'>min</emphasis> days
+        have elapsed. The <option>-w</option> option is used to set the
+        number of days of warning the user will receive before his/her
+        password will expire. The warning occurs <emphasis
+        remap='I'>warn</emphasis> days before the expiration, telling the
+        user how many days remain until the password is set to expire. The
+        <option>-i</option> option is used to disable an account after the
+        password has been expired for a number of days. After a user account
+        has had an expired password for <emphasis remap='I'>inact</emphasis>
+        days, the user may no longer sign on to the account.
+      </para>
+      
+      <para>If you wish to immediately expire an account's password, you can
+        use the <option>-e</option> option. This in effect can force a user
+        to change his/her password at the user's next login. You can also
+        use the <option>-d</option> option to delete a user's password (make
+        it empty). Use caution with this option since it can make an account
+        not require a password at all to login, leaving your system open to
+        intruders.
+      </para>
+    </refsect2>
+    
+    <refsect2 id='account_maintenance'>
+      <title>Account maintenance</title>
+      <para> User accounts may be locked and unlocked with the
+        <option>-l</option> and <option>-u</option> flags. The
+        <option>-l</option> option disables an account by changing the
+        password to a value which matches no possible encrypted value. The
+        <option>-u</option> option re-enables an account by changing the
+        password back to its previous value.
+      </para>
+      
+      <para>The account status may be viewed with the <option>-S</option>
+        option. The status information consists of 7 fields. The first
+        field is the user's login name. The second field indicates if the
+        user account is locked (L), has no password (NP), or has a usable
+        password (P). The third field gives the date of the last password
+        change. The next four fields are the minimum age, maximum age,
+        warning period, and inactivity period for the password.  These ages
+        are expressed in days. See <emphasis remap='B'>Password expiry
+        information</emphasis> above for a discussion of these fields.
+      </para>
+    </refsect2>
+    
+    <refsect2 id='hints_for_user_passwords'>
+      <title>Hints for user passwords</title>
+      <para>The security of a password depends upon the strength of the
+        encryption algorithm and the size of the key space. The <emphasis
+        remap='B'>\s-2UNIX</emphasis> System encryption method is based on
+        the NBS DES algorithm and is very secure. The size of the key space
+        depends upon the randomness of the password which is selected.
+      </para>
+      
+      <para>Compromises in password security normally result from careless
+        password selection or handling. For this reason, you should not
+        select a password which appears in a dictionary or which must be
+        written down. The password should also not be a proper name, your
+        license number, birth date, or street address. Any of these may be
+        used as guesses to violate system security.
+      </para>
+      
+      <para>Your password must easily remembered so that you will not be
+        forced to write it on a piece of paper. This can be accomplished by
+        appending two small words together and separating each with a
+        special character or digit. For example, Pass%word.
+      </para>
+      
+      <para>Other methods of construction involve selecting an easily
+        remembered phrase from literature and selecting the first or last
+        letter from each word. An example of this is
+      </para>
+      
+      <para>Ask not for whom the bell tolls.</para>
+      
+      <para>which produces</para>
+      
+      <para>An4wtbt.</para>
+      
+      <para>You may be reasonably sure few crackers will have included this
+        in their dictionaries. You should, however, select your own methods
+        for constructing passwords and not rely exclusively on the methods
+        given here.
+      </para>
+    </refsect2>
+    
+    <refsect2 id='notes_about_group_passwords'>
+      <title>Notes about group passwords</title>
+      <para>Group passwords are an inherent security problem since more than
+        one person is permitted to know the password. However, groups are a
+        useful tool for permitting co-operation between different users.
+      </para>
+    </refsect2>
+  </refsect1>
+  
+  <refsect1 id='caveats'>
+    <title>CAVEATS</title>
+    <para>Not all options may be supported. Password complexity checking
+      may vary from site to site. The user is urged to select a password as
+      complex as he feels comfortable with. Users may not be able to change
+      their password on a system if NIS is enabled and they are not logged
+      into the NIS server.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/passwd</filename></term>
+        <listitem>user account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/shadow</filename></term>
+        <listitem>secure user account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='exit_values'>
+    <title>EXIT VALUES</title>
+    <variablelist remap='TP'>
+      <varlistentry>
+        <term>
+          The <command>passwd</command> command exits with the
+          following values:
+        </term>
+        <listitem>
+          <para>
+            <literal>0</literal>       - success
+            <!-- .br -->
+            <literal>1</literal>       - permission denied
+            <!-- .br -->
+            <literal>2</literal>       - invalid combination of options
+            <!-- .br -->
+            <literal>3</literal>       - unexpected failure, nothing done
+            <!-- .br -->
+            <literal>4</literal>       - unexpected failure, passwd file
+            missing
+            <!-- .br -->
+            <literal>5</literal>       - passwd file busy, try again
+            later                        <!-- .br -->
+            <literal>6</literal>       - invalid argument to option
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>
+  </refsect1>
+</refentry>
diff --git a/man/passwd.5.xml b/man/passwd.5.xml
new file mode 100644 (file)
index 0000000..c722230
--- /dev/null
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='passwd.5'>
+  <!-- $Id: passwd.5.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>passwd</refentrytitle>
+    <manvolnum>5</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>passwd</refname>
+    <refpurpose>The password file</refpurpose>
+  </refnamediv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <filename>/etc/passwd</filename> contains various pieces of
+      information for each user account. Included is:
+    </para>
+    
+    <para>Login name</para>
+    
+    <para>Optional encrypted password</para>
+    
+    <para>Numerical user ID</para>
+    
+    <para>Numerical group ID</para>
+    
+    <para>User name or comment field</para>
+    
+    <para>User home directory</para>
+    
+    <para>User command interpreter</para>
+    
+    <para>The password field may not be filled if shadow passwords have been
+      enabled. If shadow passwords are being used, the encrypted password
+      will be found in <filename>/etc/shadow</filename>. The encrypted
+      password consists of characters from the 64 characters alphabet a thru
+      z, A thru Z, 0 thru 9, \. and /. Optionally it can start with a "$"
+      character. This means the encrypted password was generated using
+      another (not DES) algorithm. For example if it starts with "$1$" it
+      means the MD5-based algorithm was used.
+    </para>
+    
+    <para> Refer to <citerefentry>
+        <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
+      </citerefentry> for details on how this string is interpreted.
+    </para>
+    
+    <para>The comment field is used by various system utilities, such as
+      <citerefentry>
+        <refentrytitle>finger</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>. Three additional values may be present in the comment
+      field. They are:
+    </para>
+    
+    <para>pri= - set initial value of nice</para>
+    
+    <para>umask= - set initial value of umask</para>
+    
+    <para>ulimit= - set initial value of ulimit</para>
+    
+    <para>These fields are separated from each other and from any other
+      comment field by a comma.
+    </para>
+    
+    <para>The home directory field provides the name of the initial working
+      directory. <emphasis remap='B'>Login</emphasis> uses this information
+      to set the value of the <envar>$HOME</envar> environmental variable.
+    </para>
+    
+    <para>The command interpreter field provides the name of the user's
+      command language interpreter, or the name of the initial program to
+      execute. <emphasis remap='B'>Login</emphasis> uses this information
+      to set the value of the <envar>$SHELL</envar> environmental variable.
+      If this field is empty, it defaults to the value
+      <filename>/bin/sh</filename>.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/passwd</filename></term>
+        <listitem>user account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>pwconv</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>pwunconv</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>sulogin</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
+  </refsect1>
+</refentry>
index 29634c4831608f00982de18e6c0c85cd7c2c8b2d..fb5ecf9bf39b1545cc467215dea26c2eb0f4613f 100644 (file)
@@ -38,7 +38,11 @@ host_triplet = @host@
 subdir = man/pl
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
diff --git a/man/porttime.5.xml b/man/porttime.5.xml
new file mode 100644 (file)
index 0000000..a8c1ee5
--- /dev/null
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='porttime.5'>
+  <!--  $Id: porttime.5.xml,v 1.6 2005/04/27 16:44:12 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>porttime</refentrytitle>
+    <manvolnum>5</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>porttime</refname>
+    <refpurpose>port access time file</refpurpose>
+  </refnamediv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <emphasis remap='I'>porttime</emphasis> contains a list of tty
+      devices, user names, and permitted login times.
+    </para>
+    
+    <para>Each entry consists of three colon separated fields. The first
+      field is a comma separated list of tty devices, or an asterisk to
+      indicate that all tty devices are matched by this entry. The second
+      field is a comma separated list of user names, or an asterisk to
+      indicated that all user names are matched by this entry. The third
+      field is a comma separated list of permitted access times.
+    </para>
+    
+    <para>Each access time entry consists of zero or more days of the week,
+      abbreviated <emphasis remap='B'>Su</emphasis>, <emphasis
+      remap='B'>Mo</emphasis>,<emphasis remap='B'>Tu</emphasis>, <emphasis
+      remap='B'>We</emphasis>, <emphasis remap='B'>Th</emphasis>, <emphasis
+      remap='B'>Fr</emphasis>, and <emphasis remap='B'>Sa</emphasis>,
+      followed by a pair of times separated by a hyphen. The abbreviation
+      <emphasis remap='B'>Wk</emphasis> may be used to represent Monday thru
+      Friday, and <emphasis remap='B'>Al</emphasis> may be used to indicate
+      every day. If no days are given, <emphasis remap='B'>Al</emphasis> is
+      assumed.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='examples'>
+    <title>EXAMPLES</title>
+    <para>
+      The following entry allows access to user <emphasis
+      remap='B'>jfh</emphasis> on every port during weekdays from 9am to
+      5pm.
+    </para>
+    <!-- .br -->
+    
+    <para>     *:jfh:Wk0900-1700</para>
+    <!-- .br -->
+    
+    <para>The following entries allow access only to the users <emphasis
+      remap='B'>root</emphasis> and <emphasis remap='B'>oper</emphasis> on
+      /dev/console at any time. This illustrates how the
+      <filename>/etc/porttime</filename> file is an ordered list of access
+      times. Any other user would match the second entry which does not
+      permit access at any time.
+    </para>
+    <!-- .br -->
+    
+    <para>     console:root,oper:Al0000-2400
+      <!-- .br -->
+      console:*:
+    </para>
+    <!-- .br -->
+    
+    <para>The following entry allows access for the user <emphasis
+      remap='B'>games</emphasis> on any port during non-working hours.
+    </para>
+    <!-- .br -->
+    
+    <para>     *:games:Wk1700-0900,SaSu0000-2400</para>
+    <!-- .br -->
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/porttime</filename></term>
+        <listitem>file containing port access</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
+  </refsect1>
+</refentry>
index f58ed8c050612b16415572faac702ba83c8a2e6d..61753d53bc9473e0a9d7b7eeb4c6a5a337102972 100644 (file)
@@ -38,7 +38,11 @@ host_triplet = @host@
 subdir = man/pt_BR
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
diff --git a/man/pw_auth.3.xml b/man/pw_auth.3.xml
new file mode 100644 (file)
index 0000000..3e1324e
--- /dev/null
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='pw_auth.3'>
+  <!-- $Id: pw_auth.3.xml,v 1.5 2005/04/27 15:43:25 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>pw_auth</refentrytitle>
+    <manvolnum>3</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>pwauth</refname>
+    <refpurpose>administrator defined password authentication routines</refpurpose>
+  </refnamediv>
+  
+  <refsect1 id='syntax'>
+    <title>SYNTAX</title>
+    <para>
+      <emphasis remap='B'>#include &lt;pwauth.h&gt;</emphasis>
+    </para>
+    
+    <para>
+      <emphasis remap='B'>int pw_auth (char</emphasis>
+      <emphasis remap='I'>*command,</emphasis>
+      <emphasis remap='B'>char</emphasis>
+      <emphasis remap='I'>*user,</emphasis>
+      <emphasis remap='B'>int</emphasis>
+      <emphasis remap='I'>reason,</emphasis>
+      <emphasis remap='B'>char</emphasis>
+      <emphasis remap='I'>*input)</emphasis><emphasis remap='B'>;</emphasis>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <emphasis remap='B'>pw_auth</emphasis>
+      invokes the administrator defined functions for a given user.
+    </para>
+    
+    <para><emphasis remap='I'>command</emphasis> is the name of the
+      authentication program. It is retrieved from the user's password file
+      information. The string contains one or more executable file names,
+      delimited by semi-colons. Each program will be executed in the order
+      given. The command line arguments are given for each of the reasons
+      listed below.
+    </para>
+    
+    <para> <emphasis remap='I'>user</emphasis> is the name of the user to be
+      authenticated, as given in the <filename>/etc/passwd</filename> file. 
+      User entries are indexed by username. This allows non-unique user IDs
+      to be present and for each different username associated with that
+      user ID to have a different authentication program and information.
+    </para>
+    
+    <para>Each of the permissible authentication reasons is handled in a
+      potentially differenent manner.  Unless otherwise mentioned, the
+      standard file descriptors 0, 1, and 2 are available for communicating
+      with the user.  The real user ID may be used to determine the identity
+      of the user making the authentication request. <emphasis
+      remap='I'>reason</emphasis> is one of
+    </para>
+    <variablelist remap='IP'>
+      <varlistentry>
+        <term>
+          <emphasis remap='B'>PW_SU</emphasis>
+        </term>
+        <listitem>
+          <para>Perform authentication for the current real user ID
+            attempting to switch real user ID to the named user.  The
+            authentication program will be invoked with a
+            <option>-s</option> option, followed by the username.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap='B'>PW_LOGIN</emphasis>
+        </term>
+        <listitem>
+          <para>Perform authentication for the named user creating a new
+            login session. The authentication program will be invoked with a
+            <option>-l</option> option, followed by the username.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap='B'>PW_ADD</emphasis>
+        </term>
+        <listitem>
+          <para>Create a new entry for the named user.  This allows an
+            authentication program to initialize storage for a new user. The
+            authentication program will be invoked with a
+            <option>-a</option> option, followed by the username.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap='B'>PW_CHANGE</emphasis>
+        </term>
+        <listitem>
+          <para>Alter an existing entry for the named user. This allows an
+            authentication program to alter the authentication information
+            for an existing user. The authentication program will be invoked
+            with a <option>-c</option> option, followed by the username.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap='B'>PW_DELETE</emphasis>
+        </term>
+        <listitem>
+          <para>Delete authentication information for the named user. This
+            allows an authentication program to reclaim storage for a user
+            which is no longer authenticated using the authentication
+            program. The authentication program will be invoked with a
+            <option>-d</option> option, followed by the username.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap='B'>PW_TELNET</emphasis>
+        </term>
+        <listitem>
+          <para>Authenticate a user who is connecting to the system using
+            the <emphasis remap='B'>telnet</emphasis> command. The
+            authentication program will be invoked with a
+            <option>-t</option> option, followed by the username.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap='B'>PW_RLOGIN</emphasis>
+        </term>
+        <listitem>
+          <para>
+            Authenticate a user who is connecting to the system using the
+            <emphasis remap='B'>rlogin</emphasis> command. The
+            authentication program will be invoked with a
+            <option>-r</option> option, followed by the username.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap='B'>PW_FTP</emphasis>
+        </term>
+        <listitem>
+          <para>
+            Authenticate a user who is connecting to the system using the
+            <emphasis remap='B'>ftp</emphasis> command. The authentication
+            program will be invoked with a <option>-f</option> option,
+            followed by the username. The standard file descriptors are not
+            available for communicating with the user. The standard input
+            file descriptor will be connected to the parent process, while
+            the other two output file descriptors will be connected to
+            <filename>/dev/null</filename>. The <emphasis
+            remap='B'>pw_auth</emphasis> function will pipe a single line of
+            data to the authentication program using file descriptor 0.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap='B'>PW_REXEC</emphasis>
+        </term>
+        <listitem>
+          <para>
+            Authenticate a user who is connecting to the system using the
+            <emphasis remap='I'>rexec</emphasis> command. The authentication
+            program will be invoked with a <option>-x</option> option,
+            followed by the username. The standard file descriptors are not
+            available for communicating with the remote user. The standard
+            input file descriptor will be connected to the parent process,
+            while the other two output file descriptors will be connected to
+            <filename>/dev/null</filename>. The <emphasis
+            remap='B'>pw_auth</emphasis> function will pipe a single line of
+            data to the authentication program using file descriptor 0.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    
+    <para>The last argument is the authentication data which is used by the
+      <emphasis remap='B'>PW_FTP</emphasis> and <emphasis
+      remap='B'>PW_REXEC</emphasis> reasons. It is treated as a single line
+      of text which is piped to the authentication program. When the reason
+      is <emphasis remap='B'>PW_CHANGE,</emphasis> the value of <emphasis
+      remap='I'>input</emphasis> is the value of previous user name if the
+      user name is being changed.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='caveats'>
+    <title>CAVEATS</title>
+    <para>This function does not create the actual session.  It only
+      indicates if the user should be allowed to create the session.
+    </para>
+    
+    <para>The network options are untested at this time.</para>
+  </refsect1>
+  
+  <refsect1 id='diagnostics'>
+    <title>DIAGNOSTICS</title>
+    <para>
+      The <emphasis remap='B'>pw_auth</emphasis> function returns 0 if the
+      authentication program exited with a 0 exit code, and a non-zero value
+      otherwise.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
+  </refsect1>
+</refentry>
diff --git a/man/pwck.8.xml b/man/pwck.8.xml
new file mode 100644 (file)
index 0000000..f9a115c
--- /dev/null
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='pwck.8'>
+  <!-- $Id: pwck.8.xml,v 1.6 2005/04/27 18:20:35 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>pwck</refentrytitle>
+    <manvolnum>8</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>pwck</refname>
+    <refpurpose>verify integrity of password files</refpurpose>
+  </refnamediv>
+  <!-- body begins here -->
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>pwck</command>    <arg choice='opt'>-sr </arg>
+      <arg choice='opt'>
+        <arg choice='plain'>
+          <replaceable>passwd</replaceable>
+        </arg>
+        <arg choice='plain'>
+          <replaceable>shadow</replaceable>
+        </arg>
+      </arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <command>pwck</command> verifies the integrity of the system
+      authentication information.  All entries in the
+      <filename>/etc/passwd</filename> and <filename>/etc/shadow</filename>
+      are checked to see that the entry has the proper format and valid data
+      in each field.  The user is prompted to delete entries that are
+      improperly formatted or which have other uncorrectable errors.
+    </para>
+    
+    <para>Checks are made to verify that each entry has</para>
+    
+    <!-- .in +.5i -->
+    <para>- the correct number of fields
+      <!-- .br -->
+      - a unique user name
+      <!-- .br -->
+      - a valid user and group identifier
+      <!-- .br -->
+      - a valid primary group
+      <!-- .br -->
+      - a valid home directory
+      <!-- .br -->
+      - a valid login shell
+    </para>
+    <!-- .in \-.5i -->
+    
+    <para>The checks for correct number of fields and unique user name are
+      fatal. If the entry has the wrong number of fields, the user will be
+      prompted to delete the entire line. If the user does not answer
+      affirmatively, all further checks are bypassed. An entry with a
+      duplicated user name is prompted for deletion, but the remaining
+      checks will still be made. All other errors are warning and the user
+      is encouraged to run the <command>usermod</coamand> command to correct
+      the error.
+    </para>
+    
+    <para> The commands which operate on the
+      <filename>/etc/passwd</filename> file are not able to alter corrupted
+      or duplicated entries. <command>pwck</command> should be used in
+      those circumstances to remove the offending entry.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='options'>
+    <title>OPTIONS</title>
+    <para>
+      By default, <command>pwck</command> operates on the files
+      <filename>/etc/passwd</filename> and <filename>/etc/shadow</filename>. 
+      The user may select alternate files with the <emphasis
+      remap='I'>passwd</emphasis> and <emphasis remap='I'>shadow</emphasis>
+      parameters. Additionally, the user may execute the command in
+      read-only mode by specifying the <option>-r</option> flag. This causes
+      all questions regarding changes to be answered <emphasis
+      remap='B'>no</emphasis> without user intervention. 
+      <command>pwck</command> can also sort entries in
+      <filename>/etc/passwd</filename> and <filename>/etc/shadow</filename>
+      by UID. To run it in sort mode pass it <option>-s</option> flag. No
+      checks are performed then, it just sorts.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/group</filename></term>
+        <listitem>group account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/passwd</filename></term>
+        <listitem>user account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/shadow</filename></term>
+        <listitem>secure user account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+
+  <refsect1 id='exit_values'>
+    <title>EXIT VALUES</title>
+    <variablelist remap='TP'>
+      <varlistentry>
+        <term>
+          The <command>pwck</command> command exits with the
+          following values:
+        </term>
+        <listitem>
+          <para>
+            <literal>0</literal>       - success
+            <!-- .br -->
+            <literal>1</literal>       - invalid command syntax
+            <!-- .br -->
+            <literal>2</literal>       - one or more bad password entries
+            <!-- .br -->
+            <literal>3</literal>       - can't open password files
+            <!-- .br -->
+            <literal>4</literal>       - can't lock password files
+            <!-- .br -->
+            <literal>5</literal>       - can't update password files
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
+  </refsect1>
+</refentry>
index 9ca98f3fcdb196699420047b5591a5fb09fab083..f89fbbf344d322561149a5f6d1d5483518068b60 100644 (file)
@@ -1,4 +1,4 @@
-.\"$Id: pwconv.8,v 1.15 2005/04/02 08:01:24 kloczek Exp $
+.\"$Id: pwconv.8,v 1.17 2005/05/19 10:34:59 kloczek Exp $
 .TH PWCONV 8 "26 Sep 1997"
 .SH NAME
 pwconv, pwunconv, grpconv, grpunconv \- convert to and from shadow passwords and groups.
@@ -40,10 +40,10 @@ shadowed file if the main file is edited by hand.
 and \fIPASS_WARN_AGE\fR from \fI/etc/login.defs\fR when adding new entries
 to \fI/etc/shadow\fR.
 .PP
-Likewise  \fBpwunconv\fR and \fBgrpunconv\fR are similiar. Passwords in the
+Likewise  \fBpwunconv\fR and \fBgrpunconv\fR are similar. Passwords in the
 main file are updated from the shadowed file. Entries which exist in the
 main file but not in the shadowed file are left alone. Finally, the shadowed
-file is removed. Some password aging information is lost by fBpwunconv\fR.
+file is removed. Some password aging information is lost by \fBpwunconv\fR.
 It will convert what it can.
 .SH "BUGS"
 Errors in the password or group files (such as invalid or duplicate entries)
diff --git a/man/pwconv.8.xml b/man/pwconv.8.xml
new file mode 100644 (file)
index 0000000..c488519
--- /dev/null
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='pwconv.8'>
+  <!-- $Id: pwconv.8.xml,v 1.6 2005/05/19 10:35:00 kloczek Exp $ -->
+  <refentryinfo>
+    <date>26 Sep 1997</date>
+  </refentryinfo>
+  <refmeta>
+    <refentrytitle>PWCONV</refentrytitle>
+    <manvolnum>8</manvolnum>
+    <refmiscinfo class='date'>26 Sep 1997</refmiscinfo>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>pwconv</refname>
+    <refname>pwunconv</refname>
+    <refname>grpconv</refname>
+    <refname>grpunconv</refname>
+    <refpurpose>convert to and from shadow passwords and groups.</refpurpose>
+  </refnamediv>
+
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>pwconv</command>    
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>pwunconv</command>    
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>grpconv</command>    
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>grpunconv</command>    
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para><command>pwconv</command> creates <emphasis
+      remap='I'>shadow</emphasis> from <emphasis remap='I'>passwd</emphasis>
+      and an optionally existing <emphasis remap='I'>shadow</emphasis>.
+    </para>
+    
+    <para><command>pwunconv</command> creates <emphasis
+      remap='I'>passwd</emphasis> from <emphasis remap='I'>passwd</emphasis>
+      and <emphasis remap='I'>shadow</emphasis> and then removes <emphasis
+      remap='I'>shadow</emphasis>.
+    </para>
+    
+    <para><command>grpconv</command> creates <emphasis
+      remap='I'>gshadow</emphasis> from <emphasis remap='I'>group</emphasis>
+      and an optionally existing <emphasis remap='I'>gshadow</emphasis>.
+    </para>
+    
+    <para><command>grpunconv</command> creates <emphasis
+      remap='I'>group</emphasis> from <emphasis remap='I'>group</emphasis>
+      and <emphasis remap='I'>gshadow</emphasis> and then removes <emphasis
+      remap='I'>gshadow</emphasis>.
+    </para>
+    
+    <para>These four programs all operate on the normal and shadow password
+      and group files: <filename>/etc/passwd</filename>,
+      <filename>/etc/group</filename>, <filename>/etc/shadow</filename>, and
+      <filename>/etc/gshadow</filename>.
+    </para>
+    
+    <para> Each program acquires the necessary locks before conversion.
+      <command>pwconv</command> and <command>grpconv</command> are similar.
+      First, entries in the shadowed file which don't exist in the main file
+      are removed. Then, shadowed entries which don't have `x' as the
+      password in the main file are updated. Any missing shadowed entries
+      are added. Finally, passwords in the main file are replaced with `x'.
+      These programs can be used for initial conversion as well to update
+      the shadowed file if the main file is edited by hand.
+    </para>
+    
+    <para><command>pwconv</command> will use the values of <emphasis
+      remap='I'>PASS_MIN_DAYS</emphasis>, <emphasis
+      remap='I'>PASS_MAX_DAYS</emphasis>, and <emphasis
+      remap='I'>PASS_WARN_AGE</emphasis> from
+      <filename>/etc/login.defs</filename> when adding new entries to
+      <filename>/etc/shadow</filename>.
+    </para>
+    
+    <para>Likewise <command>pwunconv</command> and
+      <command>grpunconv</command> are similar. Passwords in the main file
+      are updated from the shadowed file. Entries which exist in the main
+      file but not in the shadowed file are left alone. Finally, the
+      shadowed file is removed. Some password aging information is lost by
+      <command>pwunconv</command>.  It will convert what it can.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='bugs'>
+    <title>BUGS</title>
+    <para>Errors in the password or group files (such as invalid or
+      duplicate entries) may cause these programs to loop forever or fail in
+      other strange ways.  Please run <command>pwck</command> and
+      <command>grpck</command> to correct any such errors before converting
+      to or from shadow passwords or groups.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>grpck</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>pwck</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry></para>
+  </refsect1>
+</refentry>
index e5ebc205b3f8134cf5ab74b9616ba833aa4b3207..4046e46ff0eb4759a50640b77129067e404b551b 100644 (file)
@@ -38,7 +38,11 @@ host_triplet = @host@
 subdir = man/ru
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
diff --git a/man/shadow.3.xml b/man/shadow.3.xml
new file mode 100644 (file)
index 0000000..a2fef38
--- /dev/null
@@ -0,0 +1,199 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='shadow.3'>
+  <!--  $Id: shadow.3.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>shadow</refentrytitle>
+    <manvolnum>3</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>shadow</refname>
+    <refpurpose>encrypted password file routines</refpurpose>
+  </refnamediv>
+  
+  <refsect1 id='syntax'>
+    <title>SYNTAX</title>
+    <para>
+      <emphasis remap='B'>#include &lt;shadow.h&gt;</emphasis>
+    </para>
+    
+    <para>
+      <emphasis remap='B'>struct spwd *getspent();</emphasis>
+    </para>
+    
+    <para>
+      <emphasis remap='B'>struct spwd *getspnam(char</emphasis>
+      <emphasis remap='I'>*name</emphasis><emphasis remap='B'>);</emphasis>
+    </para>
+    
+    <para>
+      <emphasis remap='B'>void setspent();</emphasis>
+    </para>
+    
+    <para>
+      <emphasis remap='B'>void endspent();</emphasis>
+    </para>
+    
+    <para>
+      <emphasis remap='B'>struct spwd *fgetspent(FILE</emphasis>
+      <emphasis remap='I'>*fp</emphasis><emphasis remap='B'>);</emphasis>
+    </para>
+    
+    <para>
+      <emphasis remap='B'>struct spwd *sgetspent(char</emphasis>
+      <emphasis remap='I'>*cp</emphasis><emphasis remap='B'>);</emphasis>
+    </para>
+    
+    <para>
+      <emphasis remap='B'>int putspent(struct spwd</emphasis>
+      <emphasis remap='I'>*p,</emphasis>
+      <emphasis remap='B'>FILE</emphasis>
+      <emphasis remap='I'>*fp</emphasis><emphasis remap='B'>);</emphasis>
+    </para>
+    
+    <para>
+      <emphasis remap='B'>int lckpwdf();</emphasis>
+    </para>
+    
+    <para>
+      <emphasis remap='B'>int ulckpwdf();</emphasis>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <emphasis remap='I'>shadow</emphasis>
+      manipulates the contents of the shadow password file,
+      <filename>/etc/shadow</filename>.
+      The structure in the <emphasis remap='I'>#include</emphasis> file
+      is        
+    </para>
+    
+    <para>struct spwd {
+      <!-- .in +.5i -->
+      <!-- .br -->
+      char                     *sp_namp; /* user login name */
+      <!-- .br -->
+      char                     *sp_pwdp; /* encrypted password */
+      <!-- .br -->
+      long int         sp_lstchg; /* last password change */
+      <!-- .br -->
+      long int         sp_min; /* days until change allowed. */
+      <!-- .br -->
+      long int         sp_max; /* days before change required */
+      <!-- .br -->
+      long int         sp_warn; /* days warning for expiration */
+      <!-- .br -->
+      long int         sp_inact; /* days before account inactive */
+      <!-- .br -->
+      long int         sp_expire; /* date when account expires */
+      <!-- .br -->
+      unsigned long int        sp_flag; /* reserved for future use */
+      <!-- .br -->
+      <!-- .in \-.5i -->
+      }
+    </para>
+    
+    <para>The meanings of each field are</para>
+    
+    <para>sp_namp - pointer to null-terminated user name.
+      <!-- .br -->
+      sp_pwdp - pointer to null-terminated password.
+      <!-- .br -->
+      sp_lstchg - days since Jan 1, 1970 password was last changed.
+      <!-- .br -->
+      sp_min - days before which password may not be changed.
+      <!-- .br -->
+      sp_max - days after which password must be changed.
+      <!-- .br -->
+      sp_warn - days before password is to expire that user is warned
+      of pending password expiration.
+      <!-- .br -->
+      sp_inact - days after password expires that account is considered
+      inactive and disabled.
+      <!-- .br -->
+      sp_expire - days since Jan 1, 1970 when account will be disabled.
+      <!-- .br -->
+      sp_flag - reserved for future use.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='description2'>
+    <title>DESCRIPTION</title>
+    <para>
+      <emphasis remap='B'>getspent</emphasis>, <emphasis
+      remap='B'>getspname</emphasis> <emphasis
+      remap='B'>fgetspent</emphasis>, and <emphasis
+      remap='B'>sgetspent</emphasis> each return a pointer to a <emphasis
+      remap='B'>struct spwd</emphasis>. <emphasis
+      remap='B'>getspent</emphasis> returns the next entry from the file,
+      and <emphasis remap='B'>fgetspent</emphasis> returns the next entry
+      from the given stream, which is assumed to be a file of the proper
+      format. <emphasis remap='B'>sgetspent</emphasis> returns a pointer to
+      a <emphasis remap='B'>struct spwd</emphasis> using the provided string
+      as input. <emphasis remap='B'>getspnam</emphasis> searches from the
+      current position in the file for an entry matching <emphasis
+      remap='B'>name</emphasis>.
+    </para>
+    <para><emphasis remap='B'>setspent</emphasis> and <emphasis
+      remap='B'>endspent</emphasis> may be used to begin and end,
+      respectively, access to the shadow password file.
+    </para>
+    <para>The <emphasis remap='B'>lckpwdf</emphasis> and <emphasis
+      remap='B'>ulckpwdf</emphasis> routines should be used to insure
+      exclusive access to the <filename>/etc/shadow</filename> file. 
+      <emphasis remap='B'>lckpwdf</emphasis> attempts to acquire a lock
+      using <emphasis remap='B'>pw_lock</emphasis> for up to 15 seconds. It
+      continues by attempting to acquire a second lock using <emphasis
+      remap='B'>spw_lock</emphasis> for the remainder of the initial 15
+      seconds. Should either attempt fail after a total of 15 seconds,
+      <emphasis remap='B'>lckpwdf</emphasis> returns -1. When both locks are
+      acquired 0 is returned.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='diagnostics'>
+    <title>DIAGNOSTICS</title>
+    <para>Routines return NULL if no more entries are available or if an
+      error occurs during processing. Routines which have <emphasis
+      remap='B'>int</emphasis> as the return value return 0 for success and
+      -1 for failure.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='caveats'>
+    <title>CAVEATS</title>
+    <para>These routines may only be used by the super user as access to the
+      shadow password file is restricted.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/shadow</filename></term>
+        <listitem>secure user account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>getpwent</refentrytitle><manvolnum>3</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
+  </refsect1>
+</refentry>
diff --git a/man/shadow.5.xml b/man/shadow.5.xml
new file mode 100644 (file)
index 0000000..321d6c3
--- /dev/null
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='shadow.5'>
+  <!-- $Id: shadow.5.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>shadow</refentrytitle>
+    <manvolnum>5</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>shadow</refname>
+    <refpurpose>encrypted password file</refpurpose>
+  </refnamediv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <emphasis remap='I'>shadow</emphasis> contains the encrypted
+      password information for user's accounts
+      and optional the password aging information. Included is
+    </para>
+    
+    <para>Login name</para>
+    
+    <para>Encrypted password</para>
+    
+    <para>Days since Jan 1, 1970 that password was last changed</para>
+    
+    <para>Days before password may be changed</para>
+    
+    <para>Days after which password must be changed</para>
+    
+    <para>Days before password is to expire that user is warned</para>
+    
+    <para>Days after password expires that account is disabled</para>
+    
+    <para>Days since Jan 1, 1970 that account is disabled</para>
+    
+    <para>A reserved field</para>
+    
+    <para>The password field must be filled. The encryped password consists
+      of 13 to 24 characters from the 64 characters alphabet a thru z, A
+      thru Z, 0 thru 9, \. and /. Optionally it can start with a "$"
+      character. This means the encrypted password was generated using
+      another (not DES) algorithm. For example if it starts with "$1$" it
+      means the MD5-based algorithm was used.
+    </para>
+    
+    <para>
+      Refer to 
+      <citerefentry>
+        <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
+      </citerefentry>
+      for details on how this string is interpreted.
+    </para>
+    
+    <para>The date of the last password change is given as the number of
+      days since Jan 1, 1970. The password may not be changed again until
+      the proper number of days have passed, and must be changed after the
+      maximum number of days. If the minimum number of days required is
+      greater than the maximum number of day allowed, this password may not
+      be changed by the user.
+    </para>
+    
+    <para>An account is considered to be inactive and is disabled if the
+      password is not changed within the specified number of days after the
+      password expires.  An account will also be disabled on the specified
+      day regardless of other password expiration information.
+    </para>
+    
+    <para>This information supercedes any password or password age
+      information present in <filename>/etc/passwd</filename>.
+    </para>
+    
+    <para>This file must not be readable by regular users if password
+      security is to be maintained.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/passwd</filename></term>
+        <listitem>user account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/shadow</filename></term>
+        <listitem>secure user account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>chage</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>pwconv</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>pwunconv</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>sulogin</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
+  </refsect1>
+</refentry>
diff --git a/man/shadowconfig.8.xml b/man/shadowconfig.8.xml
new file mode 100644 (file)
index 0000000..ef172ee
--- /dev/null
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='shadowconfig.8'>
+  <!-- $Id: shadowconfig.8.xml,v 1.5 2005/04/27 18:20:35 kloczek Exp $ -->
+  <refentryinfo>
+    <date>19 Apr 1997</date>
+  </refentryinfo>
+  <refmeta>
+    <refentrytitle>shadowconfig</refentrytitle>
+    <manvolnum>8</manvolnum>
+    <refmiscinfo class='date'>19 Apr 1997</refmiscinfo>
+    <refmiscinfo class='source'>Debian GNU/Linux</refmiscinfo>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>shadowconfig</refname>
+    <refpurpose>toggle shadow passwords on and off</refpurpose>
+  </refnamediv>
+
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>shadowconfig</command>    
+      <group choice='plain'>
+        <arg choice='plain'><replaceable>on</replaceable></arg>
+        <arg choice='plain'><replaceable>off</replaceable></arg>
+      </group>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <command>shadowconfig</coamand> on will turn shadow passwords on;
+      <emphasis remap='B'>shadowconfig off</emphasis> will turn shadow
+      passwords off. <command>shadowconfig</command> will print an error
+      message and exit with a nonzero code if it finds anything awry. If
+      that happens, you should correct the error and run it again. Turning
+      shadow passwords on when they are already on, or off when they are
+      already off, is harmless.
+    </para>
+    
+    <para>
+      Read <filename>/usr/share/doc/passwd/README.debian</filename> for a
+      brief introduction
+      to shadow passwords and related features.
+    </para>
+    
+    <para>Note that turning shadow passwords off and on again will lose all
+      password
+      aging information.
+    </para>
+  </refsect1>
+</refentry>
index af50d95d3e26bb1e0709b16c95281ca8433925af..3e660e57cf276f100f9ff7beee29109b170ce4a7 100644 (file)
--- a/man/su.1
+++ b/man/su.1
@@ -1,4 +1,4 @@
-.\" $Id: su.1,v 1.16 2005/04/12 16:31:06 kloczek Exp $
+.\" $Id: su.1,v 1.18 2005/05/19 10:35:00 kloczek Exp $
 .\" Copyright 1989 - 1990, Julianne Frances Haugh
 .\" All rights reserved.
 .\"
@@ -33,7 +33,7 @@ su \- change user ID or become super\-user
 .SH DESCRIPTION
 \fBsu\fR is used to become another user during a login session. Invoked
 without a username, \fBsu\fR defaults to becoming the super user. The
-optional argument \fB\-\fR may be used to provide an environment similiar to
+optional argument \fB\-\fR may be used to provide an environment similar to
 what the user would expect had the user logged in directly.
 .PP
 Additional arguments may be provided after the username, in which case they
@@ -46,7 +46,7 @@ The user will be prompted for a password, if appropriate. Invalid passwords
 will produce an error message. All attempts, both valid and invalid, are
 logged to detect abuses of the system.
 .PP
-The current environment is passed to the new shell. The value of fB$PATH\fR
+The current environment is passed to the new shell. The value of \fB$PATH\fR
 \is reset to \fB/bin:/usr/bin\fR for normal users, or
 \fB/sbin:/bin:/usr/sbin:/usr/bin\fR for the super user. This may be changed
 with the \fBENV_PATH\fR and \fBENV_SUPATH\fR definitions in
diff --git a/man/su.1.xml b/man/su.1.xml
new file mode 100644 (file)
index 0000000..8cf4be9
--- /dev/null
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='su.1'>
+  <!--  $Id: su.1.xml,v 1.8 2005/05/19 10:35:00 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>su</refentrytitle>
+    <manvolnum>1</manvolnum>
+    <refmiscinfo class="sectdesc">User Commands</refmiscinfo>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>su</refname>
+    <refpurpose>change user ID or become super-user</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>su</command>
+      <arg choice='opt'>- </arg>
+      <arg choice='opt'>
+        <arg choice='plain'>
+          <replaceable>username</replaceable>
+        </arg>
+        <arg choice='opt'>
+          <replaceable>args</replaceable>
+        </arg>
+      </arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <command>su</command> is used to become another user during a login
+      session. Invoked without a username, <command>su</command> defaults to
+      becoming the super user. The optional argument <option>-</option> may
+      be used to provide an environment similar to what the user would
+      expect had the user logged in directly.
+    </para>
+    
+    <para>Additional arguments may be provided after the username, in which
+      case they are supplied to the user&acute;s login shell. In particular,
+      an argument of <option>-c</option> will cause the next argument to be
+      treated as a command by most command interpreters. The command will be
+      executed by the shell specified in <filename>/etc/passwd</filename>
+      for the target user.
+    </para>
+    
+    <para>The user will be prompted for a password, if appropriate. Invalid
+      passwords will produce an error message. All attempts, both valid and
+      invalid, are logged to detect abuses of the system.
+    </para>
+    
+    <para>The current environment is passed to the new shell. The value of
+      <emphasis remap='B'>$PATH</emphasis> is reset to
+      <filename>/bin:/usr/bin</filename> for normal users, or
+      <filename>/sbin:/bin:/usr/sbin:/usr/bin</filename> for the super user. 
+      This may be changed with the <emphasis remap='B'>ENV_PATH</emphasis>
+      and <emphasis remap='B'>ENV_SUPATH</emphasis> definitions in
+      <filename>/etc/login.defs</filename>.
+    </para>
+    
+    <para>A subsystem login is indicated by the presense of a "*" as the
+      first character of the login shell. The given home directory will be
+      used as the root of a new filesystem which the user is actually logged
+      into.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='caveats'>
+    <title>CAVEATS</title>
+    <para>
+      This version of <command>su</command> has many compilation options,
+      only some of which may be in use at any particular site.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/passwd</filename></term>
+        <listitem>user account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/shadow</filename></term>
+        <listitem>secure user account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>suauth</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh &lt;jockgrrl@ix.netcom.com&gt;</para>
+  </refsect1>
+</refentry>
diff --git a/man/suauth.5.xml b/man/suauth.5.xml
new file mode 100644 (file)
index 0000000..8bff74f
--- /dev/null
@@ -0,0 +1,196 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='suauth.5'>
+  <!-- $Id: suauth.5.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>suauth</refentrytitle>
+    <manvolnum>5</manvolnum>
+    <refmiscinfo class='source'>Feb 14, 1996</refmiscinfo>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>suauth</refname>
+    <refpurpose>Detailed su control file</refpurpose>
+  </refnamediv>
+  <!-- body begins here -->
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>/etc/suauth</command>    
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>The file <filename>/etc/suauth</filename>      is referenced
+      whenever the su command is called. It can change the behaviour of the
+      su command, based upon
+    </para>
+    
+    <!-- .RS -->
+    <literallayout remap='.nf'>
+      1) the user su is targetting
+    </literallayout>
+    <!-- .fi -->
+    <para>2) the user executing the su command (or any groups he might be
+      a member of)
+    </para>
+    <!-- .RE -->
+    
+    <para>The file is formatted like this, with lines starting with a #
+      being treated as comment lines and ignored;
+    </para>
+    
+    <!-- .RS -->
+    <literallayout remap='RS'>
+      to-id:from-id:ACTION
+    </literallayout>
+    <!-- remap='RE' -->
+    
+    <para>Where to-id is either the word
+      <emphasis remap='B'>ALL</emphasis>,
+      a list of usernames
+      delimited by "," or the words
+      <emphasis remap='B'>ALL EXCEPT</emphasis>
+      followed by a list
+      of usernames delimited by ","
+    </para>
+    
+    <para>from-id is formatted the same as to-id except the extra word
+      <emphasis remap='B'>GROUP</emphasis>
+      is recognised.
+      <emphasis remap='B'>ALL EXCEPT GROUP</emphasis>
+      is perfectly valid too.
+      Following
+      <emphasis remap='B'>GROUP</emphasis>
+      appears one or more group names, delimited by
+      ",". It is not sufficient to have primary group id of the
+      relevant group, an entry in
+      <citerefentry>
+        <refentrytitle>/etc/group</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>
+      is neccessary.
+    </para>
+    
+    <para>Action can be one only of the following currently supported
+      options.
+    </para>
+    <variablelist remap='TP'>
+      <varlistentry>
+        <term>
+          <emphasis remap='B'>DENY</emphasis>
+        </term>
+        <listitem>
+          <para>The attempt to su is stopped before a password is
+            even asked for.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap='B'>NOPASS</emphasis>
+        </term>
+        <listitem>
+          <para>The attempt to su is automatically successful; no
+            password is
+            asked for.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <emphasis remap='B'>OWNPASS</emphasis>
+        </term>
+        <listitem>
+          <para>For the su command to be successful, the user must
+            enter
+            his or her own password. They are told this.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    
+    <para>Note there are three separate fields delimited by a colon. No
+      whitespace must surround this colon. Also note that the file
+      is examined sequentially line by line, and the first applicable
+      rule is used without examining the file further. This makes it
+      possible for a system administrator to exercise as fine control
+      as he or she wishes.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='example'>
+    <title>EXAMPLE</title>
+    <literallayout remap='.nf'>
+      # sample /etc/suauth file
+      #
+      # A couple of privileged usernames may
+      # su to root with their own password.
+      #
+      root:chris,birddog:OWNPASS
+      # 
+      # Anyone else may not su to root unless in
+      # group wheel. This is how BSD does things.
+      #
+      root:ALL EXCEPT GROUP wheel:DENY
+      #
+      # Perhaps terry and birddog are accounts
+      # owned by the same person.
+      # Access can be arranged between them
+      # with no password.
+      #
+      terry:birddog:NOPASS
+      birddog:terry:NOPASS
+      #
+    </literallayout>
+    <!-- .fi -->
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/suauth</filename></term>
+        <listitem></listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='bugs'>
+    <title>BUGS</title>
+    <para>There could be plenty lurking. The file parser is particularly
+      unforgiving about syntax errors, expecting no spurious whitespace
+      (apart from beginning and end of lines), and a specific token
+      delimiting different things.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='diagnostics'>
+    <title>DIAGNOSTICS</title>
+    <para>An error parsing the file is reported using
+      <citerefentry>
+        <refentrytitle>syslogd</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>
+      as level ERR on
+      facility AUTH.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <literallayout remap='.nf'>
+      Chris Evans (lady0110@sable.ox.ac.uk)
+      Lady Margaret Hall
+      Oxford University
+      England
+    </literallayout>
+  </refsect1>
+</refentry>
diff --git a/man/sulogin.8.xml b/man/sulogin.8.xml
new file mode 100644 (file)
index 0000000..deca8da
--- /dev/null
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='sulogin.8'>
+  <!--  $Id: sulogin.8.xml,v 1.6 2005/04/27 18:20:35 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>sulogin</refentrytitle>
+    <manvolnum>8</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>sulogin</refname>
+    <refpurpose>Single-user login</refpurpose>
+  </refnamediv>
+  
+  <refsect1 id='syntax'>
+    <title>SYNTAX</title>
+    <para>
+      <command>sulogin</coamand> [<emphasis remap='I'>
+        tty-device
+      </emphasis>
+      ]
+    </para>
+  </refsect1>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <command>sulogin</coamand> is invoked by <command>init</coamand> prior
+      to allowing the user access to the system when in single user mode. 
+      This feature may only be available on certain systems where
+      <command>init</coamand> has been modified accordingly, or where the
+      <filename>/etc/inittab</filename> has an entry for a single user
+      login.
+    </para>
+    
+    <para>The user is prompted</para>
+    
+    <para>Type control-d to proceed with normal startup,
+      <!-- .br -->
+      (or give root password for system maintenance):
+    </para>
+    
+    <para>Input and output will be performed with the standard file
+      descriptors unless
+      the optional device name argument is provided.
+    </para>
+    
+    <para>If the user enters the correct root password, a login session is
+      initiated.
+      When <emphasis remap='B'>EOF</emphasis> is pressed instead, the
+      system enters multi-user mode.
+    </para>
+    
+    <para>After the user exits the single-user shell, or presses <emphasis
+      remap='B'>EOF</emphasis>, the system begins the initialization process
+      required to enter multi-user mode.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='caveats'>
+    <title>CAVEATS</title>
+    <para>
+      This command can only be used if <command>init</coamand> has been
+      modified to call <command>sulogin</coamand> instead of
+      <filename>/bin/sh</filename>, or if the user has set the <emphasis
+      remap='I'>inittab</emphasis> to support a single user login. For
+      example, the line:
+    </para>
+    <!-- .br -->
+    
+    <para>co:s:respawn:/etc/sulogin /dev/console</para>
+    <!-- .br -->
+    
+    <para>should execute the sulogin command in single user mode.</para>
+    
+    <para>As complete an environment as possible is created. However,
+      various devices
+      may be unmounted or uninitialized and many of the user commands may
+      be
+      unavailable or nonfunctional as a result.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/passwd</filename></term>
+        <listitem>user account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/shadow</filename></term>
+        <listitem>secure user account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>init</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
+  </refsect1>
+</refentry>
diff --git a/man/useradd.8.xml b/man/useradd.8.xml
new file mode 100644 (file)
index 0000000..20dbf27
--- /dev/null
@@ -0,0 +1,417 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='useradd.8'>
+  <!--  $Id: useradd.8.xml,v 1.6 2005/04/27 18:20:35 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>useradd</refentrytitle>
+    <manvolnum>8</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>useradd</refname>
+    <refpurpose>Create a new user or update default new user information</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>useradd</command>    
+      <arg choice='opt'>-c <replaceable>comment</replaceable></arg>
+      <arg choice='opt'>-d <replaceable>home_dir</replaceable></arg>
+      <arg choice='opt'>-e <replaceable>expire_date</replaceable></arg>
+      <arg choice='opt'>-f <replaceable>inactive_days</replaceable></arg>
+      <sbr/>
+      <arg choice='opt'>-g <replaceable>initial_group</replaceable></arg>
+      <arg choice='opt'>
+        <arg choice='plain'>-G <replaceable>group1</replaceable></arg>
+        <arg choice='opt'>
+         <arg choice='plain' rep='repeat'>
+           <replaceable>,group2,</replaceable>
+          </arg>
+          <arg choice='plain'>
+            <replaceable>,</replaceable>
+          </arg>
+          <arg choice='opt'>
+            <replaceable>groupN</replaceable>
+          </arg>
+        </arg>
+      </arg>
+      <sbr/>
+      <arg choice='opt'>
+        <arg choice='opt'>-M </arg><arg choice='plain'>-m </arg>
+        <arg choice='opt'>-k <replaceable>skeleton_dir</replaceable></arg>
+      </arg>
+      <arg choice='opt'>-o </arg>
+      <arg choice='opt'>-p <replaceable>passwd</replaceable></arg>
+      <arg choice='opt'>-s <replaceable>shell</replaceable></arg>
+      <sbr/>
+      <arg choice='opt'>-u <replaceable>uid</replaceable></arg>
+      <arg choice='plain'><replaceable>login</replaceable></arg>
+      <arg choice='plain'><replaceable>useradd</replaceable></arg>
+      <arg choice='plain'>-D </arg>
+      <arg choice='opt'>-g <replaceable>group</replaceable></arg>
+      <arg choice='opt'>-b <replaceable>home_dir</replaceable></arg>
+      <arg choice='opt'>-e <replaceable>expire_date</replaceable></arg>
+      <sbr/>
+      <arg choice='opt'>-f <replaceable>inactive_days</replaceable></arg>
+      <arg choice='opt'>-s <replaceable>shell</replaceable></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <refsect2 id='creating_new_users'>
+      <title>Creating New Users</title>
+      <para>
+        When invoked without the <option>-D</option> option, the
+        <command>useradd</command> command creates a new user account using
+        the values specified on the command line and the default values from
+        the system. Depending on command line options, the useradd command
+        will update system files and may also create the new user's home
+        directory and copy initial files.
+      </para>
+    </refsect2>
+  </refsect1>
+  
+  <refsect1 id='options'>
+    <title>OPTIONS</title>
+    <para>The options which apply to the <command>useradd</command> command are:
+    </para>
+    <variablelist remap='IP'>
+      <varlistentry>
+        <term>
+          <option>-c</option> <replaceable>comment</replaceable>
+        </term>
+        <listitem>
+          <para>The new user's password file comment field.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-d</option> <replaceable>home_dir</replaceable>
+        </term>
+        <listitem>
+          <para>
+            The new user will be created using <emphasis remap='I'> home_dir
+            </emphasis>as the value for the user's login directory. The
+            default is to append the <emphasis remap='I'>login</emphasis>
+            name to <emphasis remap='I'>home</emphasis> and use that as the
+            login directory name.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-e</option> <replaceable>expire_date</replaceable>
+        </term>
+        <listitem>
+          <para>The date on which the user account will be disabled. The
+            date is specified in the format <emphasis
+            remap='I'>YYYY-MM-DD</emphasis>.
+         </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-f</option> <replaceable>inactive_days</replaceable>
+        </term>
+        <listitem>
+          <para>The number of days after a password expires until the
+            account is permanently disabled. A value of 0 disables the
+            account as soon as the password has expired, and a value of -1
+            disables the feature. The default value is -1.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-g</option> <replaceable>initial_group</replaceable>
+        </term>
+        <listitem>
+          <para>The group name or number of the user's initial login group.
+            The group name must exist.  A group number must refer to an
+            already existing group. The default group number is 1 or
+            whatever is specified in
+            <filename>/etc/default/useradd</filename>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-G</option> <replaceable>group1</replaceable>[<emphasis remap='I'>
+            ,group2,...,
+          </emphasis>
+          [<emphasis remap='I'>groupN</emphasis>]]]
+        </term>
+        <listitem>
+          <para>A list of supplementary groups which the user is also a
+            member of. Each group is separated from the next by a comma,
+            with no intervening whitespace. The groups are subject to the
+            same restrictions as the group given with the
+            <option>-g</option> option. The default is for the user to
+            belong only to the initial group.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-M</option>
+        </term>
+        <listitem>
+          <para>RedHat added the CREATE_HOME option in login.defs in their
+            version of shadow-utils (which makes -m the default, with new -M
+            option to turn it off). Unfortunately, this changes the way
+            useradd works (it can be run by scripts expecting some standard
+            behaviour), compared to other Unices and other Linux
+            distributions, and also adds a lot of confusion.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-m</option>
+        </term>
+        <listitem>
+          <para>The user's home directory will be created if it does not
+            exist. The files contained in <emphasis
+            remap='I'>skeleton_dir</emphasis> will be copied to the home
+            directory if the <option>-k</option> option is used, otherwise
+            the files contained in <filename>/etc/skel</filename> will be
+            used instead. Any directories contained in <emphasis remap='I'>
+            skeleton_dir</emphasis> or <filename>/etc/skel</filename> will
+            be created in the user's home directory as well. The
+            <option>-k</option> option is only valid in conjunction with the
+            <option>-m</option> option. The default is to not create the
+            directory and to not copy any files.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-o</option>
+        </term>
+        <listitem>
+          <para>Allow create user with duplicate (non-unique) UID.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-p</option> <replaceable>passwd</replaceable>
+        </term>
+        <listitem>
+          <para>
+            The encrypted password, as returned by <citerefentry>
+              <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
+            </citerefentry>. The default is to disable the account.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-s</option> <replaceable>shell</replaceable>
+        </term>
+        <listitem>
+          <para>The name of the user's login shell. The default is to
+            leave this field
+            blank, which causes the system to select the default
+            login shell.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-u</option> <replaceable>uid</replaceable>
+        </term>
+        <listitem>
+          <para>The numerical value of the user's ID. This value must be
+            unique, unless the <option>-o</option> option is used. The value
+            must be non-negative. The default is to use the smallest ID
+            value greater than 999 and greater than every other user. 
+            Values between 0 and 999 are typically reserved for system
+            accounts.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+    
+    <refsect2 id='changing_the_default_values'>
+      <title>Changing the default values</title>
+      <para>
+        When invoked with the <option>-D</option> option,
+        <command>useradd</command> will either display the current default
+        values, or update the default values from the command line. The
+        valid options are
+      </para>
+      <variablelist remap='IP'>
+        <varlistentry>
+          <term>
+            <option>-b</option> <replaceable>home_dir</replaceable>
+          </term>
+          <listitem>
+            <para>The initial path prefix for a new user's home directory.
+              The user's name will be affixed to the end of <emphasis
+              remap='I'>home</emphasis> to create the new directory name if
+              the <option>-d</option> option is not used when creating a new
+              account.
+            </para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <option>-e</option> <replaceable>expire_date</replaceable>
+          </term>
+          <listitem>
+            <para>The date on which the user account is disabled.</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <option>-f</option> <replaceable>inactive</replaceable>
+          </term>
+          <listitem>
+            <para>The number of days after a password has expired before the
+              account will be disabled.
+            </para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <option>-g</option> <replaceable>group</replaceable>
+          </term>
+          <listitem>
+            <para>The group name or ID for a new user's initial group. The
+              named group must exist, and a numerical group ID must have an
+              existing entry .
+            </para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>
+            <option>-s</option> <replaceable>shell</replaceable>
+          </term>
+          <listitem>
+            <para>The name of the new user's login shell. The named program
+              will be used for all future new user accounts.
+            </para>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+
+      <para>If no options are specified, <command>useradd</command>
+        displays the current default values.
+      </para>
+    </refsect2>
+  </refsect1>
+  
+  <refsect1 id='notes'>
+    <title>NOTES</title>
+    <para>The system administrator is responsible for placing the default
+      user files in the <filename>/etc/skel/</filename> directory.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='caveats'>
+    <title>CAVEATS</title>
+    <para>You may not add a user to an NIS group. This must be performed on
+      the NIS server.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/passwd</filename></term>
+        <listitem>user account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/shadow</filename></term>
+        <listitem>secure user account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/group</filename></term>
+        <listitem>group account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/default/useradd</filename></term>
+        <listitem>default information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/skel/</filename></term>
+        <listitem>directory containing default files</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='exit_values'>
+    <title>EXIT VALUES</title>
+    <variablelist remap='TP'>
+      <varlistentry>
+        <term>
+          The <command>useadd</coamand> command exits with the following
+          values:
+        </term>
+        <listitem>
+          <!-- .br -->
+          <para>
+            <literal>0</literal>       - success
+            <!-- .br -->
+            <literal>1</literal>       - can't update password file
+            <!-- .br -->
+            <literal>2</literal>       - invalid command syntax
+            <!-- .br -->
+            <literal>3</literal>       - invalid argument to option
+            <!-- .br -->
+            <literal>4</literal>       - uid already in use (and no -o)
+            <!-- .br -->
+            <literal>6</literal>       - specified group doesn't exist
+            <!-- .br -->
+            <literal>9</literal>       - username already in use
+            <!-- .br -->
+            <literal>10</literal>      - can't update group file
+            <!-- .br -->
+            <literal>12</literal>      - can't create home directory
+            <!-- .br -->
+            <literal>13</literal>      - can't create mail spool
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
+  </refsect1>
+</refentry>
diff --git a/man/userdel.8.xml b/man/userdel.8.xml
new file mode 100644 (file)
index 0000000..b758392
--- /dev/null
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='userdel.8'>
+  <!-- $Id: userdel.8.xml,v 1.5 2005/04/27 16:44:12 kloczek Exp $ -->
+  <refmeta>
+    <refentrytitle>USERDEL</refentrytitle>
+    <manvolnum>8</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>userdel</refname>
+    <refpurpose>Delete a user account and related files</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>userdel</command>    
+      <arg choice='opt'>-r </arg>
+      <arg choice='plain'>
+        <replaceable>login</replaceable>
+      </arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      The <command>userdel</command> command modifies the system account
+      files, deleting all entries that refer to <emphasis
+      remap='I'>login</emphasis>. The named user must exist.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='options'>
+    <title>OPTIONS</title>
+    <para>
+      The options which apply to the <command>userdel</command> command are:
+    </para>
+    <variablelist remap='IP'>
+      <varlistentry>
+        <term>
+          <option>-r</option>
+        </term>
+        <listitem>
+          <para>Files in the user's home directory will be removed along
+            with the home directory itself and the user's mail spool. Files
+            located in other file systems will have to be searched for and
+            deleted manually.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/group</filename></term>
+        <listitem>group account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/passwd</filename></term>
+        <listitem>user account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/shadow</filename></term>
+        <listitem>secure user account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='exit_values'>
+    <title>EXIT VALUES</title>
+    <variablelist remap='TP'>
+      <varlistentry>
+        <term>
+          The <command>userdel</command> command exits with the following
+          values:
+        </term>
+        <listitem>
+          <!-- .br -->
+          <para>
+            <literal>0</literal>       - success
+            <!-- .br -->
+            <literal>1</literal>       - can't update password file
+            <!-- .br -->
+            <literal>2</literal>       - invalid command syntax
+            <!-- .br -->
+            <literal>6</literal>       - specified user doesn't exist
+            <!-- .br -->
+            <literal>8</literal>       - user currently logged in
+            <!-- .br -->
+            <literal>10</literal>      - can't update group file
+            <!-- .br -->
+            <literal>12</literal>      - can't remove home directory
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  
+  <refsect1 id='caveats'>
+    <title>CAVEATS</title>
+    <para>
+      <command>userdel</command> will not allow you to remove an account if
+      the user is currently logged in. You must kill any running processes
+      which belong to an account that you are deleting. You may not remove
+      any NIS attributes on an NIS client. This must be performed on the NIS
+      server.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>usermod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
+  </refsect1>
+</refentry>
diff --git a/man/usermod.8.xml b/man/usermod.8.xml
new file mode 100644 (file)
index 0000000..683b330
--- /dev/null
@@ -0,0 +1,300 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='usermod.8'>
+  <!--  $Id: usermod.8.xml,v 1.5 2005/04/28 13:57:45 kloczek Exp $  -->
+  <refmeta>
+    <refentrytitle>usermod</refentrytitle>
+    <manvolnum>8</manvolnum>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>usermod</refname>
+    <refpurpose>Modify a user account</refpurpose>
+  </refnamediv>
+
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>usermod</command>    
+      <arg choice='opt'>-c <replaceable>comment</replaceable></arg>
+      <arg choice='opt'>
+        <arg choice='plain'>-d <replaceable>home_dir</replaceable></arg>
+        <arg choice='opt'>-m </arg>
+      </arg>
+      <arg choice='opt'>-e <replaceable>expire_date</replaceable></arg>
+      <arg choice='opt'>-f <replaceable>inactive_time</replaceable></arg>
+      <arg choice='opt'>-g <replaceable>initial_group</replaceable></arg>
+      <sbr/>
+      <arg choice='opt'>
+        <arg choice='plain'>-G <replaceable>group1</replaceable></arg>
+        <arg choice='opt'>
+          <arg choice='plain' rep='repeat'><replaceable>,group2,</replaceable></arg>
+          <arg choice='plain'><replaceable>,</replaceable></arg>
+          <arg choice='opt'><replaceable>groupN</replaceable></arg>
+        </arg>
+      </arg>
+      <sbr/>
+      <arg choice='opt'>-l <replaceable>login_name</replaceable></arg>
+      <arg choice='opt'>-p <replaceable>passwd</replaceable></arg>
+      <arg choice='opt'>-s <replaceable>shell</replaceable></arg>
+      <arg choice='opt'>
+        <arg choice='plain'>-u <replaceable>uid</replaceable></arg>
+        <arg choice='opt'>-o </arg>
+      </arg>
+      <sbr/>
+      <group choice='opt'>
+        <arg choice='plain'>-L </arg><arg choice='plain'>-U </arg>
+      </group>
+      <arg choice='plain'><replaceable>login</replaceable></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      The <command>usermod</command> command modifies the system account
+      files to reflect the changes that are specified on the command line.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='options'>
+    <title>OPTIONS</title>
+    <para>
+      The options which apply to the <command>usermod</command> command
+      are:
+    </para>
+    <variablelist remap='IP'>
+      <varlistentry>
+        <term>
+          <option>-c</option> <replaceable>comment</replaceable>
+        </term>
+        <listitem>
+          <para>The new value of the user's password file comment
+            field. It is normally modified using the <citerefentry>
+              <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
+            </citerefentry>utility.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-d</option> <replaceable>home_dir</replaceable>
+        </term>
+        <listitem>
+          <para>
+            The user's new login directory. If the <option>-m</option>
+            option is given the contents of the current home directory will
+            be moved to the new home directory, which is created if it does
+            not already exist.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-e</option> <replaceable>expire_date</replaceable>
+        </term>
+        <listitem>
+          <para>The date on which the user account will be disabled.  The
+            date is specified in the format <emphasis remap='I'>YYYY-MM-DD
+            </emphasis>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-f</option> <replaceable>inactive_days</replaceable>
+        </term>
+        <listitem>
+          <para>The number of days after a password expires until the
+            account is permanently disabled. A value of 0 disables the
+            account as soon as the password has expired, and a value of -1
+            disables the feature. The default value is -1.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-g</option> <replaceable>initial_group</replaceable>
+        </term>
+        <listitem>
+          <para>The group name or number of the user's new initial login
+            group. The group name must exist. A group number must refer to
+            an already existing group. The default group number is 1.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-G</option> <replaceable>group1</replaceable>[<emphasis remap='I'>
+            ,group2,...,
+          </emphasis>
+          [<emphasis remap='I'>groupN</emphasis>]]]
+        </term>
+        <listitem>
+          <para>A list of supplementary groups which the user is also a
+            member of. Each group is separated from the next by a comma,
+            with no intervening whitespace. The groups are subject to the
+            same restrictions as the group given with the
+            <option>-g</option> option. If the user is currently a member of
+            a group which is not listed, the user will be removed from the
+            group.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-l</option> <replaceable>login_name</replaceable>
+        </term>
+        <listitem>
+          <para>
+            The name of the user will be changed from <emphasis
+            remap='I'>login </emphasis> to <emphasis
+            remap='I'>login_name</emphasis>.  Nothing else is changed. In
+            particular, the user's home directory name should probably be
+            changed to reflect the new login name.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-L</option>
+        </term>
+        <listitem>
+          <para>Lock a user's password. This puts a '!' in front of the
+            encrypted password, effectively disabling the password. You
+            can't use this option with <option>-p</option> or
+            <option>-U</option>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-o</option>
+        </term>
+        <listitem>
+          <para>
+            When used with the <option>-u</option> option, this option
+            allows to change the user ID to a non-unique value.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-p</option> <replaceable>passwd</replaceable>
+        </term>
+        <listitem>
+          <para>
+            The encrypted password, as returned by <citerefentry>
+              <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
+            </citerefentry>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-s</option> <replaceable>shell</replaceable>
+        </term>
+        <listitem>
+          <para>The name of the user's new login shell. Setting this field
+            to blank causes the system to select the default login shell.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-u</option> <replaceable>uid</replaceable>
+        </term>
+        <listitem>
+          <para>The numerical value of the user's ID. This value must be
+            unique, unless the <option>-o</option> option is used. The value
+            must be non-negative. Values between 0 and 99 are typically
+            reserved for system accounts. Any files which the user owns and
+            which are located in the directory tree rooted at the user's
+            home directory will have the file user ID changed automatically.
+            Files outside of the user's home directory must be altered
+            manually.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-U</option>
+        </term>
+        <listitem>
+          <para>Unlock a user's password. This removes the '!' in front of
+            the encrypted password. You can't use this option with
+            <option>-p</option> or <option>-L</option>.
+          </para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+
+  <refsect1 id='caveats'>
+    <title>CAVEATS</title>
+    <para>
+      <command>usermod</command> will not allow you to change the name of a
+      user who is logged in. You must make certain that the named user is
+      not executing any processes when this command is being executed if the
+      user's numerical user ID is being changed. You must change the owner
+      of any crontab files manually. You must change the owner of any at
+      jobs manually. You must make any changes involving NIS on the NIS
+      server.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='files'>
+    <title>FILES</title>
+    <variablelist>
+      <varlistentry>
+        <term><filename>/etc/passwd</filename></term>
+        <listitem>user account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/shadow</filename></term>
+        <listitem>secure user account information</listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>/etc/group</filename></term>
+        <listitem>group account information</listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
+      </citerefentry>.
+    </para>
+  </refsect1>
+  
+  <refsect1 id='author'>
+    <title>AUTHOR</title>
+    <para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
+  </refsect1>
+</refentry>
index 76b9686a2029522290b0977a1e3c86162c7b2996..ebb35cd42f4bc49c3178b149ebcffe7700ebb55f 100644 (file)
@@ -1,4 +1,4 @@
-.\"$Id: vipw.8,v 1.8 2005/04/05 18:47:50 kloczek Exp $
+.\"$Id: vipw.8,v 1.10 2005/04/27 08:29:36 kloczek Exp $
 .TH VIPW 8 "26 Sep 1997"
 .SH NAME
 vipw, vigr \- edit the password, group, shadow\-password, or shadow\-group file.
@@ -9,12 +9,11 @@ vipw, vigr \- edit the password, group, shadow\-password, or shadow\-group file.
 .SH DESCRIPTION
 \fBvipw\fR and \fBvigr\fR will edit the files \fI/etc/passwd\fR and
 \fI/etc/group\fR, respectively. With the \fB\-s\fR flag, they will edit the
-shadow versions of those files, fI/etc/shadow\fR and \fI/etc/gshadow\fR,
+shadow versions of those files, \fI/etc/shadow\fR and \fI/etc/gshadow\fR,
 respectively. The programs will set the appropriate locks to prevent file
 corruption. When looking for an editor, the programs will first try the
-environment variable \fBVISUAL\fR, then the environment variable
-\fBEDITOR\fR, and finally the default editor,
-.BR vi .
+environment variable \fB$VISUAL\fR, then the environment variable
+\fB$EDITOR\fR, and finally the default editor, \fBvi\fR(1).
 .SH "SEE ALSO"
 .BR group (5),
 .BR passwd (5),
diff --git a/man/vipw.8.xml b/man/vipw.8.xml
new file mode 100644 (file)
index 0000000..7e76873
--- /dev/null
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id='vipw.8'>
+  <!--  $Id: vipw.8.xml,v 1.6 2005/04/28 13:54:06 kloczek Exp $  -->
+  <refentryinfo>
+    <date>26 Sep 1997</date>
+  </refentryinfo>
+  <refmeta>
+    <refentrytitle>vipw</refentrytitle>
+    <manvolnum>8</manvolnum>
+    <refmiscinfo class='date'>26 Sep 1997</refmiscinfo>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>vipw</refname>
+    <refname>vigr</refname>
+    <refpurpose>edit the password, group, shadow-password, or shadow-group
+      file.
+    </refpurpose>
+  </refnamediv>
+
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>vipw</command><arg choice='opt'>-s </arg>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>vigr</command><arg choice='opt'>-s </arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  
+  <refsect1 id='description'>
+    <title>DESCRIPTION</title>
+    <para>
+      <command>vipw</command> and <command>vigr</command> will edit the
+      files <filename>/etc/passwd</filename> and
+      <filename>/etc/group</filename>, respectively. With the
+      <option>-s</option> flag, they will edit the shadow versions of those
+      files, <filename>/etc/shadow</filename> and
+      <filename>/etc/gshadow</filename>, respectively. The programs will set
+      the appropriate locks to prevent file corruption. When looking for an
+      editor, the programs will first try the environment variable
+      <envar>$VISUAL</envar>, then the environment variable <emphasis
+      remap='B'>$EDITOR</emphasis>, and finally the default editor, <citerefentry>
+      <refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum>
+      </citerefentry>.
+    </para>
+  </refsect1>
+
+  <refsect1 id='see_also'>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry>
+        <refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>,
+      <citerefentry>
+        <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
+      </citerefentry>
+    </para>
+  </refsect1>
+</refentry>
index a0c99cb69a055aabca61b14f00eabba0537a6a39..c97980605d008d305e2a7a07628c4118f347f624 100644 (file)
@@ -38,7 +38,11 @@ host_triplet = @host@
 subdir = man/zh_CN
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
index 9ca322eddc6d76bc425b9f03af77b2e4b22f238e..4491fff02f5d02e3f16eb30cc0b04c23c4c0da65 100644 (file)
@@ -38,7 +38,11 @@ host_triplet = @host@
 subdir = man/zh_TW
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
diff --git a/po/ChangeLog b/po/ChangeLog
new file mode 100644 (file)
index 0000000..dafc380
--- /dev/null
@@ -0,0 +1,5 @@
+2005-05-04  gettextize  <bug-gnu-gettext@gnu.org>
+
+       * Makefile.in.in: Upgrade to gettext-0.14.3.
+       * Rules-quot: Upgrade to gettext-0.14.3.
+
index 54e3d8bb892a22fcfd406c321b3cfc4a038d06ee..b6e3bcccc0527bc106445cd305e333e7ed6020e6 100644 (file)
@@ -27,5 +27,6 @@ sv
 tl
 tr
 uk
+vi
 zh_CN
 zh_TW
index 27b721aa8a7b79e43db586f8251ff6b51b684304..4705780e38ac3c08c1726abf6aa5f707bbf14c43 100644 (file)
@@ -1,5 +1,5 @@
 # Makefile for PO directory in any package using GNU gettext.
-# Copyright (C) 1995-1997, 2000-2003 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+# Copyright (C) 1995-1997, 2000-2005 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
 #
 # This file can be copied and used freely without restrictions.  It can
 # be used in projects which are not available under the GNU General Public
@@ -7,9 +7,12 @@
 # functionality.
 # Please note that the actual code of GNU gettext is covered by the GNU
 # General Public License and is *not* in the public domain.
+#
+# Origin: gettext-0.14.3
 
 PACKAGE = @PACKAGE@
 VERSION = @VERSION@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 
 SHELL = /bin/sh
 @SET_MAKE@
@@ -44,7 +47,7 @@ UPDATEPOFILES = @UPDATEPOFILES@
 DUMMYPOFILES = @DUMMYPOFILES@
 DISTFILES.common = Makefile.in.in remove-potcdate.sin \
 $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
-DISTFILES = $(DISTFILES.common) Makevars POTFILES.in $(DOMAIN).pot stamp-po \
+DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
 $(POFILES) $(GMOFILES) \
 $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
 
@@ -55,7 +58,7 @@ CATALOGS = @CATALOGS@
 # Makevars gets inserted here. (Don't remove this line!)
 
 .SUFFIXES:
-.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-update
+.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
 
 .po.mo:
        @echo "$(MSGFMT) -c -o $@ $<"; \
@@ -77,6 +80,12 @@ all: all-@USE_NLS@
 all-yes: stamp-po
 all-no:
 
+# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
+# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
+# we don't want to bother translators with empty POT files). We assume that
+# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
+# In this case, stamp-po is a nop (i.e. a phony target).
+
 # stamp-po is a timestamp denoting the last time at which the CATALOGS have
 # been loosely updated. Its purpose is that when a developer or translator
 # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
@@ -86,10 +95,13 @@ all-no:
 # $(POFILES) has been designed to not touch files that don't need to be
 # changed.
 stamp-po: $(srcdir)/$(DOMAIN).pot
-       test -z "$(CATALOGS)" || $(MAKE) $(CATALOGS)
-       @echo "touch stamp-po"
-       @echo timestamp > stamp-poT
-       @mv stamp-poT stamp-po
+       test ! -f $(srcdir)/$(DOMAIN).pot || \
+         test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
+       @test ! -f $(srcdir)/$(DOMAIN).pot || { \
+         echo "touch stamp-po" && \
+         echo timestamp > stamp-poT && \
+         mv stamp-poT stamp-po; \
+       }
 
 # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
 # otherwise packages like GCC can not be built if only parts of the source
@@ -98,11 +110,16 @@ stamp-po: $(srcdir)/$(DOMAIN).pot
 # This target rebuilds $(DOMAIN).pot; it is an expensive operation.
 # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
 $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+       if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
+         msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
+       else \
+         msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
+       fi; \
        $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
          --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
          --files-from=$(srcdir)/POTFILES.in \
          --copyright-holder='$(COPYRIGHT_HOLDER)' \
-         --msgid-bugs-address='$(MSGID_BUGS_ADDRESS)'
+         --msgid-bugs-address="$$msgid_bugs_address"
        test ! -f $(DOMAIN).po || { \
          if test -f $(srcdir)/$(DOMAIN).pot; then \
            sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
@@ -128,9 +145,13 @@ $(srcdir)/$(DOMAIN).pot:
 # Note that a PO file is not touched if it doesn't need to be changed.
 $(POFILES): $(srcdir)/$(DOMAIN).pot
        @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
-       test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-       echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
-       cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot
+       if test -f "$(srcdir)/$${lang}.po"; then \
+         test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+         echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
+         cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \
+       else \
+         $(MAKE) $${lang}.po-create; \
+       fi
 
 
 install: install-exec install-data
@@ -283,11 +304,14 @@ dist distdir:
        $(MAKE) update-po
        @$(MAKE) dist2
 # This is a separate target because 'update-po' must be executed before.
-dist2: $(DISTFILES)
+dist2: stamp-po $(DISTFILES)
        dists="$(DISTFILES)"; \
        if test "$(PACKAGE)" = "gettext-tools"; then \
          dists="$$dists Makevars.template"; \
        fi; \
+       if test -f $(srcdir)/$(DOMAIN).pot; then \
+         dists="$$dists $(DOMAIN).pot stamp-po"; \
+       fi; \
        if test -f $(srcdir)/ChangeLog; then \
          dists="$$dists ChangeLog"; \
        fi; \
@@ -299,9 +323,9 @@ dist2: $(DISTFILES)
        if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
        for file in $$dists; do \
          if test -f $$file; then \
-           cp -p $$file $(distdir); \
+           cp -p $$file $(distdir) || exit 1; \
          else \
-           cp -p $(srcdir)/$$file $(distdir); \
+           cp -p $(srcdir)/$$file $(distdir) || exit 1; \
          fi; \
        done
 
@@ -310,6 +334,13 @@ update-po: Makefile
        test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
        $(MAKE) update-gmo
 
+# General rule for creating PO files.
+
+.nop.po-create:
+       @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
+       echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
+       exit 1
+
 # General rule for updating PO files.
 
 .nop.po-update:
@@ -341,7 +372,7 @@ $(DUMMYPOFILES):
 update-gmo: Makefile $(GMOFILES)
        @:
 
-Makefile: Makefile.in.in $(top_builddir)/config.status @POMAKEFILEDEPS@
+Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
        cd $(top_builddir) \
          && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
               $(SHELL) ./config.status
index 5f46d237d2593c674ab34518cf342553fe0f6aef..9c2a995e3009a099cf52764d458398716dee4df6 100644 (file)
@@ -4,6 +4,11 @@ DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.heade
 
 .SUFFIXES: .insert-header .po-update-en
 
+en@quot.po-create:
+       $(MAKE) en@quot.po-update
+en@boldquot.po-create:
+       $(MAKE) en@boldquot.po-update
+
 en@quot.po-update: en@quot.po-update-en
 en@boldquot.po-update: en@boldquot.po-update-en
 
index 67c3a55be10cbbeca3df7d8b3345ad6a43eee898..7e5ed432be9d87828f8db1009f756404c9c7c865 100644 (file)
Binary files a/po/bs.gmo and b/po/bs.gmo differ
index 9905220a2004b5c10b561f08ad3138f051dcfb01..aadad3c4944323b4d98bc83175a2f4e21aee9b3a 100644 (file)
--- a/po/bs.po
+++ b/po/bs.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2004-05-09 12:03+0100\n"
 "Last-Translator: Safir Šećerović <sapphire@linux.org.ba>\n"
 "Language-Team: Bosnian <lokal@lugbih.org>\n"
@@ -155,12 +155,12 @@ msgstr ""
 msgid "malloc(%d) failed\n"
 msgstr ""
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr ""
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1027,7 +1027,7 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
@@ -1206,7 +1206,7 @@ msgstr ""
 msgid "Sorry.\n"
 msgstr ""
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr ""
index 465b1ad58ca2da352c92f7806c3c102378e5337e..6aeac0aef9683af37d39ae46859aab397fb36950 100644 (file)
Binary files a/po/ca.gmo and b/po/ca.gmo differ
index 7217b5ecf6c5bf221f098ea9021115bc29d09e98..27437455b5b655087f13b69924ec196a70171533 100644 (file)
--- a/po/ca.po
+++ b/po/ca.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2004-06-16 20:58:19+0200\n"
 "Last-Translator: Guillem Jover <guillem@debian.org>\n"
 "Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n"
@@ -155,12 +155,12 @@ msgstr "No s'ha pogut canviar el directori arrel a «%s»\n"
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) ha fallat\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "No s'ha pogut reservar espai per a la informació de configuració.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1037,7 +1037,7 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
@@ -1225,7 +1225,7 @@ msgstr "El gid és desconegut: %lu\n"
 msgid "Sorry.\n"
 msgstr "Disculpeu.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "hi ha massa grups\n"
index 3a36165974d05ab8a64d3fc563a6869afd38fa70..28f96350941b09d3414d078e7c2552647621d9a6 100644 (file)
Binary files a/po/cs.gmo and b/po/cs.gmo differ
index f751d2e8f1c69b67ca0e0cb076c965032d4ab427..e60505de7bf6380b3f81f898d0e82c41d1748a3e 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2005-04-19 21:17+0200\n"
 "Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
 "Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
@@ -162,12 +162,12 @@ msgstr "Nelze nastavit kořenový adresář na \"%s\"\n"
 msgid "malloc(%d) failed\n"
 msgstr "volání malloc(%d) selhalo\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "Nemohu alokovat dostatek místa pro konfigurační údaje.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1062,14 +1062,14 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
 "Použití: lastlog [volby]\n"
 "\n"
 "Volby:\n"
-"  -u, --login LOGIN\tzobrazí záznamy lastlogu pro uživatele LOGIN\n"
+"  -u, --user LOGIN\tzobrazí záznamy lastlogu pro uživatele LOGIN\n"
 "  -h, --help\t\tzobrazí tuto nápovědu a skončí\n"
 "  -t, --time DNŮ\tzobrazí záznamy lastlogu novější než DNŮ\n"
 
@@ -1255,7 +1255,7 @@ msgstr "neznámé gid %lu\n"
 msgid "Sorry.\n"
 msgstr "Lituji.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "příliš mnoho skupin\n"
index 2617ad5901e6d97d7c9f87b6cd3e465d97d9e720..9e4872bbafbf327ac4b366146a05e2aec4137fa7 100644 (file)
Binary files a/po/da.gmo and b/po/da.gmo differ
index 710b004bcac5a1f74c461b05d792fcd149bc93a1..d8ca4bc6c5a4ba7a8f1855c5f56432d07200159e 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2005-04-19 10:17+0200\n"
 "Last-Translator: Claus Hindsgaul <claus_h@image.dk>\n"
 "Language-Team: Danish <dansk@klid.dk>\n"
@@ -160,12 +160,12 @@ msgstr "Kan ikke ændre rodmappen til \"%s\"\n"
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) mislykkedes\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "Kunne ikke frigøre plads til opsætningsoplysninger.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr "opsætningsfejl - ukendt punkt %s (informér administrator)\n"
@@ -1057,14 +1057,14 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
 "Brug: lastlog [tilvalg]\n"
 "\n"
 "Tilvalg:\n"
-"  -u, --login LOGIND\tvis lastlog-optegnelser for brugeren med det angivne "
+"  -u, --user LOGIND\tvis lastlog-optegnelser for brugeren med det angivne "
 "LOGIND\n"
 "  -h, --help\t\tdvis denne hjælpebesked og afslut\n"
 "  -t, --time DAGE\tvis kun lastlog-optegnelser, der er nyere end DAGE\n"
@@ -1251,7 +1251,7 @@ msgstr "ukendt gid: %lu\n"
 msgid "Sorry.\n"
 msgstr "Beklager.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "for mange grupper\n"
index e8614a7ca9d5fcd49acd4bf9b07cd5d56b416a08..21d7ffd9d723f29406479b492d24ebd3241372d9 100644 (file)
Binary files a/po/de.gmo and b/po/de.gmo differ
index 7170289b62a884637ebb8075cf367d5cacf3b972..e1d93742da60874782bfa4c588d18ea33d902319 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 19990709\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2002-03-11 12:02-0100\n"
 "Last-Translator: Frank Schmid <frank@cs-schmid.de>\n"
 "Language-Team: Frank Schmid <frank@cs-schmid.de>\n"
@@ -155,12 +155,12 @@ msgstr "Kann Basisverzeichnis nicht nach \"%s\" ändern\n"
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) fehlgeschlagen\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "Kann keinen Speicherplatz für Konfigurationsinformation reservieren.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1033,7 +1033,7 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
@@ -1220,7 +1220,7 @@ msgstr "Unbekannte GID: %lu\n"
 msgid "Sorry.\n"
 msgstr "Entschuldigung.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "zu viele Gruppen\n"
index f349e12d6a847bdd31147bebce5e7b332077ae5d..9b5bcbd0d57092f5461359a19566b84329e19f1e 100644 (file)
Binary files a/po/el.gmo and b/po/el.gmo differ
index 6cac7e503878e0d4cea7010fbc1114c5599eb893..6963da1b7ab2b8d93ace17b48b4915bf8a5f2b0e 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Shadow 980726\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 1998-12-28 20:35:31+0100\n"
 "Last-Translator: Nikos Mavroyanopoulos <nmav@i-net.paiko.gr>\n"
 "Language-Team: Hellenic <el@li.org>\n"
@@ -154,12 +154,12 @@ msgstr "Αδυναμία αλλαγής του πρωταρχικού καταλ
 msgid "malloc(%d) failed\n"
 msgstr "Η κλήση malloc(%d) απέτυχε\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "Αδυναμία δέσμευσης χώρου για πληροφορίες διαμόρφωσης.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1044,7 +1044,7 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
@@ -1234,7 +1234,7 @@ msgstr "άγνωστο gid: %lu\n"
 msgid "Sorry.\n"
 msgstr "Λυπάμαι.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "πάρα πολλές ομάδες\n"
index e7026316655e6bd3394e06309450925e2925db86..c9a943b6812550675ebcde907684a0dddf8acd0a 100644 (file)
Binary files a/po/es.gmo and b/po/es.gmo differ
index 0b83b056b0f241bf8cf867cb0bcf75dd43d55034..b8a917426793b6b8a9fe7a70094234c27fab2cd4 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2005-04-18 23:39+0200\n"
 "Last-Translator:  Rubén Porras Campo <nahoo@inicia.es>\n"
 "Language-Team: Spanish <debian-l10n-spanish@lists.debian.org>\n"
@@ -158,12 +158,12 @@ msgstr "No puedo cambiar el directorio raíz a \"%s\"\n"
 msgid "malloc(%d) failed\n"
 msgstr "falló malloc(%d)\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "No pude reservar espacio para la información de configuración.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1065,14 +1065,14 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
 "Modo de uso: lastlog [opciones]\n"
 "\n"
 "Opciones:\n"
-"  -u, --login USUARIO\tmuestra el registro lastlog para el usuario\n"
+"  -u, --user USUARIO\tmuestra el registro lastlog para el usuario\n"
 "                        especificado\n"
 "  -h, --help\t\tmuestra este mensaje de ayuda y termina\n"
 "  -t, --time DÍAS\tmuestra sólo los registros lastlog más recientes\n"
@@ -1261,7 +1261,7 @@ msgstr "gid desconocido: %lu\n"
 msgid "Sorry.\n"
 msgstr "Disculpe.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "demasiados grupos\n"
index 34a45f7e31a1c23b4d831eef6dcca9873ea449c9..b97fa5d9a71008bd0e8aa21cc46eb7bc281d3dfb 100644 (file)
Binary files a/po/eu.gmo and b/po/eu.gmo differ
index 5c7062625363bdced0b12888d1ead9fa3b08d5d4..24a0626a07d06bd8c0ad20e8ecd878f3042db2c1 100644 (file)
--- a/po/eu.po
+++ b/po/eu.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2005-04-19 21:28+0200\n"
 "Last-Translator: Iaki Larraaga Murgoitio <dooteo@euskalgnu.org>\n"
 "Language-Team:  <itzulpena@euskalgnu.org>\n"
@@ -164,12 +164,12 @@ msgstr "Ezin da erro direktorioa  \"%s\"-ra aldatu.\n"
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) huts egin du\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "Ezin izan da lekua esleitu, konfigurazioaren informaziorako.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1067,14 +1067,14 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
 "Erabilera: lastlog [aukerak]\n"
 "\n"
 "Aukerak:\n"
-"  -u, --login IZENA\tIZENA duen erabiltzailearen lastlog erregistroa \n"
+"  -u, --user IZENA\tIZENA duen erabiltzailearen lastlog erregistroa \n"
 "\t\t\t\tbistaratzen du\n"
 "  -h, --help\t\tlaguntzako mezu hau bistaratu eta irten egiten da\n"
 "  -t, --time EGUNAK\tEGUNAK baino berriagoak diren erregistroak \n"
@@ -1264,7 +1264,7 @@ msgstr "gid ezezaguna: %lu\n"
 msgid "Sorry.\n"
 msgstr "Barkatu.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "talde gehiegi\n"
index e5866b6236096d383ea1f41721095408bf529327..e502d8b5139d643210b76e8af53deb97eed9e007 100644 (file)
Binary files a/po/fi.gmo and b/po/fi.gmo differ
index 042bc136209666b442e983eca28cb66ec511ebd5..4e03fb138a29a8eddb414b01e7cf15d2df525d7d 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2005-04-19 09:23+0300\n"
 "Last-Translator: Tommi Vainikainen <thv+debian@iki.fi>\n"
 "Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n"
@@ -158,12 +158,12 @@ msgstr "Ei voi vaihtaa juurihakemistoksi \"%s\"\n"
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) epäonnistui\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "Asetustiedoille ei voi varata tilaa.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr "asetusvirhe - tuntematon kohta \"%s\" (kerro ylläpidolle)\n"
@@ -1056,14 +1056,14 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
 "Käyttö: lastlog [valitsimet]\n"
 "\n"
 "Valitsimet:\n"
-"  -u, --login TUNNUS    Tulosta lastlog-tietue käyttäjälle TUNNUS\n"
+"  -u, --user TUNNUS     Tulosta lastlog-tietue käyttäjälle TUNNUS\n"
 "  -h, --help            Näytä tämä ohje ja lopeta\n"
 "  -t, --time PÄIVÄÄ     Tulosta vain PÄIVÄÄ tuoreemmat lastlog-tietueet\n"
 
@@ -1250,7 +1250,7 @@ msgstr "tuntematon gid: %lu\n"
 msgid "Sorry.\n"
 msgstr "Pahoittelen.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "liian monta ryhmää\n"
index dd66cd40eecf365a845258e4e176287168a568ea..52d2ee7f1d12b3bf5c3e925293805d3ebff9c24a 100644 (file)
Binary files a/po/fr.gmo and b/po/fr.gmo differ
index 47e53a70ca5ef1eabf010ba5e63b69a5291831c9..df8c74b5d218266d8b46b7e8bd6420a2dd6298c5 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2005-04-20 22:39+0200\n"
 "Last-Translator: Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>\n"
 "Language-Team:  French <debian-l10n-french@lists.debian.org>\n"
@@ -161,13 +161,13 @@ msgstr "Impossible de changer le répertoire racine en « %s »\n"
 msgid "malloc(%d) failed\n"
 msgstr "échec de malloc(%d)\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr ""
 "Impossible d'allouer l'espace pour l'information sur la configuration.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1074,14 +1074,14 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options :\n"
-"  -u, --login LOGIN   afficher l'enregistrement « lastlog » "
+"  -u, --user LOGIN    afficher l'enregistrement « lastlog » "
 "pour                       l'utilisateur dont le compte est LOGIN\n"
 "  -h, --help          afficher ce message d'aide et quitter\n"
 "  -t, --time JOURS    afficher uniquement les enregistrements "
@@ -1270,7 +1270,7 @@ msgstr "gid inconnu: %lu\n"
 msgid "Sorry.\n"
 msgstr " \n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "trop de groupes\n"
index 9a611c6676d0d8b1b215ace83812fc03dde56147..9edd1985796c76aea91542f5556d20ccee90ba88 100644 (file)
Binary files a/po/he.gmo and b/po/he.gmo differ
index 7be6a7520a964d988b4de8573b65954d33a350e3..dceb6b44884ee2576d38e3a5656f47dc86e772b0 100644 (file)
--- a/po/he.po
+++ b/po/he.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2004-07-21 23:59+0300\n"
 "Last-Translator: Lior Kaplan <webmaster@guides.co.il>\n"
 "Language-Team: Hebrew <en@li.org>\n"
@@ -156,12 +156,12 @@ msgstr "לא יכול לשנות ספרית שורש ל-\"%s\"\n"
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) נכשל\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "לא יכול להקצות מקום בשביל מידע על הקונפיגורציה.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr "שגיאת הגדרות - רכיב לא ידוע '%s' (הודע למנהל)\n"
@@ -1030,7 +1030,7 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
@@ -1209,7 +1209,7 @@ msgstr ""
 msgid "Sorry.\n"
 msgstr ""
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr ""
index 574747651219b5f9adb55f62e8fbe5c727da8eac..fdaf155e79eb9e37b6051e14accb6f4614fde851 100644 (file)
Binary files a/po/id.gmo and b/po/id.gmo differ
index 68ae0cda325f57aa77802ccf62a9d1043d144982..fd66a5eefd750a700f7aec836e1111398afafe1e 100644 (file)
--- a/po/id.po
+++ b/po/id.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2004-04-09 00:12+0700\n"
 "Last-Translator: Parlin Imanuel Toh <parlin@ui.edu>\n"
 "Language-Team: Debian Indonesia <debid@yahoogroups.com>\n"
@@ -152,12 +152,12 @@ msgstr "Tidak dapat mengubah direktori root ke \"%s\"\n"
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) gagal\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "Tidak dapat mengalokasikan ruang untuk informasi konfigurasi.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1030,7 +1030,7 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
@@ -1217,7 +1217,7 @@ msgstr "gid tidak dikenal: %lu\n"
 msgid "Sorry.\n"
 msgstr "Maaf.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "terlalu banyak grup\n"
index 7b6469e1510c19482aad3be279b36e9d8e2e5878..1bee7798f60e1c589393527533c19cb37c8977f1 100644 (file)
Binary files a/po/it.gmo and b/po/it.gmo differ
index 0633f8122e9a9bd63393549f5c0457059fcdb7f6..eb93095167a3053a27520cb37a8c2fcbb059807e 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -22,7 +22,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2005-04-17 21:57+0200\n"
 "Last-Translator: Danilo Piazzalunga <danilopiazza@libero.it>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
@@ -176,12 +176,12 @@ msgstr "Impossibile cambiare la directory root in «%s»\n"
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) non riuscita\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "Impossibile allocare spazio per le informazioni di configurazione.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1091,14 +1091,14 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
 "Uso: lastlog [OPZIONI]\n"
 "\n"
 "Opzioni:\n"
-"  -u, --login LOGIN     mostra il record di ultimo accesso per l'utente\n"
+"  -u, --user LOGIN      mostra il record di ultimo accesso per l'utente\n"
 "                        specificato da LOGIN\n"
 "  -h, --help            mostra questo messaggio di aiuto ed esce\n"
 "  -t, --time GIORNI     mostra solo i record di ultimo accesso più recenti\n"
@@ -1290,7 +1290,7 @@ msgstr "gid «%lu» sconosciuto\n"
 msgid "Sorry.\n"
 msgstr "Spiacente.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "troppi gruppi\n"
index e5a0c75c64fc75f78556021a91042a8d514ed0db..ed8c2ee29599c753a84646308478049cc9e8c508 100644 (file)
Binary files a/po/ja.gmo and b/po/ja.gmo differ
index 5ffc73ef7e6eb2692165dfe849de320475d9a70b..734af5200e99e7953a73a16ca5b33590a65abee3 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 1990827\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2000-06-18 120:22+0900\n"
 "Last-Translator: Yasuyuki Furukawa <furukawa@vinelinux.org>\n"
 "Language-Team: Japanese\n"
@@ -153,12 +153,12 @@ msgstr "ルートディレクトリを \"%s\"へ変更できません\n"
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) に失敗しました\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "設定情報用の空き容量が確保できませんでした.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr "設定エラー - 不明なアイテム '%s'です  (notify administrator)\n"
@@ -1031,7 +1031,7 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
@@ -1214,7 +1214,7 @@ msgstr "不明なグループIDです: %lu\n"
 msgid "Sorry.\n"
 msgstr "申し訳ございません.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "グループが多すぎます\n"
index e8342b78575cd03202207f9db3954bc8072b28d3..0203e3b447349424734e41c99377d56e21e48ddd 100644 (file)
Binary files a/po/ko.gmo and b/po/ko.gmo differ
index c52012bd313ce71276bc838d9bbb657a899a58f7..e5a7d35e61e987f42eece9bd9dd963a75eaf2b96 100644 (file)
--- a/po/ko.po
+++ b/po/ko.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2005-04-19 16:02+0900\n"
 "Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
 "Language-Team: Korean <ko@li.org>\n"
@@ -155,12 +155,12 @@ msgstr "루트 디렉토리를 \"%s\"(으)로 바꿀 수 없습니다\n"
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d)에 실패했음\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "설정 정보를 위한 공간 확보를 할 수 없습니다.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1054,14 +1054,14 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
 "사용법: lastlog [옵션]\n"
 "\n"
 "옵션:\n"
-"  -u, --login LOGIN\tLOGIN이라는 사용자의 최근 기록을 봅니다\n"
+"  -u, --user LOGIN\tLOGIN이라는 사용자의 최근 기록을 봅니다\n"
 "  -h, --help\t\t이 도움말 메세지를 표시하고 끝납니다\n"
 "  -t, --time DAYS\tDAYS일 내의 최근 로그 기록만 표시합니다\n"
 
@@ -1249,7 +1249,7 @@ msgstr "알 수 없는 GID: %lu\n"
 msgid "Sorry.\n"
 msgstr "죄송합니다.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "그룹들이 너무나 많습니다\n"
index 86e31fec08f21f33162da4c80f8c557a4b2110b6..b0c99eec56f72787b2c7dcf7441585136f14d1ab 100644 (file)
Binary files a/po/nb.gmo and b/po/nb.gmo differ
index 9d0dcfe77b7714f1394ece2643150e2224cdbc21..77dab5995eab40e3560d0efc4e5e3336cdc1204a 100644 (file)
--- a/po/nb.po
+++ b/po/nb.po
@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2004-06-03 21:42+0200\n"
 "Last-Translator: Håvard Korsvoll <korsvoll@skulelinux.no>\n"
 "Language-Team: Norwegian (Nynorsk) <i18n-nn@lister.ping.uio.no>\n"
@@ -162,12 +162,12 @@ msgstr "Kan ikke endre rot mappa til \"%s\"\n"
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) feilet\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "Fant ikke plass til config-info.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr "feil med oppsettet - ukjent element «%s» (kontakt administrator)\n"
@@ -1039,7 +1039,7 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
@@ -1226,7 +1226,7 @@ msgstr "ukjent gid: %lu\n"
 msgid "Sorry.\n"
 msgstr "Beklager.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "For mange grupper\n"
index 9cd1f27a7e28ec130116043611bfd826bc26df60..5c8b2c3836117357a035e55c7606a83c62890563 100644 (file)
Binary files a/po/nl.gmo and b/po/nl.gmo differ
index bb988581a0405fac60bd51255b1a9c7275e6f3af..0efe5c608893fc344d261ec977c770de76c68f2b 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -4,7 +4,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2005-04-24 15:38+0100\n"
 "Last-Translator: Bart Cornelis <cobaco@linux.be>\n"
 "Language-Team: debian-l10n-dutch <debian-l10n-dutch@lists.debian.org>\n"
@@ -157,12 +157,12 @@ msgstr "Kan de hoofdmap niet veranderen naar '%s'\n"
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) is mislukt\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "Kon geen ruimte toewijzen voor de configuratie-informatie.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1062,14 +1062,14 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
 "Gebruik: lastlog [opties]\n"
 "\n"
 "Opties:\n"
-"  -u, --login LOGIN\tprint het lastlog-record van de gebruiker LOGIN\n"
+"  -u, --user LOGIN\tprint het lastlog-record van de gebruiker LOGIN\n"
 "  -h, --help\t\ttoon dit bericht en sluit af\n"
 "  -t, --time DAGEN\tprint enkel lastlog-records van de laatste DAGEN dagen\n"
 
@@ -1255,7 +1255,7 @@ msgstr "onbekende gid: %lu\n"
 msgid "Sorry.\n"
 msgstr "Sorry.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "teveel groepen\n"
index 6bf2fd0943cb90df211e464507f9f1cb80b8e595..05e36c9e857998e143c622eb05033b57858065ed 100644 (file)
Binary files a/po/nn.gmo and b/po/nn.gmo differ
index e9ae002636569ba4deb374337eb889e8bbec9b2e..2d1ba660343526a85ce1b4c081ddc69c05692697 100644 (file)
--- a/po/nn.po
+++ b/po/nn.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2004-06-03 21:41+0200\n"
 "Last-Translator: Håvard Korsvoll <korsvoll@skulelinux.no>\n"
 "Language-Team: Norwegian (Nynorsk) <i18n-nn@lister.ping.uio.no>\n"
@@ -155,12 +155,12 @@ msgstr "Klarer ikkje endra rotmappe til «%s»\n"
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) feila\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "Klarte ikkje finna plass for oppsettsinformasjon.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr "oppsettsfeil - ukjent element «%s» (gje melding til administrator)\n"
@@ -1031,7 +1031,7 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
@@ -1219,7 +1219,7 @@ msgstr "ukjent gid: %lu\n"
 msgid "Sorry.\n"
 msgstr "Årsak.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "for mange grupper\n"
index ddc893a5849141d278c0220d77414a09abb445a5..f2ad22959cd565d80e00c6668dd3d3e024d77ed9 100644 (file)
Binary files a/po/pl.gmo and b/po/pl.gmo differ
index 80744fb0a365de47f0eb3c066db508dff6b2dbdd..2be6861ae85533a671dc63f9c8e7c59c3c705e59 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow-4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2004-02-29 00:27+01:00\n"
 "Last-Translator: Tomasz Kłoczko <kloczek@pld.org.pl>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -163,12 +163,12 @@ msgstr "Nie można zmienić głównego katalogu na \"%s\"\n"
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) nie powiodło się\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "Nie można przydzielić miejsca dla informacji o konfiguracji.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1065,14 +1065,14 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
 "Użycie: lastlog [opcje]\n"
 "\n"
 "Opcje:\n"
-"  -u, --login LOGIN\twyświetl rekord lastlog tylko dla użytkownika o loginie "
+"  -u, --user LOGIN\twyświetl rekord lastlog tylko dla użytkownika o loginie "
 "LOGIN\n"
 "  -h, --help\t\t\twyświetlenie tego opisu i zakończenie\n"
 "  -t, --time DAYS\twyświetl tylko rekordy lastlog nei starsze niż DAYS dni\n"
@@ -1260,7 +1260,7 @@ msgstr "nieznany gid: %lu\n"
 msgid "Sorry.\n"
 msgstr "Wybacz.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "zbyt wiele grup\n"
index a888523a9ed7e03d66c78c008f48108889323048..c8bbf83c47f6d450b83d0b2326807e91d2df32c2 100644 (file)
Binary files a/po/pt.gmo and b/po/pt.gmo differ
index 4f21a3e97647d7dd7bf407fe46eee2869c1a26f8..ea9ffe9195af4ac14bc08a68d0333470e979923c 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2005-04-17 22:55+0000\n"
 "Last-Translator: Miguel Figueiredo <elmig@debianpt.org>\n"
 "Language-Team: Portuguese <traduz@debianpt.org>\n"
@@ -153,12 +153,12 @@ msgstr "Não é possível mudar a directoria de raiz para \"%s\"\n"
 msgid "malloc(%d) failed\n"
 msgstr "O malloc(%d) falhou\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "Não foi possível alocar o espaço para a informação de configuração.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1058,14 +1058,14 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
 "Utilização: lastlog [opções]\n"
 "\n"
 "Opções:\n"
-"  -u, --login LOGIN\tmostra o registo de lastlog para o utilizador LOGIN\n"
+"  -u, --user LOGIN\tmostra o registo de lastlog para o utilizador LOGIN\n"
 "  -h, --help\t\tmostra esta mensagem e sai\n"
 "  -t, --time DIAS\tmostra apenas registos de lastlog mais recentes que DIAS\n"
 
@@ -1253,7 +1253,7 @@ msgstr "gid desconhecido: %lu\n"
 msgid "Sorry.\n"
 msgstr "Desculpe.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "demasiados grupos\n"
index 9c050e20cea78812b67d4d8a8bea583be727971a..b5e87687792ffdc09fce145c329fea77010e6e28 100644 (file)
Binary files a/po/pt_BR.gmo and b/po/pt_BR.gmo differ
index fc5df3abec97393bdd9b94cadba8cec74a831192..983af852f2d900ead7d1caddfeb1a05feb09927c 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2004-06-12 17:16-0300\n"
 "Last-Translator: André Luís Lopes <andrelop@debian.org>\n"
 "Language-Team: Debian-BR Project <debian-l10n-portuguese@lists.debian.org>\n"
@@ -154,12 +154,12 @@ msgstr "Não foi possível mudar o diretório raíz para \"%s\"\n"
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) falhou\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "Não foi possível alocar espaço para a informação de configuração.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1035,7 +1035,7 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
@@ -1222,7 +1222,7 @@ msgstr "gid desconhecido : %lu\n"
 msgid "Sorry.\n"
 msgstr "Desculpe.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "muitos grupos\n"
index b4434f910c24596ad64ce597c0300393490900ab..2beb72fdf233026b680b4dc5c87fa1d37e08e3ca 100644 (file)
Binary files a/po/ro.gmo and b/po/ro.gmo differ
index 3bf1c0dcb196f08bec7bddd7dbc1fe0b3349afe1..f84f3e4a140e4abd26cf109d8585eb1b91bf32f5 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
@@ -2,21 +2,21 @@
 # translation of shadow_ro.po to Romanian
 # This file is distributed under the same license as the PACKAGE package.
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
-# Sorin Batariuc <sorin@bonbon.net>, 2004.
+# Sorin Batariuc <sorin@bonbon.net>, 2004, 2005.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: ro\n"
+"Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
-"PO-Revision-Date: 2004-12-14 18:17+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"PO-Revision-Date: 2005-05-14 02:20+0300\n"
 "Last-Translator: Sorin Batariuc <sorin@bonbon.net>\n"
-"Language-Team: Romanian\n"
+"Language-Team: Romanian <debian-l10n-romanian@lists.debian.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: KBabel 1.3.1\n"
+"Plural-Forms: nplurals=2; plural=n>1\n"
+"X-Generator: KBabel 1.9.1\n"
 
 #: libmisc/addgrps.c:56
 #, c-format
@@ -82,7 +82,7 @@ msgid "You may not change $%s\n"
 msgstr "Nu puteţi schimba $%s\n"
 
 #: libmisc/failure.c:229
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "%d failure since last login.\n"
 "Last was %s on %s.\n"
@@ -90,9 +90,11 @@ msgid_plural ""
 "%d failures since last login.\n"
 "Last was %s on %s.\n"
 msgstr[0] ""
-"%d eşuare de la ultima autentificare.  Ultima oară a fost %s în %s.\n"
+"%d eşuare de la ultima autentificare.\n"
+"Ultima oară a fost %s în %s.\n"
 msgstr[1] ""
-"%d eşuare de la ultima autentificare.  Ultima oară a fost %s în %s.\n"
+"%d eşuări de la ultima autentificare.\n"
+"Ultima oară a fost %s în %s.\n"
 
 #: libmisc/limits.c:397
 #, c-format
@@ -105,7 +107,7 @@ msgstr "Aveţi mesaje noi."
 
 #: libmisc/mail.c:72
 msgid "No mail."
-msgstr "N-aveţi mesaje."
+msgstr "Naveţi mesaje."
 
 #: libmisc/mail.c:74
 msgid "You have mail."
@@ -128,7 +130,7 @@ msgstr "passwd: %s\n"
 
 #: libmisc/pam_pass.c:49
 msgid "passwd: password updated successfully\n"
-msgstr ""
+msgstr "passwd: parolă actualizată cu succes\n"
 
 #: libmisc/setupenv.c:207
 #, c-format
@@ -159,12 +161,12 @@ msgstr "Nu pot schimba directorul rădăcină la \"%s\"\n"
 msgid "malloc(%d) failed\n"
 msgstr "eşuare malloc(%d)\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "Nu pot aloca spaţiu pentru informaţiile despre configurare.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -180,13 +182,13 @@ msgid "%s's Password: "
 msgstr "Parola %s: "
 
 #: src/chage.c:112
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
 "             [-I inactive] [-E expire] [-d last_day] user\n"
 msgstr ""
-"Utilizare: %s [-l] [-m min_zile] [-M max_zile] [-W avertiza]\n"
-"\t[-I inactivă] [-E expiră] [-d ultima_zi] utilizator\n"
+"Utilizare: chage [-l] [-m min_zile] [-M max_zile] [-W avertiza]\n"
+"             [-I inactivă] [-E expiră] [-d ultima_zi] utilizator\n"
 
 #: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
 #, c-format
@@ -218,44 +220,44 @@ msgid "Account Expiration Date (YYYY-MM-DD)"
 msgstr "Data expirării contului (AAAA-LL-ZZ)"
 
 #: src/chage.c:231
-#, fuzzy, c-format
+#, c-format
 msgid "Last password change\t\t\t\t\t: "
-msgstr "Ultima schimbare de parolă (AAAA-LL-ZZ)"
+msgstr "Ultima schimbare de parolă\t\t\t\t\t: "
 
 #: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
-#, fuzzy, c-format
+#, c-format
 msgid "never\n"
-msgstr "Niciodată\n"
+msgstr "niciodată\n"
 
 #: src/chage.c:244
-#, fuzzy, c-format
+#, c-format
 msgid "Password expires\t\t\t\t\t: "
-msgstr "Parola expiră:\t"
+msgstr "Parola expiră:\t\t\t\t\t\t: "
 
 #: src/chage.c:260
-#, fuzzy, c-format
+#, c-format
 msgid "Password inactive\t\t\t\t\t: "
-msgstr "Parolă inactivă:\t"
+msgstr "Parolă inactivă\t\t\t\t\t\t: "
 
 #: src/chage.c:274
-#, fuzzy, c-format
+#, c-format
 msgid "Account expires\t\t\t\t\t\t: "
-msgstr "Contul expiră:\t"
+msgstr "Contul expiră\t\t\t\t\t\t: "
 
 #: src/chage.c:290
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
-msgstr ""
+msgstr "Numărul minim de zile dintre modificările de parolă\t\t: %ld\n"
 
 #: src/chage.c:292
-#, fuzzy, c-format
+#, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
-msgstr "Numărul maxim de încercări a fost atins (%d)\n"
+msgstr "Numărul maxim de zile dintre modificările de parolă\t\t: %ld\n"
 
 #: src/chage.c:294
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
-msgstr ""
+msgstr "Numărul de zile de avertizări dinaintea expirării parolei\t: %ld\n"
 
 #: src/chage.c:431
 #, c-format
@@ -265,9 +267,9 @@ msgstr "%s: nu include \"l\" cu alte semnalizatoare\n"
 #: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
 #: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
 #: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
-#, fuzzy, c-format
+#, c-format
 msgid "%s: permission denied.\n"
-msgstr "%s: permisiune refuzată\n"
+msgstr "%s: permisiune refuzată.\n"
 
 #: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
 #: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
@@ -390,9 +392,9 @@ msgid "%s: `%s' is the NIS master for this client.\n"
 msgstr "%s: `%s' este stăpânul NIS pentru acest client.\n"
 
 #: src/chfn.c:382
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Permission denied.\n"
-msgstr "%s: permisiune refuzată\n"
+msgstr "%s: permisiune refuzată.\n"
 
 #: src/chfn.c:446
 #, c-format
@@ -479,8 +481,8 @@ msgstr ""
 "\n"
 "Opţiuni:\n"
 "  -e, --encrypted\tparola furnizată este criptată\n"
-"  -h, --help\t\tafişez acest mesaj de ajutor şi termin\n"
-"  -m, --md5\t\tfolosesc criptarea MD5 în loc de DES când parola\n"
+"  -h, --help\t\tafişare acest mesaj de ajutor şi ieşire\n"
+"  -m, --md5\t\tutilizează criptarea MD5 în loc de DES atunci când parola\n"
 "\t\t\tfurnizată nu este criptată\n"
 
 #: src/chpasswd.c:189
@@ -594,11 +596,30 @@ msgid ""
 "\t\t\t\tand limits (if used with -r, -m or -l options) only\n"
 "\t\t\t\tfor user with LOGIN\n"
 msgstr ""
+"Utilizare: faillog [opţiuni]\n"
+"\n"
+"Opţiuni:\n"
+"  -a, --all\t\t\tafişare înregistrările de jurnal pentru eşuări pentru toţi "
+"utilizatorii\n"
+"  -h, --help\t\t\tafişare acest mesaj de ajutor şi ieşire\n"
+"  -l, --lock-time SEC\t\tdupă eşuarea autentificării se închide contorul "
+"pentru SEC secunde\n"
+"  -m, --maximum MAX\t\tsetează contorul maxim de autentificări eşuate la "
+"MAX\n"
+"  -r, --reset\t\t\tresetează contoarele de autentificări eşuate\n"
+"  -t, --time ZILE\t\tafişare înregistrările de jurnal pentru eşuări mai "
+"recente de ZILE\n"
+"  -u, --user LOGIN\t\tafişare înregistrări de jurnal pentru eşuări sau "
+"menţine contoarele de eşuări\n"
+"\t\t\t\tşi doar le limitează (dacă este folosit cu opţiunile -r, -m sau -l)\n"
+"\t\t\t\tpentru utilizatorul cu LOGIN\n"
 
 #: src/faillog.c:87
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
 msgstr ""
+"Autentificare           Eşuări Maxim Cea mai recentă                     De "
+"la\n"
 
 #: src/faillog.c:105
 #, c-format
@@ -616,9 +637,9 @@ msgid "Unknown User: %s\n"
 msgstr "Utilizator necunoscut: %s\n"
 
 #: src/gpasswd.c:71
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: %s [-r|-R] group\n"
-msgstr "utilizare: %s [-r|-R] grup\n"
+msgstr "Utilizare: %s -r|-R] grup\n"
 
 #: src/gpasswd.c:72
 #, c-format
@@ -738,9 +759,9 @@ msgid "%s: can't unlock file\n"
 msgstr "%s: nu pot descuia fişierul\n"
 
 #: src/groupadd.c:97
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-msgstr "utilizare: groupadd [-g id_grup [-o]] grup\n"
+msgstr "Utilizare: groupadd [-g id_grup [-o]] [-f] grup\n"
 
 #: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
 #: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
@@ -764,7 +785,7 @@ msgid "%s: can't get unique gid\n"
 msgstr "%s: nu pot prelua id unic de grup\n"
 
 #: src/groupadd.c:280 src/groupmod.c:283
-#, fuzzy, c-format
+#, c-format
 msgid "%s: %s is not a valid group name\n"
 msgstr "%s: %s nu este un nume de grup valid\n"
 
@@ -816,9 +837,9 @@ msgid "%s: group %s exists\n"
 msgstr "%s: grupul %s există\n"
 
 #: src/groupdel.c:83
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: groupdel group\n"
-msgstr "utilizare: groupdel grup\n"
+msgstr "Utilizare: groupdel grup\n"
 
 #: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
 #, c-format
@@ -851,9 +872,9 @@ msgid "%s: %s is the NIS master\n"
 msgstr "%s: %s este stăpân NIS\n"
 
 #: src/groupmod.c:98
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: groupmod [-g gid [-o]] [-n name] group\n"
-msgstr "utilizare: groupmod [-g id_grup [-o]] [-n nume] grup\n"
+msgstr "Utilizare: groupmod [-g id_grup [-o]] [-n nume] grup\n"
 
 #: src/groupmod.c:156
 #, c-format
@@ -1025,14 +1046,14 @@ msgid "%s: can't delete shadow group file\n"
 msgstr "%s: nu pot şterge fişierul de parole criptate de grupuri\n"
 
 #: src/id.c:53
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: id [-a]\n"
-msgstr "utilizare: id [-a]\n"
+msgstr "Utilizare: id [-a]\n"
 
 #: src/id.c:55
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: id\n"
-msgstr "utilizare: id\n"
+msgstr "Utilizare: id\n"
 
 #: src/id.c:169
 #, c-format
@@ -1040,22 +1061,23 @@ msgid " groups="
 msgstr " grupuri="
 
 #: src/lastlog.c:64
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
-"Utilizare: chpasswd [opţiuni]\n"
+"Utilizare: lastlog [opţiuni]\n"
 "\n"
 "Opţiuni:\n"
-"  -e, --encrypted\tparola furnizată este criptată\n"
-"  -h, --help\t\tafişez acest mesaj de ajutor şi termin\n"
-"  -m, --md5\t\tfolosesc criptarea MD5 în loc de DES când parola\n"
-"\t\t\tfurnizată nu este criptată\n"
+"  -u, --user LOGIN\tafişare ultima înregistrare de jurnal pentru "
+"utilizatorul cu LOGIN-ul specificat\n"
+"  -h, --help\t\tafişare acest mesaj de ajutor şi ieşire\n"
+"  -t, --time ZILE\tafişare doar ultimile înregistrari de jurnal mai recente "
+"decât ZILE\n"
 
 #: src/lastlog.c:90
 #, c-format
@@ -1072,9 +1094,9 @@ msgid "**Never logged in**"
 msgstr "**Niciodată autentificat**"
 
 #: src/login.c:156
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: %s [-p] [name]\n"
-msgstr "utilizare: %s [-p] [nume]\n"
+msgstr "Utilizare: %s [-p] [nume]\n"
 
 #: src/login.c:159
 #, c-format
@@ -1176,9 +1198,9 @@ msgid "%s: cannot open DBM files for %s\n"
 msgstr "%s: nu pot deschide fişierele DBM pentru %s\n"
 
 #: src/mkpasswd.c:286
-#, fuzzy, c-format
+#, c-format
 msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: începutul cu "
+msgstr "%s: linia care începe cu %.16s... este prea lungă\n"
 
 #: src/mkpasswd.c:313
 #, c-format
@@ -1186,14 +1208,14 @@ msgid "%s: error parsing line \"%s\"\n"
 msgstr "%s: eroare la analiza liniei \"%s\"\n"
 
 #: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, fuzzy, c-format
+#, c-format
 msgid "adding record for name %s\n"
-msgstr "adăugare înregistrare pentru nume "
+msgstr "adăugare înregistrare pentru nume %s\n"
 
 #: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, fuzzy, c-format
+#, c-format
 msgid "%s: error adding record for %s\n"
-msgstr "%s: eroare la adăugare înregistrare pentru "
+msgstr "%s: eroare la adăugare înregistrare pentru %s\n"
 
 #: src/mkpasswd.c:376
 #, c-format
@@ -1216,14 +1238,14 @@ msgid "Usage: %s [-vf] [-p|g] file\n"
 msgstr "Utilizare: %s [-vf] [-p|g] fişier\n"
 
 #: src/newgrp.c:61
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: newgrp [-] [group]\n"
-msgstr "utilizare: newgrp [-] [grup]\n"
+msgstr "Utilizare: newgrp [-] [grup]\n"
 
 #: src/newgrp.c:63
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: sg group [[-c] command]\n"
-msgstr "utilizare: sg grup [[-c] comanda]\n"
+msgstr "Utilizare: sg grup [[-c] comanda]\n"
 
 #: src/newgrp.c:131
 #, c-format
@@ -1239,7 +1261,7 @@ msgstr "id grup necunoscut: %lu\n"
 msgid "Sorry.\n"
 msgstr "Scuze.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "prea multe grupuri\n"
@@ -1310,9 +1332,9 @@ msgid "%s: error updating files\n"
 msgstr "%s: eroare la actualizarea fişierelor\n"
 
 #: src/passwd.c:154
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "utilizare: %s [-f|-s] [nume]\n"
+msgstr "Utilizare: %s [-f|-s] [nume]\n"
 
 #: src/passwd.c:158
 #, c-format
@@ -1392,9 +1414,10 @@ msgid "%s: repository %s not supported\n"
 msgstr "%s: depozitul %s nu este suportat\n"
 
 #: src/passwd.c:884
-#, fuzzy, c-format
+#, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
-msgstr "Nu puteţi schimba consola pentru %s.\n"
+msgstr ""
+"%s: Nu puteţi vizualiza sau modifica informaţiile despre parola lui %s.\n"
 
 #: src/passwd.c:934
 #, c-format
@@ -1631,29 +1654,30 @@ msgid "%s: too many groups specified (max %d).\n"
 msgstr "%s: prea multe grupuri specificate (maximum %d).\n"
 
 #: src/useradd.c:660
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-msgstr "utilizare: %s\t[-u id_utilizator [-o]] [-g grup] [-G grup,...] \n"
+msgstr "Utilizare: useradd [-u id_utilizator [-o]] [-g grup] [-G grup,...] \n"
 
 #: src/useradd.c:663
-#, fuzzy, c-format
+#, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-msgstr "\t\t[-d acasă] [-s consolă] [-c comentariu] [-m [-k şablon]]\n"
+msgstr ""
+"                 [-d acasă] [-s consolă] [-c comentariu] [-m [-k şablon]]\n"
 
 #: src/useradd.c:665 src/useradd.c:671
-#, fuzzy, c-format
+#, c-format
 msgid "               [-f inactive] [-e expire]\n"
-msgstr "\t\t[-f inactivă] [-e expiră ]\n"
+msgstr "                [-f inactivă] [-e expiră ]\n"
 
 #: src/useradd.c:667
-#, fuzzy, c-format
+#, c-format
 msgid "               [-p passwd] name\n"
-msgstr "[-p passwd] nume\n"
+msgstr "                [-p passwd] nume\n"
 
 #: src/useradd.c:669
-#, fuzzy, c-format
+#, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-msgstr "       %s\t-D [-g grup] [-b base] [-s consolă]\n"
+msgstr "       useradd -D [-g grup] [-b baza] [-s consolă]\n"
 
 #: src/useradd.c:756 src/usermod.c:444
 #, c-format
@@ -1782,11 +1806,13 @@ msgstr "%s: nu pot crea directorul %s\n"
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
+"Nu există nici un grup cu numele de \"mail\", se crează directorul de poştă "
+"cu modul 0600.\n"
 
 #: src/useradd.c:1446
-#, fuzzy, c-format
+#, c-format
 msgid "Can't create mail spool for user %s.\n"
-msgstr "%s: nu pot actualiza intrarea pentru utilizatorul %s\n"
+msgstr "Nu pot crea directorul de poştă pentru utilizatorul %s.\n"
 
 #: src/useradd.c:1550 src/usermod.c:919
 #, c-format
@@ -1807,9 +1833,9 @@ msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
 msgstr "%s: avertisment: CREATE_HOME nu este suportat, vă rog folosiţi -m.\n"
 
 #: src/userdel.c:108
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: %s [-r] name\n"
-msgstr "utilizare: %s [-r] nume\n"
+msgstr "Utilizare: %s [-r] nume\n"
 
 #: src/userdel.c:160 src/userdel.c:221
 #, c-format
@@ -1874,9 +1900,9 @@ msgid "%s: error removing directory %s\n"
 msgstr "%s: eroare la ştergerea directorului %s\n"
 
 #: src/usermod.c:289
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
-msgstr "utilizare: %s\t[-u id_utilizator [-o]] [-g grup] [-G grup,...] \n"
+msgstr "Utilizare: %s\t[-u id_utilizator [-o]] [-g grup] [-G grup,...] \n"
 
 #: src/usermod.c:293
 #, c-format
@@ -1884,7 +1910,7 @@ msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d acasă [-m]] [-s consolă] [-c comentariu] [-l nume_nou]\n"
 
 #: src/usermod.c:296
-#, fuzzy, c-format
+#, c-format
 msgid "[-f inactive] [-e expire] "
 msgstr "[-f inactivă] [-e expiră ] "
 
index f1852b3dd985bc38204cf91dc5d37a01334f4efc..20ab2d951a03bc38ce9c9043a373ae02af32e818 100644 (file)
Binary files a/po/ru.gmo and b/po/ru.gmo differ
index 796680d1920712c78ca07adf53e6420adb2dcee4..8bd6ccbc2c09ff97e19848df18754e2d45b78a31 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -1,74 +1,82 @@
+# translation of ru.po to Russian
+# translation of po_ru.po to Russian
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+# Nikolai Prokoschenko <nikolai@prokoschenko.de>, 2004.
+# Eugene Konev <ejka@imfi.kspu.ru>, 2004.
+# Yuri Kozlov <yuray@id.ru>, 2004, 2005.
+#
 msgid ""
 msgstr ""
-"Project-Id-Version: shadow 3.0.3\n"
+"Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
-"PO-Revision-Date: 2000-04-05 11:00:00+0200\n"
-"Last-Translator: Sergey Kubushin <ksi@ksi-linux.com>\n"
-"Language-Team: RU <ru@li.org>\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"PO-Revision-Date: 2005-05-13 20:56+0400\n"
+"Last-Translator: Yuri Kozlov <yuray@id.ru>\n"
+"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"X-Generator: KBabel 1.9.1\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
 "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
 #: libmisc/addgrps.c:56
 #, c-format
 msgid "Warning: unknown group %s\n"
-msgstr "Ð\9fÑ\80едÑ\83пÑ\80еждение: неизвестная группа %s\n"
+msgstr "Ð\92нимание: неизвестная группа %s\n"
 
 #: libmisc/addgrps.c:67
 #, c-format
 msgid "Warning: too many groups\n"
-msgstr "Ð\9fÑ\80едÑ\83пÑ\80еждение: слишком много групп\n"
+msgstr "Ð\92нимание: слишком много групп\n"
 
 #: libmisc/age.c:72
 #, c-format
 msgid "Your password has expired."
-msgstr "Срок действия вашего пароля истек."
+msgstr "Срок действия вашего пароля истёк."
 
 #: libmisc/age.c:75
 #, c-format
 msgid "Your password is inactive."
-msgstr "Ð\92аÑ\88 Ð¿Ð°Ñ\80олÑ\8c Ð½ÐµÐ°ÐºÑ\82ивен."
+msgstr "Ð\94ейÑ\81Ñ\82вие Ð²Ð°Ñ\88его Ð¿Ð°Ñ\80олÑ\8f Ð²Ñ\80еменно Ð¿Ñ\80иоÑ\81Ñ\82ановлено."
 
 #: libmisc/age.c:78
 #, c-format
 msgid "Your login has expired."
-msgstr "СÑ\80ок Ð´ÐµÐ¹Ñ\81Ñ\82виÑ\8f Ð²Ð°Ñ\88его Ð»Ð¾Ð³Ð¸Ð½Ð° Ð¸Ñ\81Ñ\82ек."
+msgstr "СÑ\80ок Ð´ÐµÐ¹Ñ\81Ñ\82виÑ\8f Ð²Ð°Ñ\88ей Ñ\83Ñ\87Ñ\91Ñ\82ной Ð·Ð°Ð¿Ð¸Ñ\81и Ð¸Ñ\81Ñ\82Ñ\91к."
 
 #: libmisc/age.c:90
 msgid "  Contact the system administrator.\n"
-msgstr "  Ð¡Ð²Ñ\8fжиÑ\82еÑ\81Ñ\8c Ñ\81 Ñ\81иÑ\81Ñ\82емнÑ\8bм Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñ\81Ñ\82Ñ\80аÑ\82оÑ\80ом.\n"
+msgstr "  Ð\9eбÑ\80аÑ\82иÑ\82еÑ\81Ñ\8c Ðº Ñ\81иÑ\81Ñ\82емномÑ\83 Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\83.\n"
 
 #: libmisc/age.c:93
 msgid "  Choose a new password.\n"
-msgstr "  Выберите новый пароль.\n"
+msgstr "  Ð\92Ñ\8bбеÑ\80иÑ\82е Ð¸ Ð²Ð²ÐµÐ´Ð¸Ñ\82е Ð½Ð¾Ð²Ñ\8bй Ð¿Ð°Ñ\80олÑ\8c.\n"
 
 #: libmisc/age.c:169
 #, c-format
 msgid "Your password will expire in %ld days.\n"
-msgstr "Срок действия вашего пароля истечет через %ld дней.\n"
+msgstr "Срок действия вашего пароля истекает через %ld дней.\n"
 
 #: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire tomorrow.\n"
-msgstr "СÑ\80ок Ð´ÐµÐ¹Ñ\81Ñ\82виÑ\8f Ð²Ð°Ñ\88его Ð¿Ð°Ñ\80олÑ\8f Ð·Ð°ÐºÐ°Ð½Ñ\87иваеÑ\82Ñ\81Ñ\8f завтра.\n"
+msgstr "СÑ\80ок Ð´ÐµÐ¹Ñ\81Ñ\82виÑ\8f Ð²Ð°Ñ\88его Ð¿Ð°Ñ\80олÑ\8f Ð¸Ñ\81Ñ\82екаеÑ\82 завтра.\n"
 
 #: libmisc/age.c:174
 #, c-format
 msgid "Your password will expire today.\n"
-msgstr "СÑ\80ок Ð´ÐµÐ¹Ñ\81Ñ\82виÑ\8f Ð²Ð°Ñ\88его Ð¿Ð°Ñ\80олÑ\8f Ð·Ð°ÐºÐ°Ð½Ñ\87иваеÑ\82Ñ\81Ñ\8f сегодня.\n"
+msgstr "СÑ\80ок Ð´ÐµÐ¹Ñ\81Ñ\82виÑ\8f Ð²Ð°Ñ\88его Ð¿Ð°Ñ\80олÑ\8f Ð¸Ñ\81Ñ\82екаеÑ\82 сегодня.\n"
 
 #: libmisc/chowntty.c:106
 #, c-format
 msgid "Unable to change tty %s"
-msgstr "Не могу поменять tty %s"
+msgstr "Не удалось сменить владельца терминала %s"
 
 #: libmisc/env.c:155
 #, c-format
 msgid "Environment overflow\n"
-msgstr "Переполнение окружения\n"
+msgstr "Cлишком большое количество переменных среды выполнения\n"
 
 #: libmisc/env.c:194
 #, c-format
@@ -76,33 +84,37 @@ msgid "You may not change $%s\n"
 msgstr "Вы не можете изменить $%s\n"
 
 #: libmisc/failure.c:229
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "%d failure since last login.\n"
 "Last was %s on %s.\n"
 msgid_plural ""
 "%d failures since last login.\n"
 "Last was %s on %s.\n"
-msgstr[0] "%d %s с последнего логина, который был %s на %s.\n"
-msgstr[1] "%d %s с последнего логина, который был %s на %s.\n"
-msgstr[2] "%d %s с последнего логина, который был %s на %s.\n"
+msgstr[0] ""
+"%d неудачная попытка входа в систему.\n"
+"Последняя была %s на %s.\n"
+msgstr[1] ""
+"%d неудачных попыток входа в систему.\n"
+"Последняя была %s на %s.\n"
+msgstr[2] "%d неудачных попыток входа в систему. Последняя была %s на %s.\n"
 
 #: libmisc/limits.c:397
 #, c-format
 msgid "Too many logins.\n"
-msgstr "СлиÑ\88ком Ð¼Ð½Ð¾Ð³Ð¾ Ð»Ð¾Ð³Ð¸Ð½Ð¾Ð².\n"
+msgstr "СлиÑ\88ком Ð¼Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ð¿Ñ\8bÑ\82ок Ð²Ñ\85ода Ð² Ñ\81иÑ\81Ñ\82емÑ\83.\n"
 
 #: libmisc/mail.c:61 libmisc/mail.c:76
 msgid "You have new mail."
-msgstr "Ð\94лÑ\8f вас есть новая почта."
+msgstr "У вас есть новая почта."
 
 #: libmisc/mail.c:72
 msgid "No mail."
-msgstr "Ð\9fоÑ\87Ñ\82Ñ\8b Ð½ÐµÑ\82."
+msgstr "У Ð²Ð°Ñ\81 Ð½ÐµÑ\82 Ð¿Ð¾Ñ\87Ñ\82Ñ\8b."
 
 #: libmisc/mail.c:74
 msgid "You have mail."
-msgstr "Ð\94лÑ\8f вас есть почта."
+msgstr "У вас есть почта."
 
 #: libmisc/obscure.c:273 src/passwd.c:181
 #, c-format
@@ -112,7 +124,7 @@ msgstr "Неверный пароль: %s.  "
 #: libmisc/pam_pass.c:38
 #, c-format
 msgid "passwd: pam_start() failed, error %d\n"
-msgstr "passwd: Ð½ÐµÑ\83даÑ\87а pam_start(), Ð¾Ñ\88ибка %d\n"
+msgstr "passwd: Ð¾Ñ\88ибка %d Ð² pam_start()\n"
 
 #: libmisc/pam_pass.c:44
 #, c-format
@@ -121,21 +133,22 @@ msgstr "passwd: %s\n"
 
 #: libmisc/pam_pass.c:49
 msgid "passwd: password updated successfully\n"
-msgstr ""
+msgstr "passwd: пароль успешно обновлён\n"
 
 #: libmisc/setupenv.c:207
 #, c-format
 msgid "Unable to cd to \"%s\"\n"
-msgstr "Не могу перейти в \"%s\"\n"
+msgstr "Невозможно перейти в каталог \"%s\"\n"
 
 #: libmisc/setupenv.c:215
 msgid "No directory, logging in with HOME=/"
-msgstr "Нет каталога, логинимся с HOME=/"
+msgstr ""
+"Каталог отсутствует или недоступен, вход в систему выполняется с HOME=/"
 
 #: libmisc/shell.c:118
 #, c-format
 msgid "Cannot execute %s"
-msgstr "Не могу исполнить %s"
+msgstr "Не удалось выполнить %s"
 
 #: libmisc/sub.c:55
 #, c-format
@@ -145,23 +158,23 @@ msgstr "Неверный корневой каталог \"%s\"\n"
 #: libmisc/sub.c:67
 #, c-format
 msgid "Can't change root directory to \"%s\"\n"
-msgstr "Не могу изменить корневой каталог на \"%s\"\n"
+msgstr "Не удалось изменить корневой каталог на \"%s\"\n"
 
 #: libmisc/xmalloc.c:22
 #, c-format
 msgid "malloc(%d) failed\n"
-msgstr "неудача malloc(%d)\n"
+msgstr "не удалось выделить %d байт памяти\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
-msgstr "Нет места для информации о конфигурации.\n"
+msgstr "Не удалось выделить память для загрузки конфигурации.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
-"оÑ\88ибка ÐºÐ¾Ð½Ñ\84игÑ\83Ñ\80аÑ\86ии - Ð½ÐµÐ¸Ð·Ð²ÐµÑ\81Ñ\82наÑ\8f Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c '%s' (сообщите администратору)\n"
+"Ð\9eÑ\88ибка ÐºÐ¾Ð½Ñ\84игÑ\83Ñ\80аÑ\86ии: Ð½ÐµÐ¸Ð·Ð²ÐµÑ\81Ñ\82нÑ\8bй Ñ\8dлеменÑ\82 '%s' (сообщите администратору)\n"
 
 #: lib/pwauth.c:45 src/newgrp.c:341
 msgid "Password: "
@@ -170,7 +183,7 @@ msgstr "Пароль: "
 #: lib/pwauth.c:47
 #, c-format
 msgid "%s's Password: "
-msgstr "Пароль %s: "
+msgstr "Пароль пользователя %s: "
 
 #: src/chage.c:112
 #, c-format
@@ -178,101 +191,107 @@ msgid ""
 "Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
 "             [-I inactive] [-E expire] [-d last_day] user\n"
 msgstr ""
-"Запуск: chage [-l] [-m мин_дней] [-M макс_дней] [-W предупр.]\n"
-"              [-I неактивн.] [-E дата окончания] [-d посл_день] юзер\n"
+"Использование: chage [-l] [-m минимальный срок действия пароля (дней)]\n"
+"                     [-M максимальный срок действия пароля (дней)]\n"
+"                     [-W предупреждать за (дней)]\n"
+"                     [-I деактивировать учётную запись через (дней)]\n"
+"                     [-E отключить учётную запись (дата)]\n"
+"                     [-d дата последнего изменения пароля] имя пользователя\n"
 
 #: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
-#, fuzzy, c-format
+#, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
-msgstr "Введите новое значение или return для значения по умолчанию\n"
+msgstr ""
+"Введите новое значение или нажмите ВВОД для выбора значения по умолчанию\n"
 
 #: src/chage.c:149
 msgid "Minimum Password Age"
-msgstr "Минимальный \"возраст\" пароля"
+msgstr "Минимальный срок действия пароля (дней)"
 
 #: src/chage.c:155
 msgid "Maximum Password Age"
-msgstr "Максимальный \"возраст\" пароля"
+msgstr "Максимальный срок действия пароля (дней)"
 
 #: src/chage.c:162
 msgid "Last Password Change (YYYY-MM-DD)"
-msgstr "Ð\9fоÑ\81леднее Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ Ð¿Ð°Ñ\80олÑ\8f (ГГГГ-ММ-ДД)"
+msgstr "Ð\9fоÑ\81ледний Ñ\80аз Ð¿Ð°Ñ\80олÑ\8c Ð±Ñ\8bл Ð¸Ð·Ð¼ÐµÐ½Ñ\91н (ГГГГ-ММ-ДД)"
 
 #: src/chage.c:170
 msgid "Password Expiration Warning"
-msgstr "Ð\9fÑ\80едÑ\83пÑ\80еждениÑ\8f Ð¾Ð± Ð¾ÐºÐ¾Ð½Ñ\87ании Ñ\81Ñ\80ока Ð´ÐµÐ¹Ñ\81Ñ\82виÑ\8f Ð¿Ð°Ñ\80олÑ\8f"
+msgstr "Ð\9fÑ\80едÑ\83пÑ\80еждаÑ\82Ñ\8c Ð¾Ð± Ð¸Ñ\81Ñ\82еÑ\87ении Ñ\81Ñ\80ока Ð´ÐµÐ¹Ñ\81Ñ\82виÑ\8f Ð¿Ð°Ñ\80олÑ\8f Ð·Ð° (дней)"
 
 #: src/chage.c:176
 msgid "Password Inactive"
-msgstr "Ð\9fаÑ\80олÑ\8c Ð½ÐµÐ°ÐºÑ\82ивен"
+msgstr "Ð\94еакÑ\82ивиÑ\80оваÑ\82Ñ\8c Ñ\83Ñ\87Ñ\91Ñ\82нÑ\83Ñ\8e Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ñ\87еÑ\80ез (дней)"
 
 #: src/chage.c:184
 msgid "Account Expiration Date (YYYY-MM-DD)"
-msgstr "Ð\94аÑ\82а Ð¾ÐºÐ¾Ð½Ñ\87аниÑ\8f Ñ\81Ñ\80ока Ð´ÐµÐ¹Ñ\81Ñ\82виÑ\8f Ð°ÐºÐºÐ°Ñ\83нÑ\82а (ГГГГ-ММ-ДД)"
+msgstr "Ð\94аÑ\82а Ð¸Ñ\81Ñ\82еÑ\87ениÑ\8f Ñ\81Ñ\80ока Ð´ÐµÐ¹Ñ\81Ñ\82виÑ\8f Ñ\83Ñ\87Ñ\91Ñ\82ной Ð·Ð°Ð¿Ð¸Ñ\81и (ГГГГ-ММ-ДД)"
 
 #: src/chage.c:231
-#, fuzzy, c-format
+#, c-format
 msgid "Last password change\t\t\t\t\t: "
-msgstr "Ð\9fоÑ\81леднее Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ Ð¿Ð°Ñ\80олÑ\8f (Ð\93Ð\93Ð\93Ð\93\9cÐ\9c\94Ð\94)"
+msgstr "Ð\9fоÑ\81ледний Ñ\80аз Ð¿Ð°Ñ\80олÑ\8c Ð±Ñ\8bл Ð¸Ð·Ð¼ÐµÐ½Ñ\91н\t\t\t\t\t: "
 
 #: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
-#, fuzzy, c-format
+#, c-format
 msgid "never\n"
-msgstr "Ð\9dикогда\n"
+msgstr "никогда\n"
 
 #: src/chage.c:244
-#, fuzzy, c-format
+#, c-format
 msgid "Password expires\t\t\t\t\t: "
-msgstr "Ð\9fаÑ\80олÑ\8c Ð¸Ñ\81Ñ\82екаеÑ\82:\t"
+msgstr "СÑ\80ок Ð´ÐµÐ¹Ñ\81Ñ\82виÑ\8f Ð¿Ð°Ñ\80олÑ\8f Ð¸Ñ\81Ñ\82екаеÑ\82\t\t\t\t\t: "
 
 #: src/chage.c:260
-#, fuzzy, c-format
+#, c-format
 msgid "Password inactive\t\t\t\t\t: "
-msgstr "Ð\9fаÑ\80олÑ\8c Ð´ÐµÐ·Ð°ÐºÑ\82ивиÑ\80Ñ\83еÑ\82Ñ\81Ñ\8f:\t"
+msgstr "Ð\9fаÑ\80олÑ\8c Ð±Ñ\83деÑ\82 Ð´ÐµÐ°ÐºÑ\82ивиÑ\80ован Ñ\87еÑ\80ез (дней)\t\t\t\t\t: "
 
 #: src/chage.c:274
-#, fuzzy, c-format
+#, c-format
 msgid "Account expires\t\t\t\t\t\t: "
-msgstr "Ð\90ккаÑ\83нÑ\82 Ð¸Ñ\81Ñ\82екаеÑ\82:\t"
+msgstr "СÑ\80ок Ð´ÐµÐ¹Ñ\81Ñ\82виÑ\8f Ñ\83Ñ\87Ñ\91Ñ\82ной Ð·Ð°Ð¿Ð¸Ñ\81и Ð¸Ñ\81Ñ\82екаеÑ\82\t\t\t\t\t\t: "
 
 #: src/chage.c:290
 #, c-format
 msgid "Minimum number of days between password change\t\t: %ld\n"
-msgstr ""
+msgstr "Минимальное количество дней между сменой пароля\t\t: %ld\n"
 
 #: src/chage.c:292
 #, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
-msgstr ""
+msgstr "Максимальное количество дней между сменой пароля\t\t: %ld\n"
 
 #: src/chage.c:294
 #, c-format
 msgid "Number of days of warning before password expires\t: %ld\n"
 msgstr ""
+"Количество дней с предупреждением перед деактивированием пароля\t: %ld\n"
 
 #: src/chage.c:431
 #, c-format
 msgid "%s: do not include \"l\" with other flags\n"
-msgstr "%s: Ð½Ðµ Ð²ÐºÐ»Ñ\8eÑ\87айÑ\82е \"l\" Ñ\81 Ð´Ñ\80Ñ\83гими Ð¾Ð¿Ñ\86иÑ\8fми\n"
+msgstr "%s: Ð½Ðµ Ð¸Ñ\81полÑ\8cзÑ\83йÑ\82е \"l\" Ñ\81овмеÑ\81Ñ\82но Ñ\81 Ð´Ñ\80Ñ\83гими ÐºÐ»Ñ\8eÑ\87ами\n"
 
 #: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
 #: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
 #: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
-#, fuzzy, c-format
+#, c-format
 msgid "%s: permission denied.\n"
-msgstr "%s: доступ запрещен\n"
+msgstr "%s: доступ запрещён.\n"
 
 #: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
 #: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
 #: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
-#, fuzzy, c-format
+#, c-format
 msgid "%s: PAM authentication failed\n"
-msgstr "%s: Ð¾Ñ\88ибка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ\8f Ð¼ÐµÑ\82ода Ð°Ñ\83Ñ\82енÑ\82икаÑ\86ии\n"
+msgstr "%s: Ð¿Ñ\80овеÑ\80ка Ð¿Ð¾Ð´Ð»Ð¸Ð½Ð½Ð¾Ñ\81Ñ\82и PAM Ð·Ð°Ð²ÐµÑ\80Ñ\88илаÑ\81Ñ\8c Ð½ÐµÑ\83даÑ\87но\n"
 
 #: src/chage.c:494 src/chpasswd.c:193
 #, c-format
 msgid "%s: can't open password file\n"
-msgstr "%s: не могу открыть файл паролей\n"
+msgstr "%s: не удалось открыть файл паролей\n"
 
 #: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
 #: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
@@ -281,50 +300,50 @@ msgid "%s: unknown user %s\n"
 msgstr "%s: неизвестный пользователь %s\n"
 
 #: src/chage.c:519
-#, fuzzy, c-format
+#, c-format
 msgid "%s: can't lock shadow password file"
-msgstr "%s: не могу заблокировать shadow-файл паролей\n"
+msgstr "%s: не удалось заблокировать теневой файл паролей"
 
 #: src/chage.c:527
-#, fuzzy, c-format
+#, c-format
 msgid "%s: can't open shadow password file"
-msgstr "%s: не могу открыть shadow-файл паролей\n"
+msgstr "%s: не удалось открыть теневой файл паролей"
 
 #: src/chage.c:587
 #, c-format
 msgid "Changing the aging information for %s\n"
-msgstr "Изменяем параметры времени действия для %s\n"
+msgstr "Изменение информации о сроках действия для %s\n"
 
 #: src/chage.c:589
 #, c-format
 msgid "%s: error changing fields\n"
-msgstr "%s: Ð¾Ñ\88ибка Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ\8f полей\n"
+msgstr "%s: Ð¾Ñ\88ибка Ð¿Ñ\80и Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¸ полей\n"
 
 #: src/chage.c:613 src/pwunconv.c:137
 #, c-format
 msgid "%s: can't update password file\n"
-msgstr "%s: не могу обновить файл паролей\n"
+msgstr "%s: не удалось обновить файл паролей\n"
 
 #: src/chage.c:636 src/pwunconv.c:132
 #, c-format
 msgid "%s: can't update shadow password file\n"
-msgstr "%s: не могу обновить shadow-файл паролей\n"
+msgstr "%s: не удалось обновить теневой файл паролей\n"
 
 #: src/chage.c:649
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
-msgstr "%s: не могу переписать shadow-файл паролей\n"
+msgstr "%s: не удалось перезаписать теневой файл паролей\n"
 
 #: src/chage.c:693
 #, c-format
 msgid "%s: can't rewrite password file\n"
-msgstr "%s: не могу переписать файл паролей\n"
+msgstr "%s: не удалось перезаписать файл паролей\n"
 
 #: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
 #: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
-#, fuzzy, c-format
+#, c-format
 msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: Ð½Ðµ Ð¼Ð¾Ð³Ñ\83 Ñ\80азблокиÑ\80оваÑ\82Ñ\8c Ñ\84айл\n"
+msgstr "%s: Ð¿Ñ\80овеÑ\80ка Ð¿Ð¾Ð´Ð»Ð¸Ð½Ð½Ð¾Ñ\81Ñ\82и (chauthtok) PAM Ð·Ð°Ð²ÐµÑ\80Ñ\88илаÑ\81Ñ\8c Ð½ÐµÑ\83даÑ\87но\n"
 
 #: src/chfn.c:84
 #, c-format
@@ -332,13 +351,15 @@ msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
 "\t[-h home_ph] [-o other] [user]\n"
 msgstr ""
-"Ð\97апÑ\83Ñ\81к: %s [-f Ð¿Ð¾Ð»Ð½Ð¾Ðµ_имÑ\8f] [-r ÐºÐ¾Ð¼Ð½Ð°Ñ\82а] [-w Ñ\80аб_Ñ\82ел]\n"
-"\t[-h дом_тел] [-o прочее] [пользователь]\n"
+"Ð\98Ñ\81полÑ\8cзование: %s [-f Ð¿Ð¾Ð»Ð½Ð¾Ðµ Ð¸Ð¼Ñ\8f] [-r Ð½Ð¾Ð¼ÐµÑ\80 ÐºÐ¾Ð¼Ð½Ð°Ñ\82Ñ\8b] [-w Ñ\80абоÑ\87ий Ñ\82елеÑ\84он]\n"
+"\t[-h домашний телефон] [-o другое] [имя пользователя]\n"
 
 #: src/chfn.c:89
 #, c-format
 msgid "Usage: %s [-f full_name] [-r room_no] [-w work_ph] [-h home_ph]\n"
-msgstr "Запуск: %s [-f полное_имя] [-r комната] [-w раб_тел] [-h дом_тел]\n"
+msgstr ""
+"Использование: %s [-f полное имя] [-r номер комнаты] [-w рабочий телефон] [-"
+"h домашний телефон]\n"
 
 #: src/chfn.c:142
 msgid "Full Name"
@@ -359,36 +380,36 @@ msgstr "Рабочий телефон"
 
 #: src/chfn.c:157 src/chfn.c:159
 msgid "Home Phone"
-msgstr "Дом. телефон"
+msgstr "Домашний телефон"
 
 #: src/chfn.c:162
 msgid "Other"
-msgstr "Ð\9fÑ\80оÑ\87ее"
+msgstr "Ð\94Ñ\80Ñ\83гое"
 
 #: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
-msgstr "%s: Не могу определить вашего имени пользователя.\n"
+msgstr "%s: Не удалось определить имя пользователя.\n"
 
 #: src/chfn.c:350 src/chsh.c:206
 #, c-format
 msgid "%s: cannot change user `%s' on NIS client.\n"
-msgstr "%s: не могу изменить пользователя `%s' на клиенте NIS.\n"
+msgstr "%s: невозможно изменить пользователя `%s' на клиенте NIS.\n"
 
 #: src/chfn.c:357 src/chsh.c:213
 #, c-format
 msgid "%s: `%s' is the NIS master for this client.\n"
-msgstr "%s: `%s' - NIS-мастер для этого клиента.\n"
+msgstr "%s: `%s' -- сервер NIS для этого клиента.\n"
 
 #: src/chfn.c:382
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Permission denied.\n"
-msgstr "%s: Ð´Ð¾Ñ\81Ñ\82Ñ\83п Ð·Ð°Ð¿Ñ\80еÑ\89ен\n"
+msgstr "%s: Ð\94оÑ\81Ñ\82Ñ\83п Ð·Ð°Ð¿Ñ\80еÑ\89Ñ\91н.\n"
 
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
-msgstr "Изменяем информацию о пользователе %s\n"
+msgstr "Изменение информации о пользователе %s\n"
 
 #: src/chfn.c:454
 #, c-format
@@ -408,7 +429,7 @@ msgstr "%s: неверный рабочий телефон: \"%s\"\n"
 #: src/chfn.c:471
 #, c-format
 msgid "%s: invalid home phone: \"%s\"\n"
-msgstr "%s: неверный дом. телефон: \"%s\"\n"
+msgstr "%s: неверный домашний телефон: \"%s\"\n"
 
 #: src/chfn.c:478
 #, c-format
@@ -418,22 +439,22 @@ msgstr "%s: \"%s\" содержит недопустимые символы\n"
 #: src/chfn.c:491
 #, c-format
 msgid "%s: fields too long\n"
-msgstr "%s: слишком длинные поля\n"
+msgstr "%s: поля слишком длинны\n"
 
 #: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
 #, c-format
 msgid "Cannot change ID to root.\n"
-msgstr "Не могу изменить ID root'а.\n"
+msgstr "Не удалось получить права суперпользователя.\n"
 
 #: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
-msgstr "Не могу заблокировать файл паролей; попробуйте позже.\n"
+msgstr "Не удалось заблокировать файл паролей, попробуйте позже.\n"
 
 #: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
 #, c-format
 msgid "Cannot open the password file.\n"
-msgstr "Не могу открыть файл паролей.\n"
+msgstr "Не удалось открыть файл паролей.\n"
 
 #: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
 #, c-format
@@ -443,17 +464,17 @@ msgstr "%s: %s не найден в /etc/passwd\n"
 #: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
 #, c-format
 msgid "Error updating the password entry.\n"
-msgstr "Ð\9eÑ\88ибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ\8f Ð·Ð°Ð¿Ð¸Ñ\81и Ð¿Ð°Ñ\80олÑ\8f.\n"
+msgstr "Ð\9dе Ñ\83далоÑ\81Ñ\8c Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ\82Ñ\8c Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ð² Ñ\84айле Ð¿Ð°Ñ\80олей.\n"
 
 #: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
 #, c-format
 msgid "Cannot commit password file changes.\n"
-msgstr "Не могу записать изменения файла паролей.\n"
+msgstr "Не удалось сохранить изменения в файле паролей.\n"
 
 #: src/chfn.c:578 src/chsh.c:394
 #, c-format
 msgid "Cannot unlock the password file.\n"
-msgstr "Не могу разблокировать файл паролей.\n"
+msgstr "Не удалось разблокировать файл паролей.\n"
 
 #: src/chpasswd.c:71
 #, c-format
@@ -466,22 +487,29 @@ msgid ""
 "  -m, --md5\t\tuse MD5 encryption instead DES when the supplied\n"
 "\t\t\tpasswords are not encrypted\n"
 msgstr ""
+"Использование: chpasswd [параметры]\n"
+"\n"
+"Параметры:\n"
+"  -e, --encrypted\tвводится уже шифрованный пароль\n"
+"  -h, --help\t\tпоказать это сообщение и завершить работу программы\n"
+"  -m, --md5\t\tиспользовать шифрование MD5 вместо DES, если пароль\n"
+"\t\t\tвводится не шифрованным\n"
 
 #: src/chpasswd.c:189
 #, c-format
 msgid "%s: can't lock password file\n"
-msgstr "%s: не могу заблокировать файл паролей\n"
+msgstr "%s: не удалось заблокировать файл паролей\n"
 
 #: src/chpasswd.c:201 src/pwconv.c:95
 #, c-format
 msgid "%s: can't lock shadow file\n"
-msgstr "%s: не могу заблокировать файл shadow\n"
+msgstr "%s: не удалось заблокировать теневой файл паролей\n"
 
 #: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
 #: src/pwunconv.c:94
 #, c-format
 msgid "%s: can't open shadow file\n"
-msgstr "%s: не могу открыть файл shadow\n"
+msgstr "%s: не удалось открыть теневой файл паролей\n"
 
 #: src/chpasswd.c:230 src/newusers.c:434
 #, c-format
@@ -491,7 +519,7 @@ msgstr "%s: строка %d: слишком длинная строка\n"
 #: src/chpasswd.c:250
 #, c-format
 msgid "%s: line %d: missing new password\n"
-msgstr "%s: Ñ\81Ñ\82Ñ\80ока %d: Ð½Ð¾Ð²Ñ\8bй Ð¿Ð°Ñ\80олÑ\8c Ð¾Ñ\82Ñ\81Ñ\83Ñ\82Ñ\81Ñ\82вÑ\83еÑ\82\n"
+msgstr "%s: Ñ\81Ñ\82Ñ\80ока %d: Ð¾Ñ\82Ñ\81Ñ\83Ñ\82Ñ\81Ñ\82вÑ\83еÑ\82 Ð½Ð¾Ð²Ñ\8bй Ð¿Ð°Ñ\80олÑ\8c\n"
 
 #: src/chpasswd.c:274
 #, c-format
@@ -501,61 +529,63 @@ msgstr "%s: строка %d: неизвестный пользователь %s\
 #: src/chpasswd.c:320
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
-msgstr "%s: строка %d: не могу обновить запись пароля\n"
+msgstr "%s: строка %d: не удалось обновить поле пароля\n"
 
 #: src/chpasswd.c:337 src/newusers.c:561
 #, c-format
 msgid "%s: error detected, changes ignored\n"
-msgstr "%s: Ð¾Ð±Ð½Ð°Ñ\80Ñ\83жена Ð¾Ñ\88ибка, Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ\8f Ð¸Ð³Ð½Ð¾Ñ\80иÑ\80Ñ\83Ñ\8eÑ\82Ñ\81Ñ\8f\n"
+msgstr "%s: Ð¾Ð±Ð½Ð°Ñ\80Ñ\83жена Ð¾Ñ\88ибка, Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ\8f Ð½Ðµ Ð±Ñ\8bли Ñ\81оÑ\85Ñ\80аненÑ\8b\n"
 
 #: src/chpasswd.c:349
 #, c-format
 msgid "%s: error updating shadow file\n"
-msgstr "%s: Ð¾Ñ\88ибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ\8f Ñ\84айла shadow\n"
+msgstr "%s: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ\82Ñ\8c Ñ\82еневой Ñ\84айл Ð¿Ð°Ñ\80олей\n"
 
 #: src/chpasswd.c:357
 #, c-format
 msgid "%s: error updating password file\n"
-msgstr "%s: Ð¾Ñ\88ибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ\8f Ñ\84айла паролей\n"
+msgstr "%s: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ\82Ñ\8c Ñ\84айл паролей\n"
 
 #: src/chsh.c:76
 #, c-format
 msgid "Usage: %s [-s shell] [name]\n"
-msgstr "Ð\97апÑ\83Ñ\81к: %s [-s Ñ\88елл] [имя]\n"
+msgstr "Ð\98Ñ\81полÑ\8cзование: %s [-s ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð°Ñ\8f Ð¾Ð±Ð¾Ð»Ð¾Ñ\87ка] [имÑ\8f Ð¿Ð¾Ð»Ñ\8cзоваÑ\82еля]\n"
 
 #: src/chsh.c:90
 msgid "Login Shell"
-msgstr "Шелл Ð¿Ñ\80и Ð²Ñ\85оде"
+msgstr "Ð\9aоманднаÑ\8f Ð¾Ð±Ð¾Ð»Ð¾Ñ\87ка"
 
 #: src/chsh.c:229 src/chsh.c:242 src/chsh.c:256
 #, c-format
 msgid "You may not change the shell for %s.\n"
-msgstr "Вы не можете изменить шелл для %s.\n"
+msgstr "Вы не можете изменять командную оболочку для %s.\n"
 
 #: src/chsh.c:288
 #, c-format
 msgid "Changing the login shell for %s\n"
-msgstr "Изменяем шелл при входе для %s\n"
+msgstr "Изменение командной оболочки для %s\n"
 
 #: src/chsh.c:300
 #, c-format
 msgid "%s: Invalid entry: %s\n"
-msgstr "%s: Ð\9dевеÑ\80наÑ\8f Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c: %s\n"
+msgstr "%s: Ð\9dевеÑ\80ное Ð·Ð½Ð°Ñ\87ение: %s\n"
 
 #: src/chsh.c:305
 #, c-format
 msgid "%s is an invalid shell.\n"
-msgstr "%s - неверный шелл.\n"
+msgstr "%s не является командной оболочкой.\n"
 
 #: src/expiry.c:59
 #, c-format
 msgid "Usage: expiry {-f|-c}\n"
-msgstr "Ð\97апÑ\83Ñ\81к: expiry {-f|-c}\n"
+msgstr "Ð\98Ñ\81полÑ\8cзование: expiry {-f|-c}\n"
 
 #: src/expiry.c:112
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: ПРЕДУПРЕЖДЕНИЕ! Должно быть set-UID root!\n"
+msgstr ""
+"%s: ВНИМАНИЕ! Исполняемый файл программы должен быть с установленным битом "
+"set-UID!\n"
 
 #: src/expiry.c:122
 #, c-format
@@ -578,21 +608,35 @@ msgid ""
 "\t\t\t\tand limits (if used with -r, -m or -l options) only\n"
 "\t\t\t\tfor user with LOGIN\n"
 msgstr ""
+"Использование: faillog [параметры]\n"
+"\n"
+"Параметры:\n"
+"  -a, --all\t\t\tпоказать записи faillog обо всех пользователях\n"
+"  -h, --help\t\t\tпоказать это сообщение и завершить работу программы\n"
+"  -l, --lock-time SEC\t\tпри неудачной попытке входа блокировать\n"
+"\t\t\t\tучётную запись на SEC секунд\n"
+"  -m, --maximum MAX\t\tустановить максимальное число неудачных попыток\n"
+"\t\t\t\tвхода равным MAX\n"
+"  -r, --reset\t\t\tобнулить счётчики неудачных попыток входа\n"
+"  -t, --time DAYS\t\tпоказать записи faillog за последние DAYS дней\n"
+"  -u, --user LOGIN\t\tпоказать запись faillog или настроить счётчики\n"
+"\t\t\t\tнеудачных попыток и ограничения (с помощью -r, -m или -l) только\n"
+"\t\t\t\tдля учётной записи LOGIN\n"
 
 #: src/faillog.c:87
 #, c-format
 msgid "Login       Failures Maximum Latest                   On\n"
-msgstr ""
+msgstr "Уч.запись      Неуд. попыток  Максимум  Последний раз\n"
 
 #: src/faillog.c:105
 #, c-format
 msgid " [%lds left]"
-msgstr " [%lds ост.]"
+msgstr " [%lds осталось]"
 
 #: src/faillog.c:109
 #, c-format
 msgid " [%lds lock]"
-msgstr " [%lds lock]"
+msgstr " [%lds блокировок]"
 
 #: src/faillog.c:353 src/lastlog.c:187
 #, c-format
@@ -602,37 +646,39 @@ msgstr "Неизвестный пользователь: %s\n"
 #: src/gpasswd.c:71
 #, c-format
 msgid "Usage: %s [-r|-R] group\n"
-msgstr "Ð\97апÑ\83Ñ\81к: %s [-r|-R] группа\n"
+msgstr "Ð\98Ñ\81полÑ\8cзование: %s [-r|-R] группа\n"
 
 #: src/gpasswd.c:72
 #, c-format
 msgid "       %s [-a user] group\n"
-msgstr "        %s [-a юзер] группа\n"
+msgstr "                   %s [-a имя пользователя] группа\n"
 
 #: src/gpasswd.c:73
 #, c-format
 msgid "       %s [-d user] group\n"
-msgstr "        %s [-d юзер] группа\n"
+msgstr "                   %s [-d имя пользователя] группа\n"
 
 #: src/gpasswd.c:76
 #, c-format
 msgid "       %s [-A user,...] [-M user,...] group\n"
-msgstr "        %s [-A юзер,...] [-M юзер,...] группа\n"
+msgstr ""
+"                   %s [-A имя пользователя,...] [-M имя пользователя,...] "
+"группа\n"
 
 #: src/gpasswd.c:78
 #, c-format
 msgid "       %s [-M user,...] group\n"
-msgstr "        %s [-M юзер,...] группа\n"
+msgstr "                   %s [-M имя пользователя,...] группа\n"
 
 #: src/gpasswd.c:229
 #, c-format
 msgid "%s: shadow group passwords required for -A\n"
-msgstr "%s: для -A требуются shadow-пароли групп\n"
+msgstr "%s: для -A требуется поддержка теневого файла групп\n"
 
 #: src/gpasswd.c:280
 #, c-format
 msgid "Who are you?\n"
-msgstr "Ð\9aÑ\82о Ð²Ñ\8b?\n"
+msgstr "Ð\92Ñ\8b ÐºÑ\82о?\n"
 
 #: src/gpasswd.c:299 src/newgrp.c:290
 #, c-format
@@ -642,17 +688,17 @@ msgstr "неизвестная группа: %s\n"
 #: src/gpasswd.c:408
 #, c-format
 msgid "Adding user %s to group %s\n"
-msgstr "Добавляю пользователя %s в группу %s\n"
+msgstr "Добавление пользователя %s в группу %s\n"
 
 #: src/gpasswd.c:426
 #, c-format
 msgid "Removing user %s from group %s\n"
-msgstr "Удаляю пользователя %s из группы %s\n"
+msgstr "Удаление пользователя %s из группы %s\n"
 
 #: src/gpasswd.c:439
 #, c-format
 msgid "%s: unknown member %s\n"
-msgstr "%s: неизвестный член %s\n"
+msgstr "%s: неизвестный член группы %s\n"
 
 #: src/gpasswd.c:485
 #, c-format
@@ -662,7 +708,7 @@ msgstr "%s: Не tty\n"
 #: src/gpasswd.c:506
 #, c-format
 msgid "Changing the password for group %s\n"
-msgstr "Изменяем пароль для группы %s\n"
+msgstr "Изменение пароля для группы %s\n"
 
 #: src/gpasswd.c:509
 msgid "New Password: "
@@ -670,11 +716,11 @@ msgstr "Новый пароль: "
 
 #: src/gpasswd.c:514 src/passwd.c:278
 msgid "Re-enter new password: "
-msgstr "Ð\95Ñ\89е Ñ\80аз новый пароль: "
+msgstr "Ð\9fовÑ\82оÑ\80иÑ\82е новый пароль: "
 
 #: src/gpasswd.c:526
 msgid "They don't match; try again"
-msgstr "Ð\9eни Ð½Ðµ Ñ\81овпадаÑ\8eÑ\82; Ð¿Ð¾Ð¿Ñ\80обÑ\83йÑ\82е Ñ\81нова"
+msgstr "Ð\9fаÑ\80оли Ð½Ðµ Ñ\81овпадаÑ\8eÑ\82, Ð¿Ð¾Ð¿Ñ\80обÑ\83йÑ\82е ÐµÑ\89Ñ\91 Ñ\80аз"
 
 #: src/gpasswd.c:530
 #, c-format
@@ -684,73 +730,73 @@ msgstr "%s: Попробуйте позже\n"
 #: src/gpasswd.c:562
 #, c-format
 msgid "%s: can't get lock\n"
-msgstr "%s: не могу заблокировать\n"
+msgstr "%s: не удалось осуществить блокировку\n"
 
 #: src/gpasswd.c:568
 #, c-format
 msgid "%s: can't get shadow lock\n"
-msgstr "%s: не могу заблокировать shadow\n"
+msgstr "%s: не удалось осуществить файла shadow\n"
 
 #: src/gpasswd.c:574
 #, c-format
 msgid "%s: can't open file\n"
-msgstr "%s: не могу открыть файл\n"
+msgstr "%s: не удалось открыть файл\n"
 
 #: src/gpasswd.c:586
 #, c-format
 msgid "%s: can't update entry\n"
-msgstr "%s: не могу обновить запись\n"
+msgstr "%s: не удалось обновить файл\n"
 
 #: src/gpasswd.c:592
 #, c-format
 msgid "%s: can't update shadow entry\n"
-msgstr "%s: не могу обновить shadow-запись\n"
+msgstr "%s: не удалось обновить shadow\n"
 
 #: src/gpasswd.c:598
 #, c-format
 msgid "%s: can't re-write file\n"
-msgstr "%s: не могу переписать файл\n"
+msgstr "%s: не удалось перезаписать файл\n"
 
 #: src/gpasswd.c:604
 #, c-format
 msgid "%s: can't re-write shadow file\n"
-msgstr "%s: не могу переписать файл shadow\n"
+msgstr "%s: не удалось перезаписать файл shadow\n"
 
 #: src/gpasswd.c:612
 #, c-format
 msgid "%s: can't unlock file\n"
-msgstr "%s: не могу разблокировать файл\n"
+msgstr "%s: не удалось разблокировать файл\n"
 
 #: src/groupadd.c:97
 #, c-format
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-msgstr "Ð\97апÑ\83Ñ\81к: groupadd [-g gid [-o]] [-f] группа\n"
+msgstr "Ð\98Ñ\81полÑ\8cзование: groupadd [-g gid [-o]] группа\n"
 
 #: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
 #: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
 #, c-format
 msgid "%s: error adding new group entry\n"
-msgstr "%s: Ð¾Ñ\88ибка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ\8f Ð½Ð¾Ð²Ð¾Ð¹ Ð·Ð°Ð¿Ð¸Ñ\81и Ð³Ñ\80Ñ\83ппÑ\8b\n"
+msgstr "%s: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ\82Ñ\8c Ð½Ð¾Ð²Ñ\83Ñ\8e Ð³Ñ\80Ñ\83ппÑ\83\n"
 
 #: src/groupadd.c:219 src/useradd.c:904
 #, c-format
 msgid "%s: name %s is not unique\n"
-msgstr "%s: имя %s не уникально\n"
+msgstr "%s: имя %s уже существует\n"
 
 #: src/groupadd.c:234
-#, fuzzy, c-format
+#, c-format
 msgid "%s: gid %u is not unique\n"
-msgstr "%s: gid %ld не уникален\n"
+msgstr "%s: gid %u уже существует\n"
 
 #: src/groupadd.c:258
 #, c-format
 msgid "%s: can't get unique gid\n"
-msgstr "%s: не могу получить уникальный gid\n"
+msgstr "%s: не удалось найти уникальный gid\n"
 
 #: src/groupadd.c:280 src/groupmod.c:283
 #, c-format
 msgid "%s: %s is not a valid group name\n"
-msgstr "%s: %s недопустимо как имя группы\n"
+msgstr "%s: %s не может быть именем группы\n"
 
 #: src/groupadd.c:309 src/groupmod.c:308
 #, c-format
@@ -760,64 +806,64 @@ msgstr "%s: неверная группа %s\n"
 #: src/groupadd.c:326 src/useradd.c:1099
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
-msgstr "%s: -O требует ИМЯ=ЗНАЧЕНИЕ\n"
+msgstr "%s: для -O необходимо ИМЯ=ЗНАЧЕНИЕ\n"
 
 #: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
 #: src/userdel.c:245 src/usermod.c:522
 #, c-format
 msgid "%s: cannot rewrite group file\n"
-msgstr "%s: не могу переписать файл групп\n"
+msgstr "%s: не удалось переписать файл групп\n"
 
 #: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
 #: src/userdel.c:251 src/usermod.c:645
 #, c-format
 msgid "%s: cannot rewrite shadow group file\n"
-msgstr "%s: не могу переписать shadow-файл групп\n"
+msgstr "%s: не удалось переписать теневой файл групп\n"
 
 #: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
 #, c-format
 msgid "%s: unable to lock group file\n"
-msgstr "%s: не могу заблокировать файл групп\n"
+msgstr "%s: не удалось заблокировать файл групп\n"
 
 #: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
 #, c-format
 msgid "%s: unable to open group file\n"
-msgstr "%s: не могу открыть файл групп\n"
+msgstr "%s: не удалось открыть файл групп\n"
 
 #: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
-msgstr "%s: не могу заблокировать shadow-файл групп\n"
+msgstr "%s: не удалось заблокировать теневой файл групп\n"
 
 #: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
 #, c-format
 msgid "%s: unable to open shadow group file\n"
-msgstr "%s: не могу открыть shadow-файл групп\n"
+msgstr "%s: не удалось открыть теневой файл групп\n"
 
 #: src/groupadd.c:508
 #, c-format
 msgid "%s: group %s exists\n"
-msgstr "%s: Ð³Ñ\80Ñ\83ппа %s Ñ\83же Ñ\81Ñ\83Ñ\89еÑ\81Ñ\82вÑ\83еÑ\82\n"
+msgstr "%s: группа %s существует\n"
 
 #: src/groupdel.c:83
 #, c-format
 msgid "Usage: groupdel group\n"
-msgstr "Ð\97апÑ\83Ñ\81к: groupdel группа\n"
+msgstr "Ð\98Ñ\81полÑ\8cзование: groupdel группа\n"
 
 #: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
 #, c-format
 msgid "%s: error removing group entry\n"
-msgstr "%s: Ð¾Ñ\88ибка Ñ\83далениÑ\8f Ð·Ð°Ð¿Ð¸Ñ\81и Ð³Ñ\80Ñ\83ппÑ\8b\n"
+msgstr "%s: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ñ\83далиÑ\82Ñ\8c Ð³Ñ\80Ñ\83ппÑ\83 Ð¸Ð· Ñ\84айла Ð³Ñ\80Ñ\83пп\n"
 
 #: src/groupdel.c:106
 #, c-format
 msgid "%s: error removing shadow group entry\n"
-msgstr "%s: Ð¾Ñ\88ибка Ñ\83далениÑ\8f shadow-запиÑ\81и Ð³Ñ\80Ñ\83ппÑ\8b\n"
+msgstr "%s: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ñ\83далиÑ\82Ñ\8c Ð³Ñ\80Ñ\83ппÑ\83 Ð¸Ð· Ñ\82еневого Ñ\84айла Ð³Ñ\80Ñ\83пп\n"
 
 #: src/groupdel.c:202
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
-msgstr "%s: не могу удалить первичную группу пользователя.\n"
+msgstr "%s: невозможно удалить первичную группу пользователя.\n"
 
 #: src/groupdel.c:290 src/groupmod.c:471
 #, c-format
@@ -827,42 +873,42 @@ msgstr "%s: группа %s не существует\n"
 #: src/groupdel.c:303 src/groupmod.c:485
 #, c-format
 msgid "%s: group %s is a NIS group\n"
-msgstr "%s: группа %s - группа NIS\n"
+msgstr "%s: группа %s является группой NIS\n"
 
 #: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
 #, c-format
 msgid "%s: %s is the NIS master\n"
-msgstr "%s: %s - NIS-мастер\n"
+msgstr "%s: %s -- сервер NIS\n"
 
 #: src/groupmod.c:98
 #, c-format
 msgid "Usage: groupmod [-g gid [-o]] [-n name] group\n"
-msgstr "Ð\97апÑ\83Ñ\81к: groupmod [-g gid [-o]] [-n имя] группа\n"
+msgstr "Ð\98Ñ\81полÑ\8cзование: groupmod [-g gid [-o]] [-n имя] группа\n"
 
 #: src/groupmod.c:156
 #, c-format
 msgid "%s: %s not found in /etc/group\n"
-msgstr "%s: %s не найден в /etc/group\n"
+msgstr "%s: %s не найдена в /etc/group\n"
 
 #: src/groupmod.c:242
-#, fuzzy, c-format
+#, c-format
 msgid "%s: %u is not a unique gid\n"
-msgstr "%s: %ld - не уникальный gid\n"
+msgstr "%s: %u gid уже существует\n"
 
 #: src/groupmod.c:272
 #, c-format
 msgid "%s: %s is not a unique name\n"
-msgstr "%s: %s - не уникальное имя\n"
+msgstr "%s: %s имя уже существует\n"
 
 #: src/grpck.c:87
 #, c-format
 msgid "Usage: %s [-r] [-s] [group [gshadow]]\n"
-msgstr "Ð\97апÑ\83Ñ\81к: %s [-r] [-s] [гÑ\80Ñ\83ппа [shadow-гÑ\80Ñ\83ппа]]\n"
+msgstr "Ð\98Ñ\81полÑ\8cзование: %s [-r] [-s] [Ñ\84айл Ð³Ñ\80Ñ\83пп [Ñ\82еневой Ñ\84айл Ð³Ñ\80Ñ\83пп]]\n"
 
 #: src/grpck.c:89
 #, c-format
 msgid "Usage: %s [-r] [-s] [group]\n"
-msgstr "Ð\97апÑ\83Ñ\81к: %s [-r] [-s] [гÑ\80Ñ\83ппа]\n"
+msgstr "Ð\98Ñ\81полÑ\8cзование: %s [-r] [-s] [Ñ\84айл Ð³Ñ\80Ñ\83пп]\n"
 
 #: src/grpck.c:107 src/pwck.c:108
 msgid "No"
@@ -871,23 +917,23 @@ msgstr "Нет"
 #: src/grpck.c:191 src/pwck.c:175
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
-msgstr ""
+msgstr "%s: -s и -r не могут использоваться одновременно\n"
 
 #: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
 #, c-format
 msgid "%s: cannot lock file %s\n"
-msgstr "%s: не могу заблокировать файл %s\n"
+msgstr "%s: не удалось заблокировать файл %s\n"
 
 #: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
 #: src/pwck.c:248
 #, c-format
 msgid "%s: cannot open file %s\n"
-msgstr "%s: не могу открыть файл %s\n"
+msgstr "%s: не удалось открыть файл %s\n"
 
 #: src/grpck.c:307
 #, c-format
 msgid "invalid group file entry\n"
-msgstr "неверная запись файла групп\n"
+msgstr "неверная запись в файле групп\n"
 
 #: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
 #: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
@@ -898,7 +944,7 @@ msgstr "удалить строку `%s'? "
 
 #: src/grpck.c:370
 msgid "duplicate group entry\n"
-msgstr "дÑ\83блиÑ\80Ñ\83Ñ\8eÑ\89аÑ\8fÑ\81Ñ\8f Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ð³Ñ\80Ñ\83ппÑ\8b\n"
+msgstr "повÑ\82оÑ\80Ñ\8fÑ\8eÑ\89аÑ\8fÑ\81Ñ\8f Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ð² Ñ\84айле Ð³Ñ\80Ñ\83пп\n"
 
 #: src/grpck.c:387
 #, c-format
@@ -908,115 +954,115 @@ msgstr "неверное имя группы `%s'\n"
 #: src/grpck.c:413
 #, c-format
 msgid "group %s: no user %s\n"
-msgstr "гÑ\80Ñ\83ппа %s: Ð½ÐµÑ\82 Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f %s\n"
+msgstr "гÑ\80Ñ\83ппа %s: Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8c %s Ð½Ðµ Ñ\81Ñ\83Ñ\89еÑ\81Ñ\82вÑ\83еÑ\82\n"
 
 #: src/grpck.c:415 src/grpck.c:585
 #, c-format
 msgid "delete member `%s'? "
-msgstr "удалить члена `%s'? "
+msgstr "удалить члена группы `%s'? "
 
 #: src/grpck.c:452
 #, c-format
 msgid "invalid shadow group file entry\n"
-msgstr "неверная shadow-запись в файле групп\n"
+msgstr "неверная запись в теневом файле групп\n"
 
 #: src/grpck.c:515
 msgid "duplicate shadow group entry\n"
-msgstr "дÑ\83блиÑ\80Ñ\83Ñ\8eÑ\89аÑ\8fÑ\81Ñ\8f shadow-запиÑ\81Ñ\8c Ð² файле групп\n"
+msgstr "повÑ\82оÑ\80Ñ\8fÑ\8eÑ\89аÑ\8fÑ\81Ñ\8f Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ð² Ñ\82еневом файле групп\n"
 
 #: src/grpck.c:532
 msgid "no matching group file entry\n"
-msgstr "соответствующей записи в файле групп нет\n"
+msgstr "отсутствует соответствующая группа в файле групп\n"
 
 #: src/grpck.c:553
 #, c-format
 msgid "shadow group %s: no administrative user %s\n"
-msgstr "shadow-группа %s: нет административного пользователя %s\n"
+msgstr "теневая группа %s: административный пользователь %s не существует\n"
 
 #: src/grpck.c:555
 #, c-format
 msgid "delete administrative member `%s'? "
-msgstr "удалить административного члена `%s'? "
+msgstr "удалить административного члена группы `%s'? "
 
 #: src/grpck.c:583
 #, c-format
 msgid "shadow group %s: no user %s\n"
-msgstr "shadow-группа %s: нет пользователя %s\n"
+msgstr "теневая группа %s: пользователь %s не существует\n"
 
 #: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
 #, c-format
 msgid "%s: cannot update file %s\n"
-msgstr "%s: не могу обновить файл %s\n"
+msgstr "%s: не удалось обновить файл %s\n"
 
 #: src/grpck.c:640 src/pwck.c:606
 #, c-format
 msgid "%s: the files have been updated\n"
-msgstr "%s: Ñ\84айлÑ\8b Ð±Ñ\8bли Ð¾Ð±Ð½Ð¾Ð²Ð»ены\n"
+msgstr "%s: Ñ\84айлÑ\8b Ð±Ñ\8bли Ð¸Ð·Ð¼ÐµÐ½ены\n"
 
 #: src/grpck.c:641 src/pwck.c:607
 #, c-format
 msgid "%s: no changes\n"
-msgstr "%s: изменений нет\n"
+msgstr "%s: изменений не внесено\n"
 
 #: src/grpconv.c:60 src/grpunconv.c:56
 #, c-format
 msgid "%s: can't lock group file\n"
-msgstr "%s: не могу заблокировать файл групп\n"
+msgstr "%s: не удалось заблокировать файл групп\n"
 
 #: src/grpconv.c:65 src/grpunconv.c:61
 #, c-format
 msgid "%s: can't open group file\n"
-msgstr "%s: не могу открыть файл групп\n"
+msgstr "%s: не удалось открыть файл групп\n"
 
 #: src/grpconv.c:70 src/grpunconv.c:66
 #, c-format
 msgid "%s: can't lock shadow group file\n"
-msgstr "%s: не могу заблокировать shadow-файл групп\n"
+msgstr "%s: не удалось заблокировать теневой файл групп\n"
 
 #: src/grpconv.c:75 src/grpunconv.c:71
 #, c-format
 msgid "%s: can't open shadow group file\n"
-msgstr "%s: не могу открыть shadow-файл групп\n"
+msgstr "%s: не удалось открыть теневой файл групп\n"
 
 #: src/grpconv.c:92
 #, c-format
 msgid "%s: can't remove shadow group %s\n"
-msgstr "%s: не могу удалить shadow-группу %s\n"
+msgstr "%s: не удалось удалить теневую группу %s\n"
 
 #: src/grpconv.c:130 src/pwconv.c:153
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
-msgstr "%s: не могу обновить shadow-запись для %s\n"
+msgstr "%s: не удалось обновить запись в теневом файле паролей для %s\n"
 
 #: src/grpconv.c:140 src/grpunconv.c:88
 #, c-format
 msgid "%s: can't update entry for group %s\n"
-msgstr "%s: не могу обновить запись для группы %s\n"
+msgstr "%s: не удалось обновить запись для группы %s\n"
 
 #: src/grpconv.c:147 src/grpunconv.c:96
 #, c-format
 msgid "%s: can't update shadow group file\n"
-msgstr "%s: не могу обновить shadow-файл групп\n"
+msgstr "%s: не удалось обновить теневой файл групп\n"
 
 #: src/grpconv.c:152 src/grpunconv.c:102
 #, c-format
 msgid "%s: can't update group file\n"
-msgstr "%s: не могу обновить файл групп\n"
+msgstr "%s: не удалось обновить файл групп\n"
 
 #: src/grpunconv.c:107
 #, c-format
 msgid "%s: can't delete shadow group file\n"
-msgstr "%s: не могу удалить shadow-файл групп\n"
+msgstr "%s: не удалось удалить теневой файл групп\n"
 
 #: src/id.c:53
 #, c-format
 msgid "Usage: id [-a]\n"
-msgstr "Ð\97апÑ\83Ñ\81к: id [-a]\n"
+msgstr "Ð\98Ñ\81полÑ\8cзование: id [-a]\n"
 
 #: src/id.c:55
 #, c-format
 msgid "Usage: id\n"
-msgstr "Ð\97апÑ\83Ñ\81к: id\n"
+msgstr "Ð\98Ñ\81полÑ\8cзование: id\n"
 
 #: src/id.c:169
 #, c-format
@@ -1029,44 +1075,50 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
+"Использование: lastlog [параметры]\n"
+"\n"
+"Параметры:\n"
+"  -u, --user LOGIN\tпоказать запись lastlog для учётной записи LOGIN\n"
+"  -h, --help\t\tпоказать это сообщение и завершить работу программы\n"
+"  -t, --time DAYS\tпоказать записи lastlog за последние DAYS дней\n"
 
 #: src/lastlog.c:90
 #, c-format
 msgid "Username         Port     From             Latest\n"
-msgstr "Ð\98мÑ\8f              Ð\9fоÑ\80Ñ\82     Ð\9eÑ\82кÑ\83да           Ð\9fоÑ\81ледн.\n"
+msgstr "Ð\9fолÑ\8cзоваÑ\82елÑ\8c     Ð\9fоÑ\80Ñ\82     Ð¡                Ð\9fоÑ\81ледний Ñ\80аз\n"
 
 #: src/lastlog.c:92
 #, c-format
 msgid "Username                Port     Latest\n"
-msgstr "Ð\98мÑ\8f                     Ð\9fоÑ\80Ñ\82     Ð\9fоÑ\81ледн.\n"
+msgstr "Ð\9fолÑ\8cзоваÑ\82елÑ\8c            Ð\9fоÑ\80Ñ\82     Ð\9fоÑ\81ледний Ñ\80аз\n"
 
 #: src/lastlog.c:107
 msgid "**Never logged in**"
-msgstr "**Ð\9dикогда Ð½Ðµ Ð»Ð¾Ð³Ð¸Ð½Ð¸Ð»Ñ\81Ñ\8f***"
+msgstr "**Ð\9dикогда Ð½Ðµ Ð²Ñ\85одил Ð² Ñ\81иÑ\81Ñ\82емÑ\83**"
 
 #: src/login.c:156
 #, c-format
 msgid "Usage: %s [-p] [name]\n"
-msgstr "Ð\97апÑ\83Ñ\81к: %s [-p] [имя]\n"
+msgstr "Ð\98Ñ\81полÑ\8cзование: %s [-p] [имÑ\8f Ð¿Ð¾Ð»Ñ\8cзоваÑ\82еля]\n"
 
 #: src/login.c:159
 #, c-format
 msgid "       %s [-p] [-h host] [-f name]\n"
-msgstr "        %s [-p] [-h хост] [-f имя]\n"
+msgstr "                    %s [-p] [-h имя хоста] [-f имя пользователя]\n"
 
 #: src/login.c:161
 #, c-format
 msgid "       %s [-p] -r host\n"
-msgstr "        %s [-p] -r хост\n"
+msgstr "                    %s [-p] -r имя хоста\n"
 
 #: src/login.c:198
 #, c-format
 msgid "Invalid login time\n"
-msgstr "Ð\9dедопÑ\83Ñ\81Ñ\82имое Ð²Ñ\80емÑ\8f Ð´Ð»Ñ\8f Ð»Ð¾Ð³Ð¸Ð½Ð°\n"
+msgstr "Ð\92Ñ\85од Ð² Ñ\81иÑ\81Ñ\82емÑ\83 Ñ\81ейÑ\87аÑ\81 Ð·Ð°Ð¿Ñ\80еÑ\89Ñ\91н\n"
 
 #: src/login.c:234
 #, c-format
@@ -1075,7 +1127,7 @@ msgid ""
 "System closed for routine maintenance\n"
 msgstr ""
 "\n"
-"СиÑ\81Ñ\82ема Ð·Ð°ÐºÑ\80Ñ\8bÑ\82а Ð½Ð° Ð¿Ð»Ð°Ð½Ð¾Ð²Ð¾Ðµ Ð¾Ð±Ñ\81лÑ\83живание\n"
+"СиÑ\81Ñ\82ема Ð·Ð°ÐºÑ\80Ñ\8bÑ\82а Ð´Ð»Ñ\8f Ð¿Ñ\80оведениÑ\8f Ñ\82еÑ\85ниÑ\87еÑ\81кого Ð¾Ð±Ñ\81лÑ\83живаниÑ\8f\n"
 
 #: src/login.c:244
 #, c-format
@@ -1084,7 +1136,7 @@ msgid ""
 "[Disconnect bypassed -- root login allowed.]\n"
 msgstr ""
 "\n"
-"[РаÑ\81Ñ\81оединение Ð¿Ñ\80опÑ\83Ñ\89ено -- root'овÑ\8bй Ð»Ð¾Ð³Ð¸Ð½ Ñ\80азÑ\80еÑ\88ен.]\n"
+"[Ð\9eÑ\82клÑ\8eÑ\87ение Ð½Ðµ Ð²Ñ\8bполнено -- Ð²Ñ\85од Ð² Ñ\81иÑ\81Ñ\82емÑ\83 Ð´Ð»Ñ\8f Ñ\81Ñ\83пеÑ\80полÑ\8cзоваÑ\82елÑ\8f Ñ\80азÑ\80еÑ\88Ñ\91н.]\n"
 
 #: src/login.c:297
 #, c-format
@@ -1093,7 +1145,7 @@ msgid ""
 "Login timed out after %d seconds.\n"
 msgstr ""
 "\n"
-"ТаймаÑ\83Ñ\82 Ð»Ð¾Ð³Ð¸Ð½Ð° Ð² Ñ\82еÑ\87ение %d секунд.\n"
+"Ð\92Ñ\80емÑ\8f Ð½Ð° Ð²Ñ\8bполнение Ð²Ñ\85ода Ð² Ñ\81иÑ\81Ñ\82емÑ\83 Ð¸Ñ\81Ñ\82екло Ð¿Ð¾Ñ\81ле %d секунд.\n"
 
 #: src/login.c:565
 #, c-format
@@ -1112,50 +1164,50 @@ msgid ""
 "%s login: "
 msgstr ""
 "\n"
-"%s login: "
+"Имя пользователя %s: "
 
 #: src/login.c:879 src/sulogin.c:203
 msgid "Login incorrect"
-msgstr "Неудачная попытка"
+msgstr "Неверное имя пользователя"
 
 #: src/login.c:996
 msgid "Warning: login re-enabled after temporary lockout.\n"
-msgstr "Ð\9fÑ\80едÑ\83пÑ\80еждение: Ð»Ð¾Ð³Ð¸Ð½Ñ\8b Ñ\81нова Ð¾Ñ\82кÑ\80Ñ\8bÑ\82Ñ\8b Ð¿Ð¾Ñ\81ле Ð²Ñ\80еменного Ð·Ð°ÐºÑ\80Ñ\8bÑ\82иÑ\8f.\n"
+msgstr "Ð\92нимание: Ð²Ñ\85од Ð² Ñ\81иÑ\81Ñ\82емÑ\83 Ñ\81нова Ð²Ð¾Ð·Ð¼Ð¾Ð¶ÐµÐ½.\n"
 
 #: src/login.c:1010
 #, c-format
 msgid "Last login: %s on %s"
-msgstr "Ð\9fоÑ\81ледний Ð»Ð¾Ð³Ð¸Ð½: %s на %s"
+msgstr "Ð\9fоÑ\81ледний Ð²Ñ\85од Ð² Ñ\81иÑ\81Ñ\82емÑ\83: %s на %s"
 
 #: src/login.c:1013
 #, c-format
 msgid "Last login: %.19s on %s"
-msgstr "Ð\9fоÑ\81ледний Ð»Ð¾Ð³Ð¸Ð½: %.19s на %s"
+msgstr "Ð\9fоÑ\81ледний Ð²Ñ\85од Ð² Ñ\81иÑ\81Ñ\82емÑ\83: %.19s на %s"
 
 #: src/login.c:1018
-#, fuzzy, c-format
+#, c-format
 msgid " from %.*s"
 msgstr " с %.*s"
 
 #: src/mkpasswd.c:47
 #, c-format
 msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s: Ð² Ñ\81иÑ\81Ñ\82еме Ð½ÐµÑ\82 Ð±Ð°Ð·Ñ\8b Ð´Ð°Ð½Ð½Ñ\8bÑ\85 DBM, Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ\85 Ð´ÐµÐ¹Ñ\81Ñ\82вий Ð½Ðµ Ð¿Ñ\80едпÑ\80инÑ\8fÑ\82о\n"
+msgstr "%s: Ð¾Ñ\82Ñ\81Ñ\83Ñ\82Ñ\81Ñ\82вÑ\83Ñ\8eÑ\82 Ñ\84айлÑ\8b DBM -- Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ðµ Ð½Ðµ Ð¿Ñ\80оизведено\n"
 
 #: src/mkpasswd.c:231 src/mkpasswd.c:236
 #, c-format
 msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: не могу переписать файл %s\n"
+msgstr "%s: не удалось перезаписать файл %s\n"
 
 #: src/mkpasswd.c:251
 #, c-format
 msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: не могу открыть файлы базы данных для %s\n"
+msgstr "%s: не удалось открыть файлы DBM для %s\n"
 
 #: src/mkpasswd.c:286
-#, fuzzy, c-format
+#, c-format
 msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: начало с "
+msgstr "%s: строка, начинающаяся с %.16s... слишком длинна\n"
 
 #: src/mkpasswd.c:313
 #, c-format
@@ -1163,60 +1215,60 @@ msgid "%s: error parsing line \"%s\"\n"
 msgstr "%s: ошибка разбора строки \"%s\"\n"
 
 #: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
-#, fuzzy, c-format
+#, c-format
 msgid "adding record for name %s\n"
-msgstr "добавляю запись для имени "
+msgstr "добавление записи для имени %s\n"
 
 #: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
-#, fuzzy, c-format
+#, c-format
 msgid "%s: error adding record for %s\n"
-msgstr "%s: ошибка добавления записи для "
+msgstr "%s: ошибка добавления записи для %s\n"
 
 #: src/mkpasswd.c:376
 #, c-format
 msgid "added %d entries, longest was %d\n"
-msgstr "добавлено %d записей, самая длинная - %d\n"
+msgstr "добавлено записей: %d, самая длинная: %d\n"
 
 #: src/mkpasswd.c:389
 #, c-format
 msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Ð\97апÑ\83Ñ\81к: %s [-vf] [-p|g|sp|sg] файл\n"
+msgstr "Ð\98Ñ\81полÑ\8cзование: %s [-vf] [-p|g|sp|sg] файл\n"
 
 #: src/mkpasswd.c:391
 #, c-format
 msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Ð\97апÑ\83Ñ\81к: %s [-vf] [-p|g|sp] файл\n"
+msgstr "Ð\98Ñ\81полÑ\8cзование: %s [-vf] [-p|g|sp] файл\n"
 
 #: src/mkpasswd.c:394
 #, c-format
 msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Ð\97апÑ\83Ñ\81к: %s [-vf] [-p|g] файл\n"
+msgstr "Ð\98Ñ\81полÑ\8cзование: %s [-vf] [-p|g] файл\n"
 
 #: src/newgrp.c:61
 #, c-format
 msgid "Usage: newgrp [-] [group]\n"
-msgstr "Ð\97апÑ\83Ñ\81к: newgrp [-] [группа]\n"
+msgstr "Ð\98Ñ\81полÑ\8cзование: newgrp [-] [группа]\n"
 
 #: src/newgrp.c:63
 #, c-format
 msgid "Usage: sg group [[-c] command]\n"
-msgstr "Ð\97апÑ\83Ñ\81к: sg группа [[-c] команда]\n"
+msgstr "Ð\98Ñ\81полÑ\8cзование: sg группа [[-c] команда]\n"
 
 #: src/newgrp.c:131
-#, fuzzy, c-format
+#, c-format
 msgid "unknown uid: %u\n"
-msgstr "неизвестный uid: %d\n"
+msgstr "неизвестный uid: %u\n"
 
 #: src/newgrp.c:213
-#, fuzzy, c-format
+#, c-format
 msgid "unknown gid: %lu\n"
-msgstr "неизвестный gid: %ld\n"
+msgstr "неизвестный gid: %lu\n"
 
 #: src/newgrp.c:358 src/newgrp.c:367
 msgid "Sorry.\n"
 msgstr "Извините.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "слишком много групп\n"
@@ -1224,62 +1276,62 @@ msgstr "слишком много групп\n"
 #: src/newusers.c:78
 #, c-format
 msgid "Usage: %s [input]\n"
-msgstr "Ð\97апÑ\83Ñ\81к: %s [ввод]\n"
+msgstr "Ð\98Ñ\81полÑ\8cзование: %s [Ñ\84айл]\n"
 
 #: src/newusers.c:382
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
-msgstr "%s: не могу заблокировать /etc/passwd.\n"
+msgstr "%s: не удалось заблокировать /etc/passwd.\n"
 
 #: src/newusers.c:394
 #, c-format
 msgid "%s: can't lock files, try again later\n"
-msgstr "%s: не могу заблокировать файлы; попробуйте позже\n"
+msgstr "%s: не удалось заблокировать файлы, попробуйте позже\n"
 
 #: src/newusers.c:409
 #, c-format
 msgid "%s: can't open files\n"
-msgstr "%s: не могу открыть файлы\n"
+msgstr "%s: не удалось открыть файлы\n"
 
 #: src/newusers.c:454
 #, c-format
 msgid "%s: line %d: invalid line\n"
-msgstr "%s: Ñ\81Ñ\82Ñ\80ока %d: Ð½ÐµÐ²ÐµÑ\80наÑ\8f Ñ\81Ñ\82Ñ\80ока\n"
+msgstr "%s: Ñ\81Ñ\82Ñ\80ока %d: Ð¾Ñ\88ибка Ð² Ñ\81Ñ\82Ñ\80оке\n"
 
 #: src/newusers.c:473
 #, c-format
 msgid "%s: line %d: can't create GID\n"
-msgstr "%s: строка %d: не могу создать GID\n"
+msgstr "%s: строка %d: не удалось создать GID\n"
 
 #: src/newusers.c:489
 #, c-format
 msgid "%s: line %d: can't create UID\n"
-msgstr "%s: строка %d: не могу создать UID\n"
+msgstr "%s: строка %d: не удалось создать UID\n"
 
 #: src/newusers.c:502
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
-msgstr "%s: строка %d: не могу найти пользователя %s\n"
+msgstr "%s: строка %d: не удалось найти пользователя %s\n"
 
 #: src/newusers.c:511
 #, c-format
 msgid "%s: line %d: can't update password\n"
-msgstr "%s: строка %d: не могу обновить пароль\n"
+msgstr "%s: строка %d: не удалось обновить пароль\n"
 
 #: src/newusers.c:529
 #, c-format
 msgid "%s: line %d: mkdir failed\n"
-msgstr "%s: строка %d: неудача mkdir\n"
+msgstr "%s: строка %d: не удалось создать каталог\n"
 
 #: src/newusers.c:534
 #, c-format
 msgid "%s: line %d: chown failed\n"
-msgstr "%s: строка %d: неудача chown\n"
+msgstr "%s: строка %d: не удалось изменить владельца каталога\n"
 
 #: src/newusers.c:544
 #, c-format
 msgid "%s: line %d: can't update entry\n"
-msgstr "%s: строка %d: не могу обновить запись\n"
+msgstr "%s: строка %d: не удалось обновить запись\n"
 
 #: src/newusers.c:576
 #, c-format
@@ -1289,17 +1341,20 @@ msgstr "%s: ошибка обновления файлов\n"
 #: src/passwd.c:154
 #, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Ð\97апÑ\83Ñ\81к: %s [-f|-s] [имя]\n"
+msgstr "Ð\98Ñ\81полÑ\8cзованик: %s [-f|-s] [имÑ\8f Ð¿Ð¾Ð»Ñ\8cзоваÑ\82еля]\n"
 
 #: src/passwd.c:158
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "        %s [-x макс] [-n мин] [-w предупр] [-i неакт] имя\n"
+msgstr ""
+"       %s [-x максимальный срок действия пароля (дней)] [-n минимальный срок "
+"действия пароля (дней)] [-w предупреждать за (дней)] [-i деактивировать "
+"через (дней)] имя пользователя\n"
 
 #: src/passwd.c:160
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "        %s {-l|-u|-d|-S|-e} имя\n"
+msgstr "       %s {-l|-u|-d|-S|-e} имя пользователя\n"
 
 #: src/passwd.c:214
 msgid "Old password: "
@@ -1316,8 +1371,8 @@ msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
 "Please use a combination of upper and lower case letters and numbers.\n"
 msgstr ""
-"Введите новый пароль (минимум %d, максимум %d символов)\n"
-"Используйте комбинацию больших и маленьких латинских букв и цифр.\n"
+"Введите новый пароль (минимальная длина %d, максимальная длина %d символов)\n"
+" Используйте комбинацию из символов в верхнем и нижнем регистре и цифр.\n"
 
 #: src/passwd.c:253
 msgid "New password: "
@@ -1326,7 +1381,7 @@ msgstr "Новый пароль: "
 #: src/passwd.c:263
 #, c-format
 msgid "Try again.\n"
-msgstr "Попробуйте еще раз.\n"
+msgstr "Попробуйте ещё раз.\n"
 
 #: src/passwd.c:274
 #, c-format
@@ -1335,23 +1390,23 @@ msgid ""
 "Warning: weak password (enter it again to use it anyway).\n"
 msgstr ""
 "\n"
-"Ð\9fÑ\80едÑ\83пÑ\80еждение: Ñ\81лабÑ\8bй Ð¿Ð°Ñ\80олÑ\8c (введиÑ\82е ÐµÐ³Ð¾ ÐµÑ\89е Ñ\80аз ÐµÑ\81ли Ð²Ñ\81е-Ñ\82аки Ñ\85оÑ\82иÑ\82е "
-"его).\n"
+"Ð\92нимание: Ñ\81лиÑ\88ком Ð¿Ñ\80оÑ\81Ñ\82ой Ð¿Ð°Ñ\80олÑ\8c (Ñ\87Ñ\82обÑ\8b Ð²Ñ\81Ñ\91 Ñ\80авно Ð¸Ñ\81полÑ\8cзоваÑ\82Ñ\8c Ñ\8dÑ\82оÑ\82 Ð¿Ð°Ñ\80олÑ\8c, "
+"введиÑ\82е ÐµÐ³Ð¾ ÐµÑ\89Ñ\91 Ñ\80аз).\n"
 
 #: src/passwd.c:283
 #, c-format
 msgid "They don't match; try again.\n"
-msgstr "Ð\9eни Ð½Ðµ Ñ\81овпадаÑ\8eÑ\82; Ð¿Ð¾Ð¿Ñ\80обÑ\83йÑ\82е ÐµÑ\89е раз.\n"
+msgstr "Ð\9fаÑ\80оли Ð½Ðµ Ñ\81овпадаÑ\8eÑ\82, Ð¿Ð¾Ð¿Ñ\80обÑ\83йÑ\82е ÐµÑ\89Ñ\91 раз.\n"
 
 #: src/passwd.c:360 src/passwd.c:377
 #, c-format
 msgid "The password for %s cannot be changed.\n"
-msgstr "Ð\9fаÑ\80олÑ\8c Ð´Ð»Ñ\8f %s Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ\82Ñ\8c Ð½ÐµÐ»Ñ\8cзÑ\8f.\n"
+msgstr "Ð\9fаÑ\80олÑ\8c Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f %s Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82 Ð±Ñ\8bÑ\82Ñ\8c Ð¸Ð·Ð¼ÐµÐ½Ñ\91н.\n"
 
 #: src/passwd.c:390
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
-msgstr "Ð\98звиниÑ\82е, Ð¿Ð°Ñ\80олÑ\8c Ð´Ð»Ñ\8f %s Ð¿Ð¾ÐºÐ° Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ\82Ñ\8c Ð½ÐµÐ»Ñ\8cзÑ\8f.\n"
+msgstr "Ð\98звиниÑ\82е, Ð½Ð¾ Ð¿Ð°Ñ\80олÑ\8c Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f %s Ð¿Ð¾ÐºÐ° Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82 Ð±Ñ\8bÑ\82Ñ\8c Ð¸Ð·Ð¼ÐµÐ½Ñ\91н.\n"
 
 #: src/passwd.c:472
 #, c-format
@@ -1361,7 +1416,7 @@ msgstr "%s: нехватка памяти\n"
 #: src/passwd.c:701
 #, c-format
 msgid "%s: Cannot execute %s"
-msgstr "%s: Не могу исполнить %s"
+msgstr "%s: Не удалось выполнить %s"
 
 #: src/passwd.c:786
 #, c-format
@@ -1369,34 +1424,35 @@ msgid "%s: repository %s not supported\n"
 msgstr "%s: хранилище %s не поддерживается\n"
 
 #: src/passwd.c:884
-#, fuzzy, c-format
+#, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
-msgstr "Вы не можете изменить пароль для %s.\n"
+msgstr "%s: Вы не можете увидеть или изменить пароль для %s.\n"
 
 #: src/passwd.c:934
 #, c-format
 msgid "Changing password for %s\n"
-msgstr "Изменяем пароль для %s\n"
+msgstr "Изменение пароля для %s\n"
 
 #: src/passwd.c:938
 #, c-format
 msgid "The password for %s is unchanged.\n"
-msgstr "Ð\9fаÑ\80олÑ\8c Ð´Ð»Ñ\8f %s Ð\9dÐ\95 Ð¸Ð·Ð¼ÐµÐ½Ðµн.\n"
+msgstr "Ð\9fаÑ\80олÑ\8c Ð´Ð»Ñ\8f %s Ð½Ðµ Ð±Ñ\8bл Ð¸Ð·Ð¼ÐµÐ½Ñ\91н.\n"
 
 #: src/passwd.c:987
 #, c-format
 msgid "Password changed.\n"
-msgstr "Пароль изменен.\n"
+msgstr "Пароль изменён.\n"
 
 #: src/pwck.c:87
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
-msgstr "Запуск: %s [-q] [-r] [-s] [пароль [shadow]]\n"
+msgstr ""
+"Использование: %s [-q] [-r] [-s] [файл паролей [теневой файл паролей]]\n"
 
 #: src/pwck.c:90
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Ð\97апÑ\83Ñ\81к: %s [-q] [-r] [-s] [паÑ\80олÑ\8c]\n"
+msgstr "Ð\98Ñ\81полÑ\8cзование: %s [-q] [-r] [-s] [Ñ\84айл Ð¿Ð°Ñ\80олей]\n"
 
 #: src/pwck.c:292
 #, c-format
@@ -1405,17 +1461,17 @@ msgstr "неверная запись в файле паролей\n"
 
 #: src/pwck.c:354
 msgid "duplicate password entry\n"
-msgstr "дÑ\83блиÑ\80Ñ\83Ñ\8eÑ\89аÑ\8fÑ\81Ñ\8f Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ð¿Ð°Ñ\80олÑ\8f\n"
+msgstr "повÑ\82оÑ\80Ñ\8fÑ\8eÑ\89аÑ\8fÑ\81Ñ\8f Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ð² Ñ\84айле Ð¿Ð°Ñ\80олей\n"
 
 #: src/pwck.c:370
-#, fuzzy, c-format
+#, c-format
 msgid "invalid user name '%s'\n"
-msgstr "неверное имя пользователя `%s'\n"
+msgstr "неверное имя пользователя '%s'\n"
 
 #: src/pwck.c:384
-#, fuzzy, c-format
+#, c-format
 msgid "user %s: no group %u\n"
-msgstr "полÑ\8cзоваÑ\82елÑ\8c %s: Ð½ÐµÑ\82 Ð³Ñ\80Ñ\83ппÑ\8b %d\n"
+msgstr "полÑ\8cзоваÑ\82елÑ\8c %s: Ð³Ñ\80Ñ\83ппа %u Ð½Ðµ Ñ\81Ñ\83Ñ\89еÑ\81Ñ\82вÑ\83еÑ\82\n"
 
 #: src/pwck.c:400
 #, c-format
@@ -1425,65 +1481,65 @@ msgstr "пользователь %s: каталог %s не существует
 #: src/pwck.c:416
 #, c-format
 msgid "user %s: program %s does not exist\n"
-msgstr "полÑ\8cзоваÑ\82елÑ\8c %s: Ð¿Ñ\80огÑ\80амма %s не существует\n"
+msgstr "полÑ\8cзоваÑ\82елÑ\8c %s: ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð°Ñ\8f Ð¾Ð±Ð¾Ð»Ð¾Ñ\87ка %s не существует\n"
 
 #: src/pwck.c:452
 #, c-format
 msgid "invalid shadow password file entry\n"
-msgstr "неверная запись в shadow-файле паролей\n"
+msgstr "неверная запись в теневом файле паролей\n"
 
 #: src/pwck.c:514
 msgid "duplicate shadow password entry\n"
-msgstr "дÑ\83блиÑ\80Ñ\83Ñ\8eÑ\89аÑ\8fÑ\81Ñ\8f Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ð² shadow-файле паролей\n"
+msgstr "повÑ\82оÑ\80Ñ\8fÑ\8eÑ\89аÑ\8fÑ\81Ñ\8f Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ð² Ñ\82еневом файле паролей\n"
 
 #: src/pwck.c:538
 msgid "no matching password file entry\n"
-msgstr "соответствующей записи в файле паролей нет\n"
+msgstr "отсутствует соответствующая запись в файле паролей\n"
 
 #: src/pwck.c:556
 #, c-format
 msgid "user %s: last password change in the future\n"
-msgstr "полÑ\8cзоваÑ\82елÑ\8c %s: Ð¿Ð¾Ñ\81леднее Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ пароля в будущем\n"
+msgstr "полÑ\8cзоваÑ\82елÑ\8c %s: Ð²Ñ\80емÑ\8f Ð¿Ð¾Ñ\81леднего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ\8f пароля в будущем\n"
 
 #: src/pwconv.c:85 src/pwunconv.c:79
 #, c-format
 msgid "%s: can't lock passwd file\n"
-msgstr "%s: не могу заблокировать файл паролей\n"
+msgstr "%s: не удалось заблокировать файл паролей\n"
 
 #: src/pwconv.c:90 src/pwunconv.c:84
 #, c-format
 msgid "%s: can't open passwd file\n"
-msgstr "%s: не могу открыть файл паролей\n"
+msgstr "%s: не удалось открыть файл паролей\n"
 
 #: src/pwconv.c:118
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
-msgstr "%s: не могу удалить shadow-запись для %s\n"
+msgstr "%s: не удалось удалить запись в теневом файле паролей для %s\n"
 
 #: src/pwconv.c:163
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
-msgstr "%s: не могу обновить запись пароля для %s\n"
+msgstr "%s: не удалось обновить запись в файле паролей для %s\n"
 
 #: src/pwconv.c:170
 #, c-format
 msgid "%s: can't update shadow file\n"
-msgstr "%s: не могу обновить shadow-файл\n"
+msgstr "%s: не удалось обновить теневой файл паролей\n"
 
 #: src/pwconv.c:174
 #, c-format
 msgid "%s: can't update passwd file\n"
-msgstr "%s: не могу обновить файл паролей\n"
+msgstr "%s: не удалось обновить файл паролей\n"
 
 #: src/pwunconv.c:124
 #, c-format
 msgid "%s: can't update entry for user %s\n"
-msgstr "%s: не могу обновить запись для пользователя %s\n"
+msgstr "%s: не удалось обновить запись для пользователя %s\n"
 
 #: src/pwunconv.c:143
 #, c-format
 msgid "%s: can't delete shadow password file\n"
-msgstr "%s: не могу удалить shadow-файл паролей\n"
+msgstr "%s: не удалось удалить теневой файл паролей\n"
 
 #: src/su.c:132
 msgid "Sorry."
@@ -1492,7 +1548,7 @@ msgstr "Извините."
 #: src/su.c:320
 #, c-format
 msgid "%s: must be run from a terminal\n"
-msgstr "%s: Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ\8bÑ\82Ñ\8c Ð·Ð°Ð¿Ñ\83Ñ\89ено Ñ\81 терминала\n"
+msgstr "%s: Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð²Ñ\8bполнÑ\8fÑ\82Ñ\8cÑ\81Ñ\8f Ð¸Ð· терминала\n"
 
 #: src/su.c:419
 #, c-format
@@ -1507,7 +1563,7 @@ msgstr "Неизвестный id: %s\n"
 #: src/su.c:484 src/su.c:500
 #, c-format
 msgid "You are not authorized to su %s\n"
-msgstr "Ð\92ам Ð½Ðµ Ñ\80азÑ\80еÑ\88ено Ð´ÐµÐ»Ð°Ñ\82Ñ\8c su %s\n"
+msgstr "У Ð²Ð°Ñ\81 Ð½ÐµÑ\82 Ð¿Ñ\80ава Ð¿ÐµÑ\80еклÑ\8eÑ\87аÑ\82Ñ\8c Ñ\83Ñ\87Ñ\91Ñ\82нÑ\83Ñ\8e Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c %s\n"
 
 #: src/su.c:495
 msgid "(Enter your own password.)"
@@ -1525,32 +1581,32 @@ msgstr ""
 #: src/su.c:741
 #, c-format
 msgid "No shell\n"
-msgstr "Ð\9dеÑ\82 Ñ\88елла\n"
+msgstr "Ð\9eÑ\82Ñ\81Ñ\83Ñ\82Ñ\81Ñ\82вÑ\83еÑ\82 ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð°Ñ\8f Ð¾Ð±Ð¾Ð»Ð¾Ñ\87ка\n"
 
 #: src/suauth.c:104
 #, c-format
 msgid "Access to su to that account DENIED.\n"
-msgstr "Ð\94оÑ\81Ñ\82Ñ\83п Ðº su Ñ\81 Ñ\8dÑ\82ого Ð°ÐºÐºÐ°Ñ\83нÑ\82а Ð\97Ð\90Ð\9fРÐ\95ЩÐ\95Ð\9d.\n"
+msgstr "Ð\9fеÑ\80еклÑ\8eÑ\87ение Ð½Ð° Ñ\8dÑ\82Ñ\83 Ñ\83Ñ\87Ñ\91Ñ\82нÑ\83Ñ\8e Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ð\97Ð\90Ð\9fРÐ\95ЩÐ\95Ð\9dÐ\9e.\n"
 
 #: src/suauth.c:112
 #, c-format
 msgid "Password authentication bypassed.\n"
-msgstr "Ð\90Ñ\83Ñ\82енÑ\82икаÑ\86иÑ\8f по паролю пропущена.\n"
+msgstr "Ð\9fÑ\80овеÑ\80ка Ð¿Ð¾Ð´Ð»Ð¸Ð½Ð½Ð¾Ñ\81Ñ\82и по паролю пропущена.\n"
 
 #: src/suauth.c:121
 #, c-format
 msgid "Please enter your OWN password as authentication.\n"
-msgstr "Введите ваш СОБСТВЕННЫЙ пароль для аутентикации.\n"
+msgstr "Введите ваш СОБСТВЕННЫЙ пароль.\n"
 
 #: src/sulogin.c:118
 #, c-format
 msgid "No password file\n"
-msgstr "Ð\9dеÑ\82 Ñ\84айла паролей\n"
+msgstr "Ð\9eÑ\82Ñ\81Ñ\83Ñ\82Ñ\81Ñ\82вÑ\83еÑ\82 Ñ\84айл паролей\n"
 
 #: src/sulogin.c:160
 #, c-format
 msgid "No password entry for 'root'\n"
-msgstr "Ð\9dеÑ\82 Ð·Ð°Ð¿Ð¸Ñ\81и Ð¿Ð°Ñ\80олÑ\8f Ð´Ð»Ñ\8f 'root'\n"
+msgstr "Ð\9eÑ\82Ñ\81Ñ\83Ñ\82Ñ\81Ñ\82вÑ\83еÑ\82 Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ð´Ð»Ñ\8f Ñ\81Ñ\83пеÑ\80полÑ\8cзоваÑ\82елÑ\8f Ð² Ñ\84айле Ð¿Ð°Ñ\80олей\n"
 
 #: src/sulogin.c:175
 msgid ""
@@ -1559,17 +1615,18 @@ msgid ""
 "(or give root password for system maintenance):"
 msgstr ""
 "\n"
-"Введите control-d для продолжения нормальной загрузки,\n"
-"(или пароль root'а для обслуживания системы):"
+"Нажмите control-d для продолжения загрузки в обычном режиме,\n"
+"(или введите пароль суперпользователя для выполнения системного "
+"обслуживания):"
 
 #: src/sulogin.c:210
 msgid "Entering System Maintenance Mode\n"
-msgstr "Вход в режим обслуживания системы\n"
+msgstr "Вход в режим системного обслуживания\n"
 
 #: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
 #, c-format
 msgid "%s: invalid numeric argument `%s'\n"
-msgstr "%s: Ð½ÐµÐ²ÐµÑ\80нÑ\8bй Ñ\87иÑ\81ловой Ð°Ñ\80гÑ\83менÑ\82 `%s'\n"
+msgstr "%s: Ð½ÐµÐ²ÐµÑ\80нÑ\8bй Ñ\87иÑ\81ловой Ð¿Ð°Ñ\80амеÑ\82Ñ\80 `%s'\n"
 
 #: src/useradd.c:298
 #, c-format
@@ -1585,82 +1642,87 @@ msgstr "%s: неизвестная группа %s\n"
 #: src/useradd.c:418
 #, c-format
 msgid "%s: cannot create new defaults file\n"
-msgstr "%s: не могу создать новый файл умолчаний\n"
+msgstr "%s: не удалось создать новый файл значений по умолчанию\n"
 
 #: src/useradd.c:423
-#, fuzzy, c-format
+#, c-format
 msgid "%s: cannot open new defaults file\n"
-msgstr "%s: не могу создать новый файл умолчаний\n"
+msgstr "%s: не удалось открыть новый файл значений по умолчанию\n"
 
 #: src/useradd.c:515 src/useradd.c:526
 #, c-format
 msgid "%s: rename: %s"
-msgstr "%s: переименование: %s"
+msgstr "%s: переименовать: %s"
 
 #: src/useradd.c:619 src/usermod.c:248
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
-msgstr "%s: группа `%s' - группа NIS.\n"
+msgstr "%s: группа `%s' является группой NIS.\n"
 
 #: src/useradd.c:628 src/usermod.c:257
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
-msgstr "%s: задано слишком много групп (макс. %d).\n"
+msgstr "%s: указано слишком много групп (максимум %d).\n"
 
 #: src/useradd.c:660
 #, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-msgstr "Запуск: useradd [-u uid [-o]] [-g группа] [-G группа,...] \n"
+msgstr ""
+"Использование: useradd [-u uid [-o]] [-g основная группа] [-G группа,...] \n"
 
 #: src/useradd.c:663
 #, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-msgstr "                [-d дом.] [-s шелл] [-c коммент.] [-m [-k шаблоны]]\n"
+msgstr ""
+"               [-d домашний каталог] [-s командная оболочка] [-c "
+"комментарий] [-m [-k шаблон]]\n"
 
 #: src/useradd.c:665 src/useradd.c:671
 #, c-format
 msgid "               [-f inactive] [-e expire]\n"
-msgstr "                [-f неактивн.] [-e истекает]\n"
+msgstr "               [-f деактивация] [-e срок действия учётной записи ]\n"
 
 #: src/useradd.c:667
 #, c-format
 msgid "               [-p passwd] name\n"
-msgstr "                [-p пароль] имя\n"
+msgstr "               [-p пароль] имя пользователя\n"
 
 #: src/useradd.c:669
 #, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-msgstr "        useradd -D [-g группа] [-b база] [-s шелл]\n"
+msgstr ""
+"       useradd -D [-g основная группа] [-b базовый каталог] [-s командная "
+"оболочка]\n"
 
 #: src/useradd.c:756 src/usermod.c:444
 #, c-format
 msgid "%s: error locking group file\n"
-msgstr "%s: Ð¾Ñ\88ибка Ð±Ð»Ð¾ÐºÐ¸Ñ\80овки Ñ\84айла групп\n"
+msgstr "%s: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸Ñ\80оваÑ\82Ñ\8c Ñ\84айл групп\n"
 
 #: src/useradd.c:760 src/usermod.c:449
 #, c-format
 msgid "%s: error opening group file\n"
-msgstr "%s: Ð¾Ñ\88ибка Ð¾Ñ\82кÑ\80Ñ\8bÑ\82иÑ\8f Ñ\84айла групп\n"
+msgstr "%s: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ð¾Ñ\82кÑ\80Ñ\8bÑ\82Ñ\8c Ñ\84айл групп\n"
 
 #: src/useradd.c:766 src/usermod.c:542
 #, c-format
 msgid "%s: error locking shadow group file\n"
-msgstr "%s: Ð¾Ñ\88ибка Ð±Ð»Ð¾ÐºÐ¸Ñ\80овки shadow-Ñ\84айла групп\n"
+msgstr "%s: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸Ñ\80оваÑ\82Ñ\8c Ñ\82еневой Ñ\84айл групп\n"
 
 #: src/useradd.c:771 src/usermod.c:548
 #, c-format
 msgid "%s: error opening shadow group file\n"
-msgstr "%s: Ð¾Ñ\88ибка Ð¾Ñ\82кÑ\80Ñ\8bÑ\82иÑ\8f shadow-Ñ\84айла групп\n"
+msgstr "%s: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ð¾Ñ\82кÑ\80Ñ\8bÑ\82Ñ\8c Ñ\82еневой Ñ\84айл групп\n"
 
 #: src/useradd.c:909
-#, fuzzy, c-format
+#, c-format
 msgid "%s: uid %u is not unique\n"
-msgstr "%s: uid %d не уникален\n"
+msgstr "%s: uid %u уже существует\n"
 
 #: src/useradd.c:939
 #, c-format
 msgid "%s: can't get unique uid\n"
-msgstr "%s: не могу получить уникальный uid\n"
+msgstr "%s: не удалось выбрать уникальный uid\n"
 
 #: src/useradd.c:975
 #, c-format
@@ -1685,12 +1747,12 @@ msgstr "%s: неверная дата `%s'\n"
 #: src/useradd.c:1028
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
-msgstr "%s: для -e требуются shadow-пароли\n"
+msgstr "%s: для -e необходима поддержка теневых паролей\n"
 
 #: src/useradd.c:1044
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
-msgstr "%s: для -f требуются shadow-пароли\n"
+msgstr "%s: для -f необходима поддержка теневых паролей\n"
 
 #: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
 #: src/usermod.c:873
@@ -1701,128 +1763,131 @@ msgstr "%s: неверное поле `%s'\n"
 #: src/useradd.c:1122
 #, c-format
 msgid "%s: invalid shell `%s'\n"
-msgstr "%s: неверный шелл `%s'\n"
+msgstr "%s: неверная командная оболочка `%s'\n"
 
 #: src/useradd.c:1163
-#, fuzzy, c-format
+#, c-format
 msgid "%s: invalid user name '%s'\n"
-msgstr "%s: неверное имя пользователя `%s'\n"
+msgstr "%s: неверное имя пользователя '%s'\n"
 
 #: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
 #, c-format
 msgid "%s: cannot rewrite password file\n"
-msgstr "%s: не могу переписать файл паролей\n"
+msgstr "%s: не удалось перезаписать файл паролей\n"
 
 #: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
-msgstr "%s: не могу переписать shadow-файл паролей\n"
+msgstr "%s: не удалось перезаписать теневой файл паролей\n"
 
 #: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
 #, c-format
 msgid "%s: unable to lock password file\n"
-msgstr "%s: не могу заблокировать файл паролей\n"
+msgstr "%s: не удалось заблокировать файл паролей\n"
 
 #: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
 #, c-format
 msgid "%s: unable to open password file\n"
-msgstr "%s: не могу открыть файл паролей\n"
+msgstr "%s: не удалось открыть файл паролей\n"
 
 #: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
-msgstr "%s: не могу заблокировать shadow-файл паролей\n"
+msgstr "%s: не удалось заблокировать теневой файл паролей\n"
 
 #: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
 #, c-format
 msgid "%s: cannot open shadow password file\n"
-msgstr "%s: не могу открыть shadow-файл паролей\n"
+msgstr "%s: не удалось открыть теневой файл паролей\n"
 
 #: src/useradd.c:1354
 #, c-format
 msgid "%s: error adding new password entry\n"
-msgstr "%s: Ð¾Ñ\88ибка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ\8f Ð½Ð¾Ð²Ð¾Ð¹ Ð·Ð°Ð¿Ð¸Ñ\81и Ð¿Ð°Ñ\80олÑ\8f\n"
+msgstr "%s: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ\82Ñ\8c Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ð² Ñ\84айл Ð¿Ð°Ñ\80олей\n"
 
 #: src/useradd.c:1365 src/usermod.c:1063
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
-msgstr "%s: Ð¾Ñ\88ибка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ\8f Ð½Ð¾Ð²Ð¾Ð¹ shadow-запиÑ\81и Ð¿Ð°Ñ\80олÑ\8f\n"
+msgstr "%s: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ\82Ñ\8c Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ð² Ñ\82еневой Ñ\84айл Ð¿Ð°Ñ\80олей\n"
 
 #: src/useradd.c:1393
 #, c-format
 msgid "%s: cannot create directory %s\n"
-msgstr "%s: не могу создать каталог %s\n"
+msgstr "%s: не удалось создать каталог %s\n"
 
 #: src/useradd.c:1423
 #, c-format
 msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
 msgstr ""
+"Группа \"mail\" не существует, создаётся хранилище почты с правами 0600.\n"
 
 #: src/useradd.c:1446
-#, fuzzy, c-format
+#, c-format
 msgid "Can't create mail spool for user %s.\n"
-msgstr "%s: не могу обновить запись для пользователя %s\n"
+msgstr "Не удалось создать хранилище почты для пользователя %s.\n"
 
 #: src/useradd.c:1550 src/usermod.c:919
 #, c-format
 msgid "%s: user %s exists\n"
-msgstr "%s: Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8c %s Ñ\83же Ñ\81Ñ\83Ñ\89еÑ\81Ñ\82вÑ\83еÑ\82\n"
+msgstr "%s: пользователь %s существует\n"
 
 #: src/useradd.c:1564
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
 msgstr ""
+"%s: группа %s существует -- если вы хотите добавите в неё этого "
+"пользователя, используйте -g.\n"
 
 #: src/useradd.c:1602
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
-msgstr "%s: Ð¿Ñ\80едÑ\83пÑ\80еждение: CREATE_HOME не поддерживается, используйте -m.\n"
+msgstr "%s: Ð²Ð½Ð¸Ð¼Ð°ние: CREATE_HOME не поддерживается, используйте -m.\n"
 
 #: src/userdel.c:108
 #, c-format
 msgid "Usage: %s [-r] name\n"
-msgstr "Ð\97апÑ\83Ñ\81к: %s [-r] Ð¸Ð¼я\n"
+msgstr "Ð\98Ñ\81полÑ\8cзование: %s [-r] Ð¸Ð¼Ñ\8f Ð¿Ð¾Ð»Ñ\8cзоваÑ\82еля\n"
 
 #: src/userdel.c:160 src/userdel.c:221
 #, c-format
 msgid "%s: error updating group entry\n"
-msgstr "%s: Ð¾Ñ\88ибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ\8f Ð·Ð°Ð¿Ð¸Ñ\81и Ð³Ñ\80Ñ\83ппÑ\8b\n"
+msgstr "%s: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ\82Ñ\8c Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ð² Ñ\84айле Ð³Ñ\80Ñ\83пп\n"
 
 #: src/userdel.c:315
 #, c-format
 msgid "%s: cannot open group file\n"
-msgstr "%s: не могу открыть файл групп\n"
+msgstr "%s: не удалось открыть файл групп\n"
 
 #: src/userdel.c:325
 #, c-format
 msgid "%s: cannot open shadow group file\n"
-msgstr "%s: не могу открыть shadow-файл групп\n"
+msgstr "%s: не удалось открыть теневой файл групп\n"
 
 #: src/userdel.c:343
 #, c-format
 msgid "%s: error deleting password entry\n"
-msgstr "%s: Ð¾Ñ\88ибка Ñ\83далениÑ\8f Ð·Ð°Ð¿Ð¸Ñ\81и Ð¿Ð°Ñ\80олÑ\8f\n"
+msgstr "%s: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ñ\83далиÑ\82Ñ\8c Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ð¸Ð· Ñ\84айла Ð¿Ð°Ñ\80олей\n"
 
 #: src/userdel.c:347
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
-msgstr "%s: Ð¾Ñ\88ибка Ñ\83далениÑ\8f shadow-запиÑ\81и Ð¿Ð°Ñ\80олÑ\8f\n"
+msgstr "%s: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ñ\83далиÑ\82Ñ\8c Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ð¸Ð· Ñ\82еневого Ñ\84айла Ð¿Ð°Ñ\80олей\n"
 
 #: src/userdel.c:388
 #, c-format
 msgid "%s: user %s is currently logged in\n"
-msgstr "%s: Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8c %s Ð² Ð½Ð°Ñ\81Ñ\82оÑ\8fÑ\89ее Ð²Ñ\80емя в системе\n"
+msgstr "%s: Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8c %s Ð½Ð°Ñ\85одиÑ\82Ñ\81я в системе\n"
 
 #: src/userdel.c:496 src/userdel.c:641
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
-msgstr "%s: %s не принадлежит %s, не удаляю\n"
+msgstr "%s: %s не принадлежит %s, удаление не выполнено\n"
 
 #: src/userdel.c:502
 #, c-format
 msgid "%s: warning: can't remove "
-msgstr "%s: Ð¿Ñ\80едÑ\83пÑ\80еждение: Ð½Ðµ Ð¼Ð¾Ð³Ñ\83 удалить "
+msgstr "%s: Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c удалить "
 
 #: src/userdel.c:592 src/usermod.c:722
 #, c-format
@@ -1832,110 +1897,114 @@ msgstr "%s: пользователь %s не существует\n"
 #: src/userdel.c:607 src/usermod.c:738
 #, c-format
 msgid "%s: user %s is a NIS user\n"
-msgstr "%s: пользователь %s - пользователь NIS\n"
+msgstr "%s: пользователь %s является пользователем NIS\n"
 
 #: src/userdel.c:664
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
-msgstr "%s: не удаляю каталог %s (предполагалось удаление каталога юзера %s)\n"
+msgstr ""
+"%s: каталог %s не удалён (является домашним каталогом пользователя %s)\n"
 
 #: src/userdel.c:678
 #, c-format
 msgid "%s: error removing directory %s\n"
-msgstr "%s: Ð¾Ñ\88ибка Ñ\83далениÑ\8f ÐºÐ°Ñ\82алога %s\n"
+msgstr "%s: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ñ\83далиÑ\82Ñ\8c ÐºÐ°Ñ\82алог %s\n"
 
 #: src/usermod.c:289
 #, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
-msgstr "Запуск: %s\t[-u uid [-o]] [-g группа] [-G группа,...] \n"
+msgstr ""
+"Использование: %s\t[-u uid [-o]] [-g основная группа] [-G группа,...] \n"
 
 #: src/usermod.c:293
 #, c-format
 msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
-msgstr "\t\t[-d дом. [-m]] [-s шелл] [-c коммент.t] [-l новое_имя]\n"
+msgstr ""
+"\t\t[-d домашний каталог [-m]] [-s командная оболочка] [-c комментарий] [-l "
+"новое имя пользователя]\n"
 
 #: src/usermod.c:296
 #, c-format
 msgid "[-f inactive] [-e expire] "
-msgstr "[-f Ð½ÐµÐ°ÐºÑ\82ивн.] [-e Ð¸Ñ\81Ñ\82екаеÑ\82] "
+msgstr "[-f Ð´ÐµÐ°ÐºÑ\82иваÑ\86иÑ\8f] [-e Ñ\81Ñ\80ок Ð´ÐµÐ¹Ñ\81Ñ\82виÑ\8f Ñ\83Ñ\87Ñ\91Ñ\82ной Ð·Ð°Ð¿Ð¸Ñ\81и ] "
 
 #: src/usermod.c:298
 #, c-format
 msgid "[-p passwd] [-L|-U] name\n"
-msgstr "[-p пароль] [-L|-U] имя\n"
+msgstr "[-p пароль] [-L|-U] имя пользователя\n"
 
 #: src/usermod.c:476
 #, c-format
 msgid "%s: out of memory in update_group\n"
-msgstr "%s: нехватка памяти в update_group\n"
+msgstr "%s: недостаточно памяти в update_group\n"
 
 #: src/usermod.c:585
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
-msgstr "%s: нехватка памяти в update_gshadow\n"
+msgstr "%s: недостаточно памяти в update_gshadow\n"
 
 #: src/usermod.c:896
 #, c-format
 msgid "%s: no flags given\n"
-msgstr "%s: Ð¾Ð¿Ñ\86ии Ð½Ðµ Ð·Ð°Ð´Ð°Ð½Ñ\8b\n"
+msgstr "%s: Ð½Ð° Ð·Ð°Ð´Ð°Ð½Ñ\8b ÐºÐ»Ñ\8eÑ\87и\n"
 
 #: src/usermod.c:903
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
-msgstr "%s: для -e и -f требуются shadow-пароли\n"
+msgstr "%s: для -e и -f требуется поддержка теневых файлов паролей\n"
 
 #: src/usermod.c:924
-#, fuzzy, c-format
+#, c-format
 msgid "%s: uid %lu is not unique\n"
-msgstr "%s: uid %ld не уникален\n"
+msgstr "%s: uid %lu уже существует\n"
 
 #: src/usermod.c:1047
 #, c-format
 msgid "%s: error changing password entry\n"
-msgstr "%s: Ð¾Ñ\88ибка Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ\8f Ð·Ð°Ð¿Ð¸Ñ\81и Ð¿Ð°Ñ\80олÑ\8f\n"
+msgstr "%s: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ\82Ñ\8c Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ð² Ñ\84айле Ð¿Ð°Ñ\80олей\n"
 
 #: src/usermod.c:1053
 #, c-format
 msgid "%s: error removing password entry\n"
-msgstr "%s: Ð¾Ñ\88ибка Ñ\83далениÑ\8f Ð·Ð°Ð¿Ð¸Ñ\81и Ð¿Ð°Ñ\80олÑ\8f\n"
+msgstr "%s: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ñ\83далиÑ\82Ñ\8c Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ð¸Ð· Ñ\84айла Ð¿Ð°Ñ\80олей\n"
 
 #: src/usermod.c:1070
 #, c-format
 msgid "%s: error removing shadow password entry\n"
-msgstr "%s: Ð¾Ñ\88ибка Ñ\83далениÑ\8f shadow-запиÑ\81и Ð¿Ð°Ñ\80олÑ\8f\n"
+msgstr "%s: Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ñ\83далиÑ\82Ñ\8c Ð·Ð°Ð¿Ð¸Ñ\81Ñ\8c Ð¸Ð· Ñ\82еневого Ñ\84айла Ð¿Ð°Ñ\80олей\n"
 
 #: src/usermod.c:1098
 #, c-format
 msgid "%s: directory %s exists\n"
-msgstr "%s: ÐºÐ°Ñ\82алог %s Ñ\83же Ñ\81Ñ\83Ñ\89еÑ\81Ñ\82вÑ\83еÑ\82\n"
+msgstr "%s: каталог %s существует\n"
 
 #: src/usermod.c:1106
 #, c-format
 msgid "%s: can't create %s\n"
-msgstr "%s: не могу создать %s\n"
+msgstr "%s: не удалось создать %s\n"
 
 #: src/usermod.c:1111
 #, c-format
 msgid "%s: can't chown %s\n"
-msgstr "%s: не могу сделать chown %s\n"
+msgstr "%s: не удалось сменить владельца %s\n"
 
 #: src/usermod.c:1128
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
-msgstr "%s: не могу переименовать каталог %s в %s\n"
+msgstr "%s: не удалось переименовать каталог %s в %s\n"
 
 #: src/usermod.c:1223
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
-msgstr "%s: Ð¿Ñ\80едÑ\83пÑ\80еждение %s не принадлежит %s\n"
+msgstr "%s: Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ: %s не принадлежит %s\n"
 
 #: src/usermod.c:1229
 msgid "failed to change mailbox owner"
-msgstr "неудача изменения принадлежности почтового ящика"
+msgstr "не удалось сменить владельца почтового ящика"
 
 #: src/usermod.c:1237
 msgid "failed to rename mailbox"
-msgstr "неудача переименования почтового ящика"
+msgstr "не удалось переименовать почтовый ящик"
 
 #: src/vipw.c:104
 #, c-format
@@ -1944,20 +2013,20 @@ msgid ""
 "%s: %s is unchanged\n"
 msgstr ""
 "\n"
-"%s: %s Ð\9dÐ\95 Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¾\n"
+"%s: %s Ð½Ðµ Ð±Ñ\8bл Ð¸Ð·Ð¼ÐµÐ½Ñ\91н\n"
 
 #: src/vipw.c:131
 msgid "Couldn't lock file"
-msgstr "Не могу заблокировать файл"
+msgstr "Не удалось заблокировать файл"
 
 #: src/vipw.c:140
 msgid "Couldn't make backup"
-msgstr "Не могу создать резервную копию"
+msgstr "Не удалось создать резервную копию"
 
 #: src/vipw.c:196
 #, c-format
 msgid "%s: can't restore %s: %s (your changes are in %s)\n"
-msgstr "%s: не могу восстановить %s: %s (ваши изменения в %s)\n"
+msgstr "%s: не удалось восстановить %s: %s (ваши изменения в %s)\n"
 
 #: src/vipw.c:234
 #, c-format
@@ -1966,6 +2035,6 @@ msgid ""
 "`vipw' edits /etc/passwd        `vipw -s' edits /etc/shadow\n"
 "`vigr' edits /etc/group         `vigr -s' edits /etc/gshadow\n"
 msgstr ""
-"Ð\97апÑ\83Ñ\81к:\n"
-"`vipw' правит /etc/passwd        `vipw -s' правит /etc/shadow\n"
-"`vigr' правит /etc/group         `vigr -s' правит /etc/gshadow\n"
+"Ð\98Ñ\81полÑ\8cзование:\n"
+"`vipw' редактирует /etc/passwd        `vipw -s' редактирует /etc/shadow\n"
+"`vigr' редактирует /etc/group         `vigr -s' редактирует /etc/gshadow\n"
index 507fcde7fcaf49c9adae0e53e42db388547752b5..59fd713176ad0b1c0ff4cc077f9d369b5771bb37 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -156,12 +156,12 @@ msgstr ""
 msgid "malloc(%d) failed\n"
 msgstr ""
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr ""
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1028,7 +1028,7 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
@@ -1207,7 +1207,7 @@ msgstr ""
 msgid "Sorry.\n"
 msgstr ""
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr ""
index 5b0157f71755832a7ae913b3f17397df29ecec32..ded536398eb8de019998a6409bcefca7b67c247a 100644 (file)
Binary files a/po/sk.gmo and b/po/sk.gmo differ
index be2adb4951de9c0642930f0ded0d94a9749d6465..90fafa5c3fb0dfc9d6f613f04c8499bd7ecc4c47 100644 (file)
--- a/po/sk.po
+++ b/po/sk.po
@@ -4,7 +4,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2005-04-25 11:14+0200\n"
 "Last-Translator: Peter KLFMANiK Mann <Peter.Mann@tuke.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -159,12 +159,12 @@ msgstr "Koreňový adresár sa nedá zmeniť na \"%s\".\n"
 msgid "malloc(%d) failed\n"
 msgstr "volanie malloc(%d) zlyhalo\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "Nemôžem vyhradiť dostatok miesta pre konfiguračné údaje.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1063,14 +1063,14 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
 "Použitie: lastlog [voľby]\n"
 "\n"
 "Voľby:\n"
-"  -u, --login LOGIN\tvypíše posledné prihlásenia používateľa uvedeného ako "
+"  -u, --user LOGIN\tvypíše posledné prihlásenia používateľa uvedeného ako "
 "LOGIN\n"
 "  -h, --help\t\tzobrazí túto nápovedu a ukončí sa\n"
 "  -t, --time DAYS\tvypíše posledné prihlásenia nie staršie ako DAYS dní\n"
@@ -1257,7 +1257,7 @@ msgstr "gid %lu je neznáme\n"
 msgid "Sorry.\n"
 msgstr "Ľutujem.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "príliš mnoho skupín\n"
index 6ab2ae8dc85d4f2a2b087eb25681236727e9ecf8..67af95fde28b4927d621e3f0999c7bd7f25e5af9 100644 (file)
Binary files a/po/sq.gmo and b/po/sq.gmo differ
index 66f95ed567f2ca62433073193616b695db301f7c..83f4498c0feba938a8fbaa60f90aef301440690d 100644 (file)
--- a/po/sq.po
+++ b/po/sq.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2004-11-20 03:28+0100\n"
 "Last-Translator: Elian Myftiu <pinguini AT fastwebnet DOT it>\n"
 "Language-Team: Albanian <gnome-albanian-perkthyesit@lists.sourceforge.net>\n"
@@ -156,12 +156,12 @@ msgstr ""
 msgid "malloc(%d) failed\n"
 msgstr ""
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr ""
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1028,7 +1028,7 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
@@ -1207,7 +1207,7 @@ msgstr ""
 msgid "Sorry.\n"
 msgstr ""
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr ""
index 4bb48a2337b05b3eaac6f8d0fba0669f9e9b2b8d..1439a3b048229be2a8111c891f0fe1710196b458 100644 (file)
Binary files a/po/sv.gmo and b/po/sv.gmo differ
index 9e9227e7447f918c0211766b851a1d068e13d825..0a7c3cafa0932ac7078b9f7e610225a995673138 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,66 +1,67 @@
 # Swedish messages for Shadow Copyright (C) 1999 Free Software Foundation,
-# Inc. Kristoffer Brånemyr <ztion@swipnet.se>, 1999.
+# Inc. Kristoffer BrÃ¥nemyr <ztion@swipnet.se>, 1999.
+# Per Olofsson <pelle@dsv.su.se>, 2004.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: shadow 19990709\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
-"PO-Revision-Date: 1999-08-16 21:20+0100\n"
-"Last-Translator: Kristoffer Brånemyr <ztion@swipnet.se>\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"PO-Revision-Date: 2004-12-14 18:21+0100\n"
+"Last-Translator: Per Olofsson <pelle@dsv.su.se>\n"
 "Language-Team: sv <sv@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
 
 #: libmisc/addgrps.c:56
 #, c-format
 msgid "Warning: unknown group %s\n"
-msgstr "Varning: okänd grupp %s\n"
+msgstr "Varning: okÃ\83¤nd grupp %s\n"
 
 #: libmisc/addgrps.c:67
 #, c-format
 msgid "Warning: too many groups\n"
-msgstr "Varning: för mÃ¥nga grupper\n"
+msgstr "Varning: fÃ\83¶r mÃ\83Â¥nga grupper\n"
 
 #: libmisc/age.c:72
 #, c-format
 msgid "Your password has expired."
-msgstr "Ditt lösenord har upphört"
+msgstr "Ditt lÃ\83¶senord har upphÃ\83¶rt"
 
 #: libmisc/age.c:75
 #, c-format
 msgid "Your password is inactive."
-msgstr "Ditt lösenord Ã¤r inaktivt"
+msgstr "Ditt lÃ\83¶senord Ã\83¤r inaktivt"
 
 #: libmisc/age.c:78
 #, c-format
 msgid "Your login has expired."
-msgstr "Din användare har upphört."
+msgstr "Din anvÃ\83¤ndare har upphÃ\83¶rt."
 
 #: libmisc/age.c:90
 msgid "  Contact the system administrator.\n"
-msgstr "  Kontakta systemoperatören.\n"
+msgstr "  Kontakta systemoperatÃ\83¶ren.\n"
 
 #: libmisc/age.c:93
 msgid "  Choose a new password.\n"
-msgstr "  Välj ett nytt lösenord.\n"
+msgstr "  VÃ\83¤lj ett nytt lÃ\83¶senord.\n"
 
 #: libmisc/age.c:169
 #, c-format
 msgid "Your password will expire in %ld days.\n"
-msgstr "Ditt lösenord upphör om %ld dagar.\n"
+msgstr "Ditt lÃ\83¶senord upphÃ\83¶r om %ld dagar.\n"
 
 #: libmisc/age.c:172
 #, c-format
 msgid "Your password will expire tomorrow.\n"
-msgstr "Ditt lösenord upphör imorgon.\n"
+msgstr "Ditt lÃ\83¶senord upphÃ\83¶r imorgon.\n"
 
 #: libmisc/age.c:174
 #, c-format
 msgid "Your password will expire today.\n"
-msgstr "Ditt lösenord upphör idag.\n"
+msgstr "Ditt lÃ\83¶senord upphÃ\83¶r idag.\n"
 
 #: libmisc/chowntty.c:106
 #, c-format
@@ -70,12 +71,12 @@ msgstr "Kunde inte byta tty %s"
 #: libmisc/env.c:155
 #, c-format
 msgid "Environment overflow\n"
-msgstr "Miljön Ã¶verflödades\n"
+msgstr "MiljÃ\83¶n Ã\83¶verflÃ\83¶dades\n"
 
 #: libmisc/env.c:194
 #, c-format
 msgid "You may not change $%s\n"
-msgstr "Du fÃ¥r inte Ã¤ndra $%s\n"
+msgstr "Du fÃ\83Â¥r inte Ã\83¤ndra $%s\n"
 
 #: libmisc/failure.c:229
 #, fuzzy, c-format
@@ -85,13 +86,13 @@ msgid ""
 msgid_plural ""
 "%d failures since last login.\n"
 "Last was %s on %s.\n"
-msgstr[0] "%d %s sedan förra inloggningen.  Den sista var %s pÃ¥ %s.\n"
-msgstr[1] "%d %s sedan förra inloggningen.  Den sista var %s pÃ¥ %s.\n"
+msgstr[0] "%d fel sedan fÃ\83¶rra inloggningen. Den senaste var %s pÃ\83Â¥ %s.\n"
+msgstr[1] "%d fel sedan fÃ\83¶rra inloggningen. Den senaste var %s pÃ\83Â¥ %s.\n"
 
 #: libmisc/limits.c:397
 #, c-format
 msgid "Too many logins.\n"
-msgstr "För mÃ¥nga inloggningar.\n"
+msgstr "FÃ\83¶r mÃ\83Â¥nga inloggningar.\n"
 
 #: libmisc/mail.c:61 libmisc/mail.c:76
 msgid "You have new mail."
@@ -108,7 +109,7 @@ msgstr "Du har post."
 #: libmisc/obscure.c:273 src/passwd.c:181
 #, c-format
 msgid "Bad password: %s.  "
-msgstr "Felaktigt lösenord: %s.  "
+msgstr "Felaktigt lÃ\83¶senord: %s.  "
 
 #: libmisc/pam_pass.c:38
 #, c-format
@@ -153,67 +154,67 @@ msgstr "Kan inte byta rotkatalog till \"%s\"\n"
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) misslyckades\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
-msgstr "Kunde inte allokera rum för konfigureringsinformation.\n"
+msgstr "Kunde inte allokera utrymme fÃ\83¶r konfigureringsinformation.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
-msgstr "konfigurerings fel - okänt object \"%s\" (meddela systemoperatören)\n"
+msgstr "konfigurationsfel - okÃ\83¤nt object \"%s\" (meddela systemoperatÃ\83¶ren)\n"
 
 #: lib/pwauth.c:45 src/newgrp.c:341
 msgid "Password: "
-msgstr "Lösenord: "
+msgstr "LÃ\83¶senord: "
 
 #: lib/pwauth.c:47
 #, c-format
 msgid "%s's Password: "
-msgstr "Lösenord för %s: "
+msgstr "LÃ\83¶senord fÃ\83¶r %s: "
 
 #: src/chage.c:112
-#, c-format
+#, fuzzy, c-format
 msgid ""
 "Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
 "             [-I inactive] [-E expire] [-d last_day] user\n"
 msgstr ""
-"Användning: chage [-l] [-m min_dagar] [-M max_dagar] [-W varna]\n"
-"                  [-I inaktiv] [-E utgÃ¥ng] [-d senaste_dag] användare\n"
+"AnvÃ\83¤ndning: %s [-l] [-m min_dagar] [-M max_dagar] [-W varna]\n"
+"\t[-I inaktiv] [-E utgÃ\83Â¥ng] [-d senaste_dag] anvÃ\83¤ndare\n"
 
 #: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
 #, c-format
 msgid "Enter the new value, or press ENTER for the default\n"
-msgstr "Skriv in det nya värdet, eller tryck ENTER för standardvärdet\n"
+msgstr "Skriv in det nya vÃ\83¤rdet, eller tryck ENTER fÃ\83¶r standardvÃ\83¤rdet\n"
 
 #: src/chage.c:149
 msgid "Minimum Password Age"
-msgstr "Minsta lösenordsÃ¥lder"
+msgstr "Minsta lÃ\83¶senordsÃ\83Â¥lder"
 
 #: src/chage.c:155
 msgid "Maximum Password Age"
-msgstr "Högsta lösenordsÃ¥lder"
+msgstr "HÃ\83¶gsta lÃ\83¶senordsÃ\83Â¥lder"
 
 #: src/chage.c:162
 msgid "Last Password Change (YYYY-MM-DD)"
-msgstr "Senaste lösenordsändring (Ã\85Ã\85Ã\85Ã\85-MM-DD)"
+msgstr "Senaste lÃ\83¶senordsÃ\83¤ndring (Ã\83Â\85Ã\83Â\85Ã\83Â\85Ã\83Â\85-MM-DD)"
 
 #: src/chage.c:170
 msgid "Password Expiration Warning"
-msgstr "Lösenords upphörningsvarning"
+msgstr "LÃ\83¶senords upphÃ\83¶rningsvarning"
 
 #: src/chage.c:176
 msgid "Password Inactive"
-msgstr "Lösenord inaktivt"
+msgstr "LÃ\83¶senord inaktivt"
 
 #: src/chage.c:184
 msgid "Account Expiration Date (YYYY-MM-DD)"
-msgstr "Kontot upphör (Ã\85Ã\85Ã\85Ã\85-MM-DD)"
+msgstr "Kontot upphÃ\83¶r (Ã\83Â\85Ã\83Â\85Ã\83Â\85Ã\83Â\85-MM-DD)"
 
 #: src/chage.c:231
 #, fuzzy, c-format
 msgid "Last password change\t\t\t\t\t: "
-msgstr "Senaste lösenordsändring (Ã\85Ã\85Ã\85Ã\85-MM-DD)"
+msgstr "Senaste lÃ\83¶senordsÃ\83¤ndring (Ã\83Â\85Ã\83Â\85Ã\83Â\85Ã\83Â\85-MM-DD)"
 
 #: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
 #, fuzzy, c-format
@@ -223,17 +224,17 @@ msgstr "Aldrig\n"
 #: src/chage.c:244
 #, fuzzy, c-format
 msgid "Password expires\t\t\t\t\t: "
-msgstr "Lösenordet upphör:\t"
+msgstr "LÃ\83¶senordet upphÃ\83¶r:\t"
 
 #: src/chage.c:260
 #, fuzzy, c-format
 msgid "Password inactive\t\t\t\t\t: "
-msgstr "Lösenord inaktiv:\t"
+msgstr "LÃ\83¶senord inaktiv:\t"
 
 #: src/chage.c:274
 #, fuzzy, c-format
 msgid "Account expires\t\t\t\t\t\t: "
-msgstr "Lösenordet upphör:\t"
+msgstr "LÃ\83¶senordet upphÃ\83¶r:\t"
 
 #: src/chage.c:290
 #, c-format
@@ -241,9 +242,9 @@ msgid "Minimum number of days between password change\t\t: %ld\n"
 msgstr ""
 
 #: src/chage.c:292
-#, c-format
+#, fuzzy, c-format
 msgid "Maximum number of days between password change\t\t: %ld\n"
-msgstr ""
+msgstr "Maximala antalet försök Ã¶verskridna (%d)\n"
 
 #: src/chage.c:294
 #, c-format
@@ -260,71 +261,71 @@ msgstr "%s: inkludera inte \"l\" tillsammands med andra flaggor\n"
 #: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
 #, fuzzy, c-format
 msgid "%s: permission denied.\n"
-msgstr "%s: tillåtelse nekas\n"
+msgstr "%s: tillÃ\83Â¥telse nekas\n"
 
 #: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
 #: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
 #: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
-#, fuzzy, c-format
+#, c-format
 msgid "%s: PAM authentication failed\n"
-msgstr "%s: fel under tillägning av metod för äkthetsbevisning\n"
+msgstr "%s: PAM-autentisering misslyckades\n"
 
 #: src/chage.c:494 src/chpasswd.c:193
 #, c-format
 msgid "%s: can't open password file\n"
-msgstr "%s: kan inte Ã¶ppna lösenordsfilen\n"
+msgstr "%s: kan inte Ã\83¶ppna lÃ\83¶senordsfilen\n"
 
 #: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
 #: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
 #, c-format
 msgid "%s: unknown user %s\n"
-msgstr "%s: okänd användare %s\n"
+msgstr "%s: okÃ\83¤nd anvÃ\83¤ndare %s\n"
 
 #: src/chage.c:519
 #, c-format
 msgid "%s: can't lock shadow password file"
-msgstr "%s: kan inte lÃ¥sa skugglösenordsfilen"
+msgstr "%s: kan inte lÃ\83Â¥sa skugglÃ\83¶senordsfilen"
 
 #: src/chage.c:527
 #, c-format
 msgid "%s: can't open shadow password file"
-msgstr "%s: kan inte Ã¶ppna skugglösenordsfilen"
+msgstr "%s: kan inte Ã\83¶ppna skugglÃ\83¶senordsfilen"
 
 #: src/chage.c:587
 #, c-format
 msgid "Changing the aging information for %s\n"
-msgstr "Ã\84ndrar Ã¥ldringsinformation för %s\n"
+msgstr "Ã\83Â\84ndrar Ã\83Â¥ldringsinformation fÃ\83¶r %s\n"
 
 #: src/chage.c:589
 #, c-format
 msgid "%s: error changing fields\n"
-msgstr "%s: fel uppstod under byte av fält\n"
+msgstr "%s: fel uppstod under byte av fÃ\83¤lt\n"
 
 #: src/chage.c:613 src/pwunconv.c:137
 #, c-format
 msgid "%s: can't update password file\n"
-msgstr "%s: kan inte uppdatera lösenordsfilen\n"
+msgstr "%s: kan inte uppdatera lÃ\83¶senordsfilen\n"
 
 #: src/chage.c:636 src/pwunconv.c:132
 #, c-format
 msgid "%s: can't update shadow password file\n"
-msgstr "%s: kan inte uppdatera skugglösenordsfilen\n"
+msgstr "%s: kan inte uppdatera skugglÃ\83¶senordsfilen\n"
 
 #: src/chage.c:649
 #, c-format
 msgid "%s: can't rewrite shadow password file\n"
-msgstr "%s: kan inte skriva om skugglösenordsfilen\n"
+msgstr "%s: kan inte skriva om skugglÃ\83¶senordsfilen\n"
 
 #: src/chage.c:693
 #, c-format
 msgid "%s: can't rewrite password file\n"
-msgstr "%s: kan inte skriva om lösenordsfilen\n"
+msgstr "%s: kan inte skriva om lÃ\83¶senordsfilen\n"
 
 #: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
 #: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
-#, fuzzy, c-format
+#, c-format
 msgid "%s: PAM chauthtok failed\n"
-msgstr "%s: kan inte låsa upp filen\n"
+msgstr "%s: PAM-funktionen chauthtok misslyckades\n"
 
 #: src/chfn.c:84
 #, c-format
@@ -332,14 +333,14 @@ msgid ""
 "Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
 "\t[-h home_ph] [-o other] [user]\n"
 msgstr ""
-"Användning: %s [-f hela_namnet] [-r rumsnummer] [-w arbetstele]\n"
-"\t[-h hemtele] [-o Ã¶vrigt] [användare]\n"
+"%s [-f hela_namnet] [-r rumsnummer] [-w arbetstele]\n"
+"\t[-h hemtele] [-o Ã\83¶vrigt] [anvÃ\83¤ndare]\n"
 
 #: src/chfn.c:89
 #, c-format
 msgid "Usage: %s [-f full_name] [-r room_no] [-w work_ph] [-h home_ph]\n"
 msgstr ""
-"Användning: %s [-f hela_namnet] [-r rumsnummer] [-w arbetstele] [-h "
+"AnvÃ\83¤ndning: %s [-f hela_namnet] [-r rumsnummer] [-w arbetstele] [-h "
 "hemtele]\n"
 
 #: src/chfn.c:142
@@ -365,32 +366,32 @@ msgstr "Hemtelefonnummer"
 
 #: src/chfn.c:162
 msgid "Other"
-msgstr "Övrigt"
+msgstr "Ã\83Â\96vrigt"
 
 #: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
 #, c-format
 msgid "%s: Cannot determine your user name.\n"
-msgstr "%s: Kan inte avgöra ditt användarnamn.\n"
+msgstr "%s: Kan inte avgÃ\83¶ra ditt anvÃ\83¤ndarnamn.\n"
 
 #: src/chfn.c:350 src/chsh.c:206
 #, c-format
 msgid "%s: cannot change user `%s' on NIS client.\n"
-msgstr "%s: kan inte Ã¤ndra användare \"%s\" pÃ¥ NIS-klienten.\n"
+msgstr "%s: kan inte Ã\83¤ndra anvÃ\83¤ndare \"%s\" pÃ\83Â¥ NIS-klienten.\n"
 
 #: src/chfn.c:357 src/chsh.c:213
 #, c-format
 msgid "%s: `%s' is the NIS master for this client.\n"
-msgstr "%s: \"%s\" Ã¤r NIS-mästare för denna klient.\n"
+msgstr "%s: \"%s\" Ã\83¤r NIS-mÃ\83¤stare fÃ\83¶r denna klient.\n"
 
 #: src/chfn.c:382
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Permission denied.\n"
-msgstr "%s: tillåtelse nekas\n"
+msgstr "%s: TillÃ¥telse nekas.\n"
 
 #: src/chfn.c:446
 #, c-format
 msgid "Changing the user information for %s\n"
-msgstr "Ã\84ndrar användarinformation för %s\n"
+msgstr "Ã\83Â\84ndrar anvÃ\83¤ndarinformation fÃ\83¶r %s\n"
 
 #: src/chfn.c:454
 #, c-format
@@ -415,27 +416,27 @@ msgstr "%s: felaktigt hemtelefonnummer: \"%s\"\n"
 #: src/chfn.c:478
 #, c-format
 msgid "%s: \"%s\" contains illegal characters\n"
-msgstr "%s: \"%s\" innehÃ¥ller otillÃ¥tna tecken\n"
+msgstr "%s: \"%s\" innehÃ\83Â¥ller otillÃ\83Â¥tna tecken\n"
 
 #: src/chfn.c:491
 #, c-format
 msgid "%s: fields too long\n"
-msgstr "%s: för lÃ¥nga fält\n"
+msgstr "%s: fÃ\83¶r lÃ\83Â¥nga fÃ\83¤lt\n"
 
 #: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
 #, c-format
 msgid "Cannot change ID to root.\n"
-msgstr "Kan inte ändra ID till root.\n"
+msgstr "Kan inte Ã\83¤ndra ID till root.\n"
 
 #: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
 #, c-format
 msgid "Cannot lock the password file; try again later.\n"
-msgstr "Kan inte lÃ¥sa lösenordsfilen; försök igen senare.\n"
+msgstr "Kan inte lÃ\83Â¥sa lÃ\83¶senordsfilen; fÃ\83¶rsÃ\83¶k igen senare.\n"
 
 #: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
 #, c-format
 msgid "Cannot open the password file.\n"
-msgstr "Kan inte Ã¶ppna lösenordsfilen.\n"
+msgstr "Kan inte Ã\83¶ppna lÃ\83¶senordsfilen.\n"
 
 #: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
 #, c-format
@@ -445,17 +446,17 @@ msgstr "%s: %s hittades inte i /etc/passwd\n"
 #: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
 #, c-format
 msgid "Error updating the password entry.\n"
-msgstr "Fel under uppdatering av lösenordsnoteringen.\n"
+msgstr "Fel under uppdatering av lÃ\83¶senordsnoteringen.\n"
 
 #: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
 #, c-format
 msgid "Cannot commit password file changes.\n"
-msgstr "Kan inte genomföra Ã¤ndringar i lösenordsfilen.\n"
+msgstr "Kan inte genomfÃ\83¶ra Ã\83¤ndringar i lÃ\83¶senordsfilen.\n"
 
 #: src/chfn.c:578 src/chsh.c:394
 #, c-format
 msgid "Cannot unlock the password file.\n"
-msgstr "Kan inte lÃ¥sa upp lösenordsfilen.\n"
+msgstr "Kan inte lÃ\83Â¥sa upp lÃ\83¶senordsfilen.\n"
 
 #: src/chpasswd.c:71
 #, c-format
@@ -468,47 +469,54 @@ msgid ""
 "  -m, --md5\t\tuse MD5 encryption instead DES when the supplied\n"
 "\t\t\tpasswords are not encrypted\n"
 msgstr ""
+"Användning: chpasswd [flaggor]\n"
+"\n"
+"Flaggor:\n"
+"  -e, --encrypted\tangivna lösenord Ã¤r krypterade\n"
+"  -h, --help\t\tvisa det här meddelandet och avsluta\n"
+"  -m, --md5\t\tanvänd MD5-kryptering i stället för DES när\n"
+"\t\t\tde angivna lösenorden inte Ã¤r krypterade\n"
 
 #: src/chpasswd.c:189
 #, c-format
 msgid "%s: can't lock password file\n"
-msgstr "%s: kan inte lÃ¥sa lösenordsfilen\n"
+msgstr "%s: kan inte lÃ\83Â¥sa lÃ\83¶senordsfilen\n"
 
 #: src/chpasswd.c:201 src/pwconv.c:95
 #, c-format
 msgid "%s: can't lock shadow file\n"
-msgstr "%s: kan inte låsa skuggfilen\n"
+msgstr "%s: kan inte lÃ\83Â¥sa skuggfilen\n"
 
 #: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
 #: src/pwunconv.c:94
 #, c-format
 msgid "%s: can't open shadow file\n"
-msgstr "%s: kan inte öppna skuggfilen\n"
+msgstr "%s: kan inte Ã\83¶ppna skuggfilen\n"
 
 #: src/chpasswd.c:230 src/newusers.c:434
 #, c-format
 msgid "%s: line %d: line too long\n"
-msgstr "%s: rad %d: för lÃ¥ng rad\n"
+msgstr "%s: rad %d: fÃ\83¶r lÃ\83Â¥ng rad\n"
 
 #: src/chpasswd.c:250
 #, c-format
 msgid "%s: line %d: missing new password\n"
-msgstr "%s: rad %d: det nya lösenordet saknas\n"
+msgstr "%s: rad %d: det nya lÃ\83¶senordet saknas\n"
 
 #: src/chpasswd.c:274
 #, c-format
 msgid "%s: line %d: unknown user %s\n"
-msgstr "%s: rad %d: okänd användare %s\n"
+msgstr "%s: rad %d: okÃ\83¤nd anvÃ\83¤ndare %s\n"
 
 #: src/chpasswd.c:320
 #, c-format
 msgid "%s: line %d: cannot update password entry\n"
-msgstr "%s: rad %d: kan inte uppdatera lösenordsnoteringen\n"
+msgstr "%s: rad %d: kan inte uppdatera lÃ\83¶senordsnoteringen\n"
 
 #: src/chpasswd.c:337 src/newusers.c:561
 #, c-format
 msgid "%s: error detected, changes ignored\n"
-msgstr "%s: fel upptäcktes, Ã¤ndringarna ignorerades\n"
+msgstr "%s: fel upptÃ\83¤cktes, Ã\83¤ndringarna ignorerades\n"
 
 #: src/chpasswd.c:349
 #, c-format
@@ -518,12 +526,12 @@ msgstr "%s: fel under uppdatering av skuggfilen\n"
 #: src/chpasswd.c:357
 #, c-format
 msgid "%s: error updating password file\n"
-msgstr "%s: fel under uppdatering av lösenordsfilen\n"
+msgstr "%s: fel under uppdatering av lÃ\83¶senordsfilen\n"
 
 #: src/chsh.c:76
 #, c-format
 msgid "Usage: %s [-s shell] [name]\n"
-msgstr "Användning: %s [-s skal] [namn]\n"
+msgstr "AnvÃ\83¤ndning: %s [-s skal] [namn]\n"
 
 #: src/chsh.c:90
 msgid "Login Shell"
@@ -532,12 +540,12 @@ msgstr "Inloggningsskal"
 #: src/chsh.c:229 src/chsh.c:242 src/chsh.c:256
 #, c-format
 msgid "You may not change the shell for %s.\n"
-msgstr "Du fÃ¥r inte Ã¤ndra skal Ã¥t %s.\n"
+msgstr "Du fÃ\83Â¥r inte Ã\83¤ndra skal Ã\83Â¥t %s.\n"
 
 #: src/chsh.c:288
 #, c-format
 msgid "Changing the login shell for %s\n"
-msgstr "Ã\84ndrar inloggningsskal Ã¥t %s\n"
+msgstr "Ã\83Â\84ndrar inloggningsskal Ã\83Â¥t %s\n"
 
 #: src/chsh.c:300
 #, c-format
@@ -547,22 +555,22 @@ msgstr "%s: Felaktig notering: %s\n"
 #: src/chsh.c:305
 #, c-format
 msgid "%s is an invalid shell.\n"
-msgstr "%s är ett felaktigt skal.\n"
+msgstr "%s Ã\83¤r ett felaktigt skal.\n"
 
 #: src/expiry.c:59
 #, c-format
 msgid "Usage: expiry {-f|-c}\n"
-msgstr "Användning: expiry {-f|-c}\n"
+msgstr "AnvÃ\83¤ndning: expiry {-f|-c}\n"
 
 #: src/expiry.c:112
 #, c-format
 msgid "%s: WARNING!  Must be set-UID root!\n"
-msgstr "%s: VARNING!  Måste vara set-UID root!\n"
+msgstr "%s: VARNING!  MÃ\83Â¥ste vara set-UID root!\n"
 
 #: src/expiry.c:122
 #, c-format
 msgid "%s: unknown user\n"
-msgstr "%s: okänd användare\n"
+msgstr "%s: okÃ\83¤nd anvÃ\83¤ndare\n"
 
 #: src/faillog.c:59
 #, c-format
@@ -594,67 +602,67 @@ msgstr " [%lds kvar]"
 #: src/faillog.c:109
 #, c-format
 msgid " [%lds lock]"
-msgstr " [%lds låsning]"
+msgstr " [%lds lÃ\83Â¥sning]"
 
 #: src/faillog.c:353 src/lastlog.c:187
 #, c-format
 msgid "Unknown User: %s\n"
-msgstr "Okänd användare: %s\n"
+msgstr "OkÃ\83¤nd anvÃ\83¤ndare: %s\n"
 
 #: src/gpasswd.c:71
-#, c-format
+#, fuzzy, c-format
 msgid "Usage: %s [-r|-R] group\n"
-msgstr "Användning: %s [-r|-R] grupp\n"
+msgstr "AnvÃ\83¤ndning: %s [-r|-R] grupp\n"
 
 #: src/gpasswd.c:72
 #, c-format
 msgid "       %s [-a user] group\n"
-msgstr "            %s [-a användare] grupp\n"
+msgstr "       %s [-a anvÃ\83¤ndare] grupp\n"
 
 #: src/gpasswd.c:73
 #, c-format
 msgid "       %s [-d user] group\n"
-msgstr "            %s [-d användare] grupp\n"
+msgstr "       %s [-d anvÃ\83¤ndare] grupp\n"
 
 #: src/gpasswd.c:76
 #, c-format
 msgid "       %s [-A user,...] [-M user,...] group\n"
-msgstr "            %s [-A användare,...] [-M användare,...] grupp\n"
+msgstr "       %s [-A anvÃ\83¤ndare,...] [-M anvÃ\83¤ndare,...] grupp\n"
 
 #: src/gpasswd.c:78
 #, c-format
 msgid "       %s [-M user,...] group\n"
-msgstr "            %s [-M användare,...] grupp\n"
+msgstr "       %s [-M anvÃ\83¤ndare,...] grupp\n"
 
 #: src/gpasswd.c:229
 #, c-format
 msgid "%s: shadow group passwords required for -A\n"
-msgstr "%s: skuggrupplösenord krävs för -A\n"
+msgstr "%s: skuggrupplÃ\83¶senord krÃ\83¤vs fÃ\83¶r -A\n"
 
 #: src/gpasswd.c:280
 #, c-format
 msgid "Who are you?\n"
-msgstr "Vem är du?\n"
+msgstr "Vem Ã\83¤r du?\n"
 
 #: src/gpasswd.c:299 src/newgrp.c:290
 #, c-format
 msgid "unknown group: %s\n"
-msgstr "okänd grupp: %s\n"
+msgstr "okÃ\83¤nd grupp: %s\n"
 
 #: src/gpasswd.c:408
 #, c-format
 msgid "Adding user %s to group %s\n"
-msgstr "Lägger till användare %s till grupp %s\n"
+msgstr "LÃ\83¤gger till anvÃ\83¤ndare %s till grupp %s\n"
 
 #: src/gpasswd.c:426
 #, c-format
 msgid "Removing user %s from group %s\n"
-msgstr "Tar bort användare %s frÃ¥n grupp %s\n"
+msgstr "Tar bort anvÃ\83¤ndare %s frÃ\83Â¥n grupp %s\n"
 
 #: src/gpasswd.c:439
 #, c-format
 msgid "%s: unknown member %s\n"
-msgstr "%s: okänd medlem %s\n"
+msgstr "%s: okÃ\83¤nd medlem %s\n"
 
 #: src/gpasswd.c:485
 #, c-format
@@ -664,39 +672,39 @@ msgstr "%s: Inte en tty\n"
 #: src/gpasswd.c:506
 #, c-format
 msgid "Changing the password for group %s\n"
-msgstr "Ã\84ndrar lösenordet för grupp %s\n"
+msgstr "Ã\83Â\84ndrar lÃ\83¶senordet fÃ\83¶r grupp %s\n"
 
 #: src/gpasswd.c:509
 msgid "New Password: "
-msgstr "Nytt lösenord: "
+msgstr "Nytt lÃ\83¶senord: "
 
 #: src/gpasswd.c:514 src/passwd.c:278
 msgid "Re-enter new password: "
-msgstr "Skriv in det nya lösenordet igen: "
+msgstr "Skriv in det nya lÃ\83¶senordet igen: "
 
 #: src/gpasswd.c:526
 msgid "They don't match; try again"
-msgstr "De matchar inte; försök igen"
+msgstr "De matchar inte; fÃ\83¶rsÃ\83¶k igen"
 
 #: src/gpasswd.c:530
 #, c-format
 msgid "%s: Try again later\n"
-msgstr "%s: Försök igen senare\n"
+msgstr "%s: FÃ\83¶rsÃ\83¶k igen senare\n"
 
 #: src/gpasswd.c:562
 #, c-format
 msgid "%s: can't get lock\n"
-msgstr "%s: kan inte låsa\n"
+msgstr "%s: kan inte lÃ\83Â¥sa\n"
 
 #: src/gpasswd.c:568
 #, c-format
 msgid "%s: can't get shadow lock\n"
-msgstr "%s: kan inte låsa skuggfilen\n"
+msgstr "%s: kan inte lÃ\83Â¥sa skuggfilen\n"
 
 #: src/gpasswd.c:574
 #, c-format
 msgid "%s: can't open file\n"
-msgstr "%s: kan inte öppna filen\n"
+msgstr "%s: kan inte Ã\83¶ppna filen\n"
 
 #: src/gpasswd.c:586
 #, c-format
@@ -721,28 +729,28 @@ msgstr "%s: kan inte skriva om skuggfilen\n"
 #: src/gpasswd.c:612
 #, c-format
 msgid "%s: can't unlock file\n"
-msgstr "%s: kan inte låsa upp filen\n"
+msgstr "%s: kan inte lÃ\83Â¥sa upp filen\n"
 
 #: src/groupadd.c:97
-#, c-format
+#, fuzzy, c-format
 msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
-msgstr "Användning: groupadd [-g gid [-o]] [-f] grupp\n"
+msgstr "AnvÃ\83¤ndning: groupadd [-g gid [-o]] grupp\n"
 
 #: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
 #: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
 #, c-format
 msgid "%s: error adding new group entry\n"
-msgstr "%s: gick inte att lägga till en ny gruppnotering\n"
+msgstr "%s: gick inte att lÃ\83¤gga till en ny gruppnotering\n"
 
 #: src/groupadd.c:219 src/useradd.c:904
 #, c-format
 msgid "%s: name %s is not unique\n"
-msgstr "%s: namnet %s är inte unikt\n"
+msgstr "%s: namnet %s Ã\83¤r inte unikt\n"
 
 #: src/groupadd.c:234
 #, c-format
 msgid "%s: gid %u is not unique\n"
-msgstr "%s: gid %u är inte unikt\n"
+msgstr "%s: gid %u Ã\83¤r inte unikt\n"
 
 #: src/groupadd.c:258
 #, c-format
@@ -750,9 +758,9 @@ msgid "%s: can't get unique gid\n"
 msgstr "%s: kan inte hitta ett unikt gid\n"
 
 #: src/groupadd.c:280 src/groupmod.c:283
-#, c-format
+#, fuzzy, c-format
 msgid "%s: %s is not a valid group name\n"
-msgstr "%s: %s är inte ett giltigt gruppnamn\n"
+msgstr "%s: %s Ã\83¤r inte ett giltigt gruppnamn\n"
 
 #: src/groupadd.c:309 src/groupmod.c:308
 #, c-format
@@ -762,7 +770,7 @@ msgstr "%s: ogiltig grupp %s\n"
 #: src/groupadd.c:326 src/useradd.c:1099
 #, c-format
 msgid "%s: -O requires NAME=VALUE\n"
-msgstr "%s: -O kräver NAME=VÃ\84RDE\n"
+msgstr "%s: -O krÃ\83¤ver NAME=VÃ\83Â\84RDE\n"
 
 #: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
 #: src/userdel.c:245 src/usermod.c:522
@@ -779,22 +787,22 @@ msgstr "%s: kan inte skriva om skuggruppfilen\n"
 #: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
 #, c-format
 msgid "%s: unable to lock group file\n"
-msgstr "%s: kan inte låsa gruppfilen\n"
+msgstr "%s: kan inte lÃ\83Â¥sa gruppfilen\n"
 
 #: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
 #, c-format
 msgid "%s: unable to open group file\n"
-msgstr "%s: kan inte öppna gruppfilen\n"
+msgstr "%s: kan inte Ã\83¶ppna gruppfilen\n"
 
 #: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
 #, c-format
 msgid "%s: unable to lock shadow group file\n"
-msgstr "%s: kan inte låsa skuggruppfilen\n"
+msgstr "%s: kan inte lÃ\83Â¥sa skuggruppfilen\n"
 
 #: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
 #, c-format
 msgid "%s: unable to open shadow group file\n"
-msgstr "%s: kan inte öppna skuggruppfilen\n"
+msgstr "%s: kan inte Ã\83¶ppna skuggruppfilen\n"
 
 #: src/groupadd.c:508
 #, c-format
@@ -802,9 +810,9 @@ msgid "%s: group %s exists\n"
 msgstr "%s: grupp %s existerar\n"
 
 #: src/groupdel.c:83
-#, c-format
+#, fuzzy, c-format
 msgid "Usage: groupdel group\n"
-msgstr "Användning: groupdel grupp\n"
+msgstr "AnvÃ\83¤ndning: groupdel grupp\n"
 
 #: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
 #, c-format
@@ -819,7 +827,7 @@ msgstr "%s: fel under borttagning av skuggruppnotering\n"
 #: src/groupdel.c:202
 #, c-format
 msgid "%s: cannot remove user's primary group.\n"
-msgstr "%s: kan inte ta bort användarens primära grupp.\n"
+msgstr "%s: kan inte ta bort anvÃ\83¤ndarens primÃ\83¤ra grupp.\n"
 
 #: src/groupdel.c:290 src/groupmod.c:471
 #, c-format
@@ -829,17 +837,17 @@ msgstr "%s: grupp %s existerar inte\n"
 #: src/groupdel.c:303 src/groupmod.c:485
 #, c-format
 msgid "%s: group %s is a NIS group\n"
-msgstr "%s: grupp %s är en NIS-grupp\n"
+msgstr "%s: grupp %s Ã\83¤r en NIS-grupp\n"
 
 #: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
 #, c-format
 msgid "%s: %s is the NIS master\n"
-msgstr "%s: %s Ã¤r NIS-mästeren\n"
+msgstr "%s: %s Ã\83¤r NIS-mÃ\83¤steren\n"
 
 #: src/groupmod.c:98
-#, c-format
+#, fuzzy, c-format
 msgid "Usage: groupmod [-g gid [-o]] [-n name] group\n"
-msgstr "Användning: groupmod [-g gid [-o]] [-n namn] grupp\n"
+msgstr "AnvÃ\83¤ndning: groupmod [-g gid [-o]] [-n namn] grupp\n"
 
 #: src/groupmod.c:156
 #, c-format
@@ -849,22 +857,22 @@ msgstr "%s: %s hittades inte i /etc/group\n"
 #: src/groupmod.c:242
 #, c-format
 msgid "%s: %u is not a unique gid\n"
-msgstr "%s: %u är inte ett unikt gid\n"
+msgstr "%s: %u Ã\83¤r inte ett unikt gid\n"
 
 #: src/groupmod.c:272
 #, c-format
 msgid "%s: %s is not a unique name\n"
-msgstr "%s: %s är inte ett unikt namn\n"
+msgstr "%s: %s Ã\83¤r inte ett unikt namn\n"
 
 #: src/grpck.c:87
 #, c-format
 msgid "Usage: %s [-r] [-s] [group [gshadow]]\n"
-msgstr "Användning: %s [-r] [-s] [grupp [gshadow]]\n"
+msgstr "AnvÃ\83¤ndning: %s [-s] [-r] [grupp [gshadow]]\n"
 
 #: src/grpck.c:89
 #, c-format
 msgid "Usage: %s [-r] [-s] [group]\n"
-msgstr "Användning: %s [-r] [-s] [grupp]\n"
+msgstr "AnvÃ\83¤ndning: %s [-s] [-r] [grupp]\n"
 
 #: src/grpck.c:107 src/pwck.c:108
 msgid "No"
@@ -873,18 +881,18 @@ msgstr "Nej"
 #: src/grpck.c:191 src/pwck.c:175
 #, c-format
 msgid "%s: -s and -r are incompatibile\n"
-msgstr ""
+msgstr "%s: -s och -r Ã¤r inkompatibla\n"
 
 #: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
 #, c-format
 msgid "%s: cannot lock file %s\n"
-msgstr "%s: kan inte låsa filen %s\n"
+msgstr "%s: kan inte lÃ\83Â¥sa filen %s\n"
 
 #: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
 #: src/pwck.c:248
 #, c-format
 msgid "%s: cannot open file %s\n"
-msgstr "%s: kan inte öppna filen %s\n"
+msgstr "%s: kan inte Ã\83¶ppna filen %s\n"
 
 #: src/grpck.c:307
 #, c-format
@@ -910,7 +918,7 @@ msgstr "ogiltigt gruppnamn \"%s\"\n"
 #: src/grpck.c:413
 #, c-format
 msgid "group %s: no user %s\n"
-msgstr "grupp %s: användaren %s finns inte\n"
+msgstr "grupp %s: anvÃ\83¤ndaren %s finns inte\n"
 
 #: src/grpck.c:415 src/grpck.c:585
 #, c-format
@@ -933,7 +941,7 @@ msgstr "inga matchande gruppfilsnoteringar\n"
 #: src/grpck.c:553
 #, c-format
 msgid "shadow group %s: no administrative user %s\n"
-msgstr "skuggrupp %s: finns ingen administrativ användare %s\n"
+msgstr "skuggrupp %s: finns ingen administrativ anvÃ\83¤ndare %s\n"
 
 #: src/grpck.c:555
 #, c-format
@@ -943,7 +951,7 @@ msgstr "ta bort administrativa medlemmen \"%s\"? "
 #: src/grpck.c:583
 #, c-format
 msgid "shadow group %s: no user %s\n"
-msgstr "skuggrupp %s: finns ingen användare %s\n"
+msgstr "skuggrupp %s: finns ingen anvÃ\83¤ndare %s\n"
 
 #: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
 #, c-format
@@ -953,32 +961,32 @@ msgstr "%s: kan inte uppdatera filen %s\n"
 #: src/grpck.c:640 src/pwck.c:606
 #, c-format
 msgid "%s: the files have been updated\n"
-msgstr "%s: filerna är uppdaterade\n"
+msgstr "%s: filerna Ã\83¤r uppdaterade\n"
 
 #: src/grpck.c:641 src/pwck.c:607
 #, c-format
 msgid "%s: no changes\n"
-msgstr "%s: inga ändringar\n"
+msgstr "%s: inga Ã\83¤ndringar\n"
 
 #: src/grpconv.c:60 src/grpunconv.c:56
 #, c-format
 msgid "%s: can't lock group file\n"
-msgstr "%s: kan inte låsa gruppfilen\n"
+msgstr "%s: kan inte lÃ\83Â¥sa gruppfilen\n"
 
 #: src/grpconv.c:65 src/grpunconv.c:61
 #, c-format
 msgid "%s: can't open group file\n"
-msgstr "%s: kan inte öppna gruppfilen\n"
+msgstr "%s: kan inte Ã\83¶ppna gruppfilen\n"
 
 #: src/grpconv.c:70 src/grpunconv.c:66
 #, c-format
 msgid "%s: can't lock shadow group file\n"
-msgstr "%s: kan inte låsa skuggruppfilen\n"
+msgstr "%s: kan inte lÃ\83Â¥sa skuggruppfilen\n"
 
 #: src/grpconv.c:75 src/grpunconv.c:71
 #, c-format
 msgid "%s: can't open shadow group file\n"
-msgstr "%s: kan inte öppna skuggruppfilen\n"
+msgstr "%s: kan inte Ã\83¶ppna skuggruppfilen\n"
 
 #: src/grpconv.c:92
 #, c-format
@@ -988,12 +996,12 @@ msgstr "%s: kan inte ta bort skuggruppen %s\n"
 #: src/grpconv.c:130 src/pwconv.c:153
 #, c-format
 msgid "%s: can't update shadow entry for %s\n"
-msgstr "%s: kan inte uppdatera skuggnoteringen för %s\n"
+msgstr "%s: kan inte uppdatera skuggnoteringen fÃ\83¶r %s\n"
 
 #: src/grpconv.c:140 src/grpunconv.c:88
 #, c-format
 msgid "%s: can't update entry for group %s\n"
-msgstr "%s: kan inte uppdatera noteringen för gruppen %s\n"
+msgstr "%s: kan inte uppdatera noteringen fÃ\83¶r gruppen %s\n"
 
 #: src/grpconv.c:147 src/grpunconv.c:96
 #, c-format
@@ -1011,14 +1019,14 @@ msgid "%s: can't delete shadow group file\n"
 msgstr "%s: kan inte ta bort skuggruppfilen\n"
 
 #: src/id.c:53
-#, c-format
+#, fuzzy, c-format
 msgid "Usage: id [-a]\n"
-msgstr "Användning: id [-a]\n"
+msgstr "AnvÃ\83¤ndning: id [-a]\n"
 
 #: src/id.c:55
-#, c-format
+#, fuzzy, c-format
 msgid "Usage: id\n"
-msgstr "Användning: id\n"
+msgstr "AnvÃ\83¤ndning: id\n"
 
 #: src/id.c:169
 #, c-format
@@ -1026,44 +1034,51 @@ msgid " groups="
 msgstr " grupper="
 
 #: src/lastlog.c:64
-#, c-format
+#, fuzzy, c-format
 msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
+"Användning: chpasswd [flaggor]\n"
+"\n"
+"Flaggor:\n"
+"  -e, --encrypted\tangivna lösenord Ã¤r krypterade\n"
+"  -h, --help\t\tvisa det här meddelandet och avsluta\n"
+"  -m, --md5\t\tanvänd MD5-kryptering i stället för DES när\n"
+"\t\t\tde angivna lösenorden inte Ã¤r krypterade\n"
 
 #: src/lastlog.c:90
 #, c-format
 msgid "Username         Port     From             Latest\n"
-msgstr "Användarnamn     Port     FrÃ¥n             Senaste\n"
+msgstr "AnvÃ\83¤ndarnamn     Port     FrÃ\83Â¥n             Senaste\n"
 
 #: src/lastlog.c:92
 #, c-format
 msgid "Username                Port     Latest\n"
-msgstr "Användarnamn            Port     Senaste\n"
+msgstr "AnvÃ\83¤ndarnamn            Port     Senaste\n"
 
 #: src/lastlog.c:107
 msgid "**Never logged in**"
 msgstr "**Aldrig inloggad**"
 
 #: src/login.c:156
-#, c-format
+#, fuzzy, c-format
 msgid "Usage: %s [-p] [name]\n"
-msgstr "Användning: %s [-p] [namn]\n"
+msgstr "AnvÃ\83¤ndning: %s [-p] [namn]\n"
 
 #: src/login.c:159
 #, c-format
 msgid "       %s [-p] [-h host] [-f name]\n"
-msgstr "            %s [-p] [-h värd] [-f namn]\n"
+msgstr "       %s [-p] [-h vÃ\83¤rd] [-f namn]\n"
 
 #: src/login.c:161
 #, c-format
 msgid "       %s [-p] -r host\n"
-msgstr "            %s [-p] -r värd\n"
+msgstr "       %s [-p] -r vÃ\83¤rd\n"
 
 #: src/login.c:198
 #, c-format
@@ -1077,7 +1092,7 @@ msgid ""
 "System closed for routine maintenance\n"
 msgstr ""
 "\n"
-"Systemet Ã¤r stängt för rutinunderhÃ¥ll\n"
+"Systemet Ã\83¤r stÃ\83¤ngt fÃ\83¶r rutinunderhÃ\83Â¥ll\n"
 
 #: src/login.c:244
 #, c-format
@@ -1086,7 +1101,7 @@ msgid ""
 "[Disconnect bypassed -- root login allowed.]\n"
 msgstr ""
 "\n"
-"[Nerkoppling kringgicks -- root inloggning tillåten.]\n"
+"[Nerkoppling kringgicks -- root inloggning tillÃ\83Â¥ten.]\n"
 
 #: src/login.c:297
 #, c-format
@@ -1095,17 +1110,17 @@ msgid ""
 "Login timed out after %d seconds.\n"
 msgstr ""
 "\n"
-"Inloggningen avbröts efter %d sekunders inaktivitet.\n"
+"Inloggningen avbrÃ\83¶ts efter %d sekunders inaktivitet.\n"
 
 #: src/login.c:565
 #, c-format
 msgid " on `%.100s' from `%.200s'"
-msgstr " pÃ¥ \"%.100s\" frÃ¥n \"%.200s\""
+msgstr " pÃ\83Â¥ \"%.100s\" frÃ\83Â¥n \"%.200s\""
 
 #: src/login.c:568
 #, c-format
 msgid " on `%.100s'"
-msgstr " på \"%.100s\""
+msgstr " pÃ\83Â¥ \"%.100s\""
 
 #: src/login.c:722
 #, c-format
@@ -1114,7 +1129,7 @@ msgid ""
 "%s login: "
 msgstr ""
 "\n"
-"%s användare: "
+"%s anvÃ\83¤ndare: "
 
 #: src/login.c:879 src/sulogin.c:203
 msgid "Login incorrect"
@@ -1122,42 +1137,43 @@ msgstr "Felaktig inloggning"
 
 #: src/login.c:996
 msgid "Warning: login re-enabled after temporary lockout.\n"
-msgstr "Varning: inloggning på nytt aktiv efter den temporära utelåsningen.\n"
+msgstr ""
+"Varning: inloggning pÃ¥ nytt aktiv efter den temporära utelÃ¥sningen.\n"
 
 #: src/login.c:1010
 #, c-format
 msgid "Last login: %s on %s"
-msgstr "Senaste inloggning: %s på %s"
+msgstr "Senaste inloggning: %s pÃ\83Â¥ %s"
 
 #: src/login.c:1013
 #, c-format
 msgid "Last login: %.19s on %s"
-msgstr "Senaste inloggning: %.19s på %s"
+msgstr "Senaste inloggning: %.19s pÃ\83Â¥ %s"
 
 #: src/login.c:1018
 #, c-format
 msgid " from %.*s"
-msgstr " från %.*s"
+msgstr " frÃ\83Â¥n %.*s"
 
 #: src/mkpasswd.c:47
 #, c-format
 msgid "%s: no DBM database on system - no action performed\n"
-msgstr "%s: ingen DBM-databas pÃ¥ systemet - ingen Ã¥tgärd genomfördes\n"
+msgstr "%s: ingen DBM-databas pÃ\83Â¥ systemet - ingen Ã\83Â¥tgÃ\83¤rd genomfÃ\83¶rdes\n"
 
 #: src/mkpasswd.c:231 src/mkpasswd.c:236
 #, c-format
 msgid "%s: cannot overwrite file %s\n"
-msgstr "%s: kan inte skriva över filen %s\n"
+msgstr "%s: kan inte skriva Ã\83¶ver filen %s\n"
 
 #: src/mkpasswd.c:251
 #, c-format
 msgid "%s: cannot open DBM files for %s\n"
-msgstr "%s: kan inte Ã¶ppna DBM-filer för %s\n"
+msgstr "%s: kan inte Ã\83¶ppna DBM-filer fÃ\83¶r %s\n"
 
 #: src/mkpasswd.c:286
 #, fuzzy, c-format
 msgid "%s: the line beginning with %.16s... is too long\n"
-msgstr "%s: början med "
+msgstr "%s: bÃ\83¶rjan med "
 
 #: src/mkpasswd.c:313
 #, c-format
@@ -1167,81 +1183,81 @@ msgstr "%s: fel under analysering av rad \"%s\"\n"
 #: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
 #, fuzzy, c-format
 msgid "adding record for name %s\n"
-msgstr "lägger till notering för namn "
+msgstr "lÃ\83¤gger till notering fÃ\83¶r namn "
 
 #: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
 #, fuzzy, c-format
 msgid "%s: error adding record for %s\n"
-msgstr "%s: fel under tillägg av notering för "
+msgstr "%s: fel under tillÃ\83¤gg av notering fÃ\83¶r "
 
 #: src/mkpasswd.c:376
 #, c-format
 msgid "added %d entries, longest was %d\n"
-msgstr "lade till %d noteringar, den längsta var %d\n"
+msgstr "lade till %d noteringar, den lÃ\83¤ngsta var %d\n"
 
 #: src/mkpasswd.c:389
 #, c-format
 msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
-msgstr "Användning: %s [-vf] [-p|g|sp|sg] fil\n"
+msgstr "AnvÃ\83¤ndning: %s [-vf] [-p|g|sp|sg] fil\n"
 
 #: src/mkpasswd.c:391
 #, c-format
 msgid "Usage: %s [-vf] [-p|g|sp] file\n"
-msgstr "Användning: %s [-vf] [-p|g|sp] fil\n"
+msgstr "AnvÃ\83¤ndning: %s [-vf] [-p|g|sp] fil\n"
 
 #: src/mkpasswd.c:394
 #, c-format
 msgid "Usage: %s [-vf] [-p|g] file\n"
-msgstr "Användning: %s [-vf] [-p|g] fil\n"
+msgstr "AnvÃ\83¤ndning: %s [-vf] [-p|g] fil\n"
 
 #: src/newgrp.c:61
-#, c-format
+#, fuzzy, c-format
 msgid "Usage: newgrp [-] [group]\n"
-msgstr "Användning: newgrp [-] [grupp]\n"
+msgstr "AnvÃ\83¤ndning: newgrp [-] [grupp]\n"
 
 #: src/newgrp.c:63
-#, c-format
+#, fuzzy, c-format
 msgid "Usage: sg group [[-c] command]\n"
-msgstr "Användning: sg grupp [[-c] kommando]\n"
+msgstr "AnvÃ\83¤ndning: sg grupp [[-c] kommando]\n"
 
 #: src/newgrp.c:131
 #, c-format
 msgid "unknown uid: %u\n"
-msgstr "okänt uid: %u\n"
+msgstr "okÃ\83¤nt uid: %u\n"
 
 #: src/newgrp.c:213
 #, c-format
 msgid "unknown gid: %lu\n"
-msgstr "okänt gid: %lu\n"
+msgstr "okÃ\83¤nt gid: %lu\n"
 
 #: src/newgrp.c:358 src/newgrp.c:367
 msgid "Sorry.\n"
-msgstr "Tyvärr.\n"
+msgstr "TyvÃ\83¤rr.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
-msgstr "för mÃ¥nga grupper\n"
+msgstr "fÃ\83¶r mÃ\83Â¥nga grupper\n"
 
 #: src/newusers.c:78
 #, c-format
 msgid "Usage: %s [input]\n"
-msgstr "Användning: %s [indata]\n"
+msgstr "AnvÃ\83¤ndning: %s [indata]\n"
 
 #: src/newusers.c:382
 #, c-format
 msgid "%s: can't lock /etc/passwd.\n"
-msgstr "%s: kan inte låsa /etc/passwd.\n"
+msgstr "%s: kan inte lÃ\83Â¥sa /etc/passwd.\n"
 
 #: src/newusers.c:394
 #, c-format
 msgid "%s: can't lock files, try again later\n"
-msgstr "%s: kan inte lÃ¥sa filerna, försök igen senare\n"
+msgstr "%s: kan inte lÃ\83Â¥sa filerna, fÃ\83¶rsÃ\83¶k igen senare\n"
 
 #: src/newusers.c:409
 #, c-format
 msgid "%s: can't open files\n"
-msgstr "%s: kan inte öppna filerna\n"
+msgstr "%s: kan inte Ã\83¶ppna filerna\n"
 
 #: src/newusers.c:454
 #, c-format
@@ -1261,12 +1277,12 @@ msgstr "%s: rad %d: kan inte skapa UID\n"
 #: src/newusers.c:502
 #, c-format
 msgid "%s: line %d: cannot find user %s\n"
-msgstr "%s: rad %d: kan inte hitta användaren %s\n"
+msgstr "%s: rad %d: kan inte hitta anvÃ\83¤ndaren %s\n"
 
 #: src/newusers.c:511
 #, c-format
 msgid "%s: line %d: can't update password\n"
-msgstr "%s: rad %d: kan inte uppdatera lösenordet\n"
+msgstr "%s: rad %d: kan inte uppdatera lÃ\83¶senordet\n"
 
 #: src/newusers.c:529
 #, c-format
@@ -1289,28 +1305,28 @@ msgid "%s: error updating files\n"
 msgstr "%s: kunde inte uppdatera filerna\n"
 
 #: src/passwd.c:154
-#, c-format
+#, fuzzy, c-format
 msgid "Usage: %s [-f|-s] [name]\n"
-msgstr "Användning: %s [-f|-s] [namn]\n"
+msgstr "AnvÃ\83¤ndning: %s [-f|-s] [namn]\n"
 
 #: src/passwd.c:158
 #, c-format
 msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
-msgstr "            %s [-x högst] [-n minst] [-w varna] [-i inaktiv] namn\n"
+msgstr "       %s [-x hÃ\83¶gst] [-n minst] [-w varna] [-i inaktiv] namn\n"
 
 #: src/passwd.c:160
 #, c-format
 msgid "       %s {-l|-u|-d|-S|-e} name\n"
-msgstr "            %s {-l|-u|-d|-S|-e} namn\n"
+msgstr "       %s {-l|-u|-d|-S|-e} namn\n"
 
 #: src/passwd.c:214
 msgid "Old password: "
-msgstr "Förra lösenordet: "
+msgstr "FÃ\83¶rra lÃ\83¶senordet: "
 
 #: src/passwd.c:223
 #, c-format
 msgid "Incorrect password for `%s'\n"
-msgstr "Felaktigt lösenord för \"%s\"\n"
+msgstr "Felaktigt lÃ\83¶senord fÃ\83¶r \"%s\"\n"
 
 #: src/passwd.c:247
 #, c-format
@@ -1318,17 +1334,17 @@ msgid ""
 "Enter the new password (minimum of %d, maximum of %d characters)\n"
 "Please use a combination of upper and lower case letters and numbers.\n"
 msgstr ""
-"Skriv in det nya lösenordet (minst %d, högst %d tecken)\n"
-"Var god använd en kombination av versaler, gemener och siffror.\n"
+"Skriv in det nya lÃ\83¶senordet (minst %d, hÃ\83¶gst %d tecken)\n"
+"Var god anvÃ\83¤nd en kombination av versaler, gemener och siffror.\n"
 
 #: src/passwd.c:253
 msgid "New password: "
-msgstr "Nytt lösenord: "
+msgstr "Nytt lÃ\83¶senord: "
 
 #: src/passwd.c:263
 #, c-format
 msgid "Try again.\n"
-msgstr "Försök igen.\n"
+msgstr "FÃ\83¶rsÃ\83¶k igen.\n"
 
 #: src/passwd.c:274
 #, c-format
@@ -1337,27 +1353,27 @@ msgid ""
 "Warning: weak password (enter it again to use it anyway).\n"
 msgstr ""
 "\n"
-"Varning: svagt lösenord (skriv in det igen för att använda det Ã¤ndÃ¥).\n"
+"Varning: svagt lÃ\83¶senord (skriv in det igen fÃ\83¶r att anvÃ\83¤nda det Ã\83¤ndÃ\83Â¥).\n"
 
 #: src/passwd.c:283
 #, c-format
 msgid "They don't match; try again.\n"
-msgstr "De matchar inte; försök igen.\n"
+msgstr "De matchar inte; fÃ\83¶rsÃ\83¶k igen.\n"
 
 #: src/passwd.c:360 src/passwd.c:377
 #, c-format
 msgid "The password for %s cannot be changed.\n"
-msgstr "Lösenordet för %s kan inte bytas.\n"
+msgstr "LÃ\83¶senordet fÃ\83¶r %s kan inte bytas.\n"
 
 #: src/passwd.c:390
 #, c-format
 msgid "Sorry, the password for %s cannot be changed yet.\n"
-msgstr "Tyvärr, lösenordet för %s kan inte Ã¤ndras Ã¤n.\n"
+msgstr "TyvÃ\83¤rr, lÃ\83¶senordet fÃ\83¶r %s kan inte Ã\83¤ndras Ã\83¤n.\n"
 
 #: src/passwd.c:472
 #, c-format
 msgid "%s: out of memory\n"
-msgstr "%s: slut på minne\n"
+msgstr "%s: slut pÃ\83Â¥ minne\n"
 
 #: src/passwd.c:701
 #, c-format
@@ -1367,104 +1383,104 @@ msgstr "%s: Kan inte starta %s"
 #: src/passwd.c:786
 #, c-format
 msgid "%s: repository %s not supported\n"
-msgstr "%s: förvaringsplatsen %s stöds ej\n"
+msgstr "%s: fÃ\83¶rvaringsplatsen %s stÃ\83¶ds ej\n"
 
 #: src/passwd.c:884
-#, fuzzy, c-format
+#, c-format
 msgid "%s: You may not view or modify password information for %s.\n"
-msgstr "Du fÃ¥r inte Ã¤ndra lösenordet för %s.\n"
+msgstr "%s: Du fÃ\83Â¥r inte lÃ\83¤sa eller Ã\83¤ndra lÃ\83¶senordsinformation fÃ\83¶r %s.\n"
 
 #: src/passwd.c:934
 #, c-format
 msgid "Changing password for %s\n"
-msgstr "Ã\84ndrar lösenord för %s\n"
+msgstr "Ã\83Â\84ndrar lÃ\83¶senord fÃ\83¶r %s\n"
 
 #: src/passwd.c:938
 #, c-format
 msgid "The password for %s is unchanged.\n"
-msgstr "Lösenordet för %s Ã¤r oförändrat.\n"
+msgstr "LÃ\83¶senordet fÃ\83¶r %s Ã\83¤r ofÃ\83¶rÃ\83¤ndrat.\n"
 
 #: src/passwd.c:987
 #, c-format
 msgid "Password changed.\n"
-msgstr "Lösenordet Ã¤ndrat.\n"
+msgstr "LÃ\83¶senordet Ã\83¤ndrat.\n"
 
 #: src/pwck.c:87
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
-msgstr "Användning: %s [-q] [-r] [-s] [passwd [shadow]]\n"
+msgstr "AnvÃ\83¤ndning: %s [-q] [-r] [-s] [passwd [shadow]]\n"
 
 #: src/pwck.c:90
 #, c-format
 msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
-msgstr "Användning: %s [-q] [-r] [-s] [passwd]\n"
+msgstr "AnvÃ\83¤ndning: %s [-q] [-r] [-s] [passwd]\n"
 
 #: src/pwck.c:292
 #, c-format
 msgid "invalid password file entry\n"
-msgstr "felaktig notering i lösenordsfilen\n"
+msgstr "felaktig notering i lÃ\83¶senordsfilen\n"
 
 #: src/pwck.c:354
 msgid "duplicate password entry\n"
-msgstr "dubblett av lösenords notering\n"
+msgstr "dubblett av lÃ\83¶senords notering\n"
 
 #: src/pwck.c:370
 #, c-format
 msgid "invalid user name '%s'\n"
-msgstr "ogiltigt användarnamn '%s'\n"
+msgstr "ogiltigt anvÃ\83¤ndarnamn '%s'\n"
 
 #: src/pwck.c:384
 #, c-format
 msgid "user %s: no group %u\n"
-msgstr "användare %s: ingen grupp %u\n"
+msgstr "anvÃ\83¤ndare %s: ingen grupp %u\n"
 
 #: src/pwck.c:400
 #, c-format
 msgid "user %s: directory %s does not exist\n"
-msgstr "användare %s: katalogen %s finns inte\n"
+msgstr "anvÃ\83¤ndare %s: katalogen %s finns inte\n"
 
 #: src/pwck.c:416
 #, c-format
 msgid "user %s: program %s does not exist\n"
-msgstr "användare %s: programmet %s finns inte\n"
+msgstr "anvÃ\83¤ndare %s: programmet %s finns inte\n"
 
 #: src/pwck.c:452
 #, c-format
 msgid "invalid shadow password file entry\n"
-msgstr "felaktig notering i skugglösenordsfilen\n"
+msgstr "felaktig notering i skugglÃ\83¶senordsfilen\n"
 
 #: src/pwck.c:514
 msgid "duplicate shadow password entry\n"
-msgstr "dubblett av notering i skugglösenordsfilen\n"
+msgstr "dubblett av notering i skugglÃ\83¶senordsfilen\n"
 
 #: src/pwck.c:538
 msgid "no matching password file entry\n"
-msgstr "ingen matchande notering i lösenordsfilen\n"
+msgstr "ingen matchande notering i lÃ\83¶senordsfilen\n"
 
 #: src/pwck.c:556
 #, c-format
 msgid "user %s: last password change in the future\n"
-msgstr "användare %s: senaste lösenordsändring i framtiden\n"
+msgstr "anvÃ\83¤ndare %s: senaste lÃ\83¶senordsÃ\83¤ndring i framtiden\n"
 
 #: src/pwconv.c:85 src/pwunconv.c:79
 #, c-format
 msgid "%s: can't lock passwd file\n"
-msgstr "%s: kan inte lÃ¥sa lösenordsfilen\n"
+msgstr "%s: kan inte lÃ\83Â¥sa lÃ\83¶senordsfilen\n"
 
 #: src/pwconv.c:90 src/pwunconv.c:84
 #, c-format
 msgid "%s: can't open passwd file\n"
-msgstr "%s: kan inte Ã¶ppna lösenordsfilen\n"
+msgstr "%s: kan inte Ã\83¶ppna lÃ\83¶senordsfilen\n"
 
 #: src/pwconv.c:118
 #, c-format
 msgid "%s: can't remove shadow entry for %s\n"
-msgstr "%s: kan inte ta bort notering i skugglösenordsfilen för %s\n"
+msgstr "%s: kan inte ta bort notering i skugglÃ\83¶senordsfilen fÃ\83¶r %s\n"
 
 #: src/pwconv.c:163
 #, c-format
 msgid "%s: can't update passwd entry for %s\n"
-msgstr "%s: kan inte uppdatera noteringen i lösenordsfilen för %s\n"
+msgstr "%s: kan inte uppdatera noteringen i lÃ\83¶senordsfilen fÃ\83¶r %s\n"
 
 #: src/pwconv.c:170
 #, c-format
@@ -1474,26 +1490,26 @@ msgstr "%s: kan inte uppdatera skuggfilen\n"
 #: src/pwconv.c:174
 #, c-format
 msgid "%s: can't update passwd file\n"
-msgstr "%s: kan inte uppdatera lösenordsfilen\n"
+msgstr "%s: kan inte uppdatera lÃ\83¶senordsfilen\n"
 
 #: src/pwunconv.c:124
 #, c-format
 msgid "%s: can't update entry for user %s\n"
-msgstr "%s: kan inte uppdatera noteringen för användaren %s\n"
+msgstr "%s: kan inte uppdatera noteringen fÃ\83¶r anvÃ\83¤ndaren %s\n"
 
 #: src/pwunconv.c:143
 #, c-format
 msgid "%s: can't delete shadow password file\n"
-msgstr "%s: kan inte ta bort skugglösenordsfilen\n"
+msgstr "%s: kan inte ta bort skugglÃ\83¶senordsfilen\n"
 
 #: src/su.c:132
 msgid "Sorry."
-msgstr "Tyvärr."
+msgstr "TyvÃ\83¤rr."
 
 #: src/su.c:320
 #, c-format
 msgid "%s: must be run from a terminal\n"
-msgstr "%s: mÃ¥ste köras frÃ¥n en terminal\n"
+msgstr "%s: mÃ\83Â¥ste kÃ\83¶ras frÃ\83Â¥n en terminal\n"
 
 #: src/su.c:419
 #, c-format
@@ -1503,16 +1519,16 @@ msgstr "%s: pam_start: fel %d\n"
 #: src/su.c:447
 #, c-format
 msgid "Unknown id: %s\n"
-msgstr "Okänt id: %s\n"
+msgstr "OkÃ\83¤nt id: %s\n"
 
 #: src/su.c:484 src/su.c:500
 #, c-format
 msgid "You are not authorized to su %s\n"
-msgstr "Du har inte tillÃ¥telse att köra su till %s\n"
+msgstr "Du har inte tillÃ\83Â¥telse att kÃ\83¶ra su till %s\n"
 
 #: src/su.c:495
 msgid "(Enter your own password.)"
-msgstr "(Skriv in ditt eget lösenord.)"
+msgstr "(Skriv in ditt eget lÃ\83¶senord.)"
 
 #: src/su.c:527
 #, c-format
@@ -1531,27 +1547,27 @@ msgstr "Inget skal\n"
 #: src/suauth.c:104
 #, c-format
 msgid "Access to su to that account DENIED.\n"
-msgstr "Du har inte behörighet att köra su till det kontot.\n"
+msgstr "Du har inte behÃ\83¶righet att kÃ\83¶ra su till det kontot.\n"
 
 #: src/suauth.c:112
 #, c-format
 msgid "Password authentication bypassed.\n"
-msgstr "Hoppade Ã¶ver lösenordskontroll.\n"
+msgstr "Hoppade Ã\83¶ver lÃ\83¶senordskontroll.\n"
 
 #: src/suauth.c:121
 #, c-format
 msgid "Please enter your OWN password as authentication.\n"
-msgstr "Var god skriv in ditt EGET lösenord som Ã¤kthetsbevis.\n"
+msgstr "Var god skriv in ditt EGET lÃ\83¶senord som Ã\83¤kthetsbevis.\n"
 
 #: src/sulogin.c:118
 #, c-format
 msgid "No password file\n"
-msgstr "Ingen lösenordsfil\n"
+msgstr "Ingen lÃ\83¶senordsfil\n"
 
 #: src/sulogin.c:160
 #, c-format
 msgid "No password entry for 'root'\n"
-msgstr "Ingen lösenordsnotering för \"root\"\n"
+msgstr "Ingen lÃ\83¶senordsnotering fÃ\83¶r \"root\"\n"
 
 #: src/sulogin.c:175
 msgid ""
@@ -1560,12 +1576,12 @@ msgid ""
 "(or give root password for system maintenance):"
 msgstr ""
 "\n"
-"Skriv control-d för att fortsätta med den normala uppstarten,\n"
-"(eller skriv in lösenordet för root för systemunderhÃ¥ll):"
+"Skriv control-d fÃ\83¶r att fortsÃ\83¤tta med den normala uppstarten,\n"
+"(eller skriv in lÃ\83¶senordet fÃ\83¶r root fÃ\83¶r systemunderhÃ\83Â¥ll):"
 
 #: src/sulogin.c:210
 msgid "Entering System Maintenance Mode\n"
-msgstr "GÃ¥r in i systemunderhÃ¥llsläge\n"
+msgstr "GÃ\83Â¥r in i systemunderhÃ\83Â¥llslÃ\83¤ge\n"
 
 #: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
 #, c-format
@@ -1575,23 +1591,23 @@ msgstr "%s: ogiltigt numeriskt argument \"%s\"\n"
 #: src/useradd.c:298
 #, c-format
 msgid "%s: unknown gid %s\n"
-msgstr "%s: okänt gid %s\n"
+msgstr "%s: okÃ\83¤nt gid %s\n"
 
 #: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
 #: src/usermod.c:814
 #, c-format
 msgid "%s: unknown group %s\n"
-msgstr "%s: okänd grupp %s\n"
+msgstr "%s: okÃ\83¤nd grupp %s\n"
 
 #: src/useradd.c:418
 #, c-format
 msgid "%s: cannot create new defaults file\n"
-msgstr "%s: kan inte skapa en ny standardfil\n"
+msgstr "%s: kan inte skapa en ny defaults-fil\n"
 
 #: src/useradd.c:423
 #, c-format
 msgid "%s: cannot open new defaults file\n"
-msgstr "%s: kan inte skapa en ny standardfil\n"
+msgstr "%s: kan inte Ã¶ppna den nya defaults-filen\n"
 
 #: src/useradd.c:515 src/useradd.c:526
 #, c-format
@@ -1601,62 +1617,62 @@ msgstr "%s: rename: %s"
 #: src/useradd.c:619 src/usermod.c:248
 #, c-format
 msgid "%s: group `%s' is a NIS group.\n"
-msgstr "%s: grupp \"%s\" är en NIS-grupp.\n"
+msgstr "%s: grupp \"%s\" Ã\83¤r en NIS-grupp.\n"
 
 #: src/useradd.c:628 src/usermod.c:257
 #, c-format
 msgid "%s: too many groups specified (max %d).\n"
-msgstr "%s: för mÃ¥nga grupper speciferade (max %d).\n"
+msgstr "%s: fÃ\83¶r mÃ\83Â¥nga grupper speciferade (max %d).\n"
 
 #: src/useradd.c:660
-#, c-format
+#, fuzzy, c-format
 msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
-msgstr "Användning: useradd [-u uid [-o]] [-g grupp] [-G grupp,...] \n"
+msgstr "AnvÃ\83¤ndning: %s [-u uid [-o]] [-g grupp] [-G grupp,...] \n"
 
 #: src/useradd.c:663
-#, c-format
+#, fuzzy, c-format
 msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
-msgstr "                    [-d hem] [-s skal] [-c kommentar] [-m [-k mall]]\n"
+msgstr "\t\t    [-d hem] [-s skal] [-c kommentar] [-m [-k mall]]\n"
 
 #: src/useradd.c:665 src/useradd.c:671
-#, c-format
+#, fuzzy, c-format
 msgid "               [-f inactive] [-e expire]\n"
-msgstr "                    [-f inaktiv] [-e upphör]\n"
+msgstr "\t\t[-f inaktiv] [-e utgÃ¥ng]\n"
 
 #: src/useradd.c:667
-#, c-format
+#, fuzzy, c-format
 msgid "               [-p passwd] name\n"
-msgstr "                    [-p passwd] namn\n"
+msgstr "[-p passwd] namn\n"
 
 #: src/useradd.c:669
-#, c-format
+#, fuzzy, c-format
 msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
-msgstr "            useradd -D [-g grupp] [-b bas] [-s skal]\n"
+msgstr "            %s -D [-g grupp] [-b bas] [-s skal]\n"
 
 #: src/useradd.c:756 src/usermod.c:444
 #, c-format
 msgid "%s: error locking group file\n"
-msgstr "%s: fel under låsning av gruppfilen\n"
+msgstr "%s: fel under lÃ\83Â¥sning av gruppfilen\n"
 
 #: src/useradd.c:760 src/usermod.c:449
 #, c-format
 msgid "%s: error opening group file\n"
-msgstr "%s: fel under öppning av gruppfilen\n"
+msgstr "%s: fel under Ã\83¶ppning av gruppfilen\n"
 
 #: src/useradd.c:766 src/usermod.c:542
 #, c-format
 msgid "%s: error locking shadow group file\n"
-msgstr "%s: fel under låsning av skuggruppfilen\n"
+msgstr "%s: fel under lÃ\83Â¥sning av skuggruppfilen\n"
 
 #: src/useradd.c:771 src/usermod.c:548
 #, c-format
 msgid "%s: error opening shadow group file\n"
-msgstr "%s: fel under öppning av skuggruppfilen\n"
+msgstr "%s: fel under Ã\83¶ppning av skuggruppfilen\n"
 
 #: src/useradd.c:909
 #, c-format
 msgid "%s: uid %u is not unique\n"
-msgstr "%s: uid %u är inte unikt\n"
+msgstr "%s: uid %u Ã\83¤r inte unikt\n"
 
 #: src/useradd.c:939
 #, c-format
@@ -1686,18 +1702,18 @@ msgstr "%s: felaktigt datum \"%s\"\n"
 #: src/useradd.c:1028
 #, c-format
 msgid "%s: shadow passwords required for -e\n"
-msgstr "%s: skugglösenord krävs för -e\n"
+msgstr "%s: skugglÃ\83¶senord krÃ\83¤vs fÃ\83¶r -e\n"
 
 #: src/useradd.c:1044
 #, c-format
 msgid "%s: shadow passwords required for -f\n"
-msgstr "%s: skugglösenord krävs för -f\n"
+msgstr "%s: skugglÃ\83¶senord krÃ\83¤vs fÃ\83¶r -f\n"
 
 #: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
 #: src/usermod.c:873
 #, c-format
 msgid "%s: invalid field `%s'\n"
-msgstr "%s: felaktigt fält \"%s\"\n"
+msgstr "%s: felaktigt fÃ\83¤lt \"%s\"\n"
 
 #: src/useradd.c:1122
 #, c-format
@@ -1707,47 +1723,47 @@ msgstr "%s: felaktigt skal \"%s\"\n"
 #: src/useradd.c:1163
 #, c-format
 msgid "%s: invalid user name '%s'\n"
-msgstr "%s: felaktigt användar namn '%s'\n"
+msgstr "%s: felaktigt anvÃ\83¤ndar namn '%s'\n"
 
 #: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
 #, c-format
 msgid "%s: cannot rewrite password file\n"
-msgstr "%s: kan inte skriva om lösenordsfilen\n"
+msgstr "%s: kan inte skriva om lÃ\83¶senordsfilen\n"
 
 #: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
 #, c-format
 msgid "%s: cannot rewrite shadow password file\n"
-msgstr "%s: kan inte skriva om skugglösenordsfilen\n"
+msgstr "%s: kan inte skriva om skugglÃ\83¶senordsfilen\n"
 
 #: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
 #, c-format
 msgid "%s: unable to lock password file\n"
-msgstr "%s: kan inte lÃ¥sa lösenordsfilen\n"
+msgstr "%s: kan inte lÃ\83Â¥sa lÃ\83¶senordsfilen\n"
 
 #: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
 #, c-format
 msgid "%s: unable to open password file\n"
-msgstr "%s: kan inte Ã¶ppna lösenordsfilen\n"
+msgstr "%s: kan inte Ã\83¶ppna lÃ\83¶senordsfilen\n"
 
 #: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
 #, c-format
 msgid "%s: cannot lock shadow password file\n"
-msgstr "%s: kan inte lÃ¥sa skugglösenordsfilen\n"
+msgstr "%s: kan inte lÃ\83Â¥sa skugglÃ\83¶senordsfilen\n"
 
 #: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
 #, c-format
 msgid "%s: cannot open shadow password file\n"
-msgstr "%s: kan inte Ã¶ppna skugglösenordsfilen\n"
+msgstr "%s: kan inte Ã\83¶ppna skugglÃ\83¶senordsfilen\n"
 
 #: src/useradd.c:1354
 #, c-format
 msgid "%s: error adding new password entry\n"
-msgstr "%s: fel under tilläggning av ny lösenordsnotering\n"
+msgstr "%s: fel under tillÃ\83¤ggning av ny lÃ\83¶senordsnotering\n"
 
 #: src/useradd.c:1365 src/usermod.c:1063
 #, c-format
 msgid "%s: error adding new shadow password entry\n"
-msgstr "%s: fel under tilläggning av ny skugglösenordsnotering\n"
+msgstr "%s: fel under tillÃ\83¤ggning av ny skugglÃ\83¶senordsnotering\n"
 
 #: src/useradd.c:1393
 #, c-format
@@ -1762,28 +1778,29 @@ msgstr ""
 #: src/useradd.c:1446
 #, fuzzy, c-format
 msgid "Can't create mail spool for user %s.\n"
-msgstr "%s: kan inte uppdatera noteringen för användaren %s\n"
+msgstr "%s: kan inte uppdatera noteringen fÃ\83¶r anvÃ\83¤ndaren %s\n"
 
 #: src/useradd.c:1550 src/usermod.c:919
 #, c-format
 msgid "%s: user %s exists\n"
-msgstr "%s: användare %s existerar\n"
+msgstr "%s: anvÃ\83¤ndare %s existerar\n"
 
 #: src/useradd.c:1564
 #, c-format
 msgid ""
 "%s: group %s exists - if you want to add this user to that group, use -g.\n"
 msgstr ""
+"%s: gruppen %s finns redan - vill du lägga till en användare, använd -g.\n"
 
 #: src/useradd.c:1602
 #, c-format
 msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
-msgstr "%s: varning: CREATE_HOME stöds inte, använd -m istället.\n"
+msgstr "%s: varning: CREATE_HOME stÃ\83¶ds inte, anvÃ\83¤nd -m istÃ\83¤llet.\n"
 
 #: src/userdel.c:108
-#, c-format
+#, fuzzy, c-format
 msgid "Usage: %s [-r] name\n"
-msgstr "Användning: %s [-r] namn\n"
+msgstr "AnvÃ\83¤ndning: %s [-r] namn\n"
 
 #: src/userdel.c:160 src/userdel.c:221
 #, c-format
@@ -1793,32 +1810,32 @@ msgstr "%s: fel under uppdatering av gruppnotering\n"
 #: src/userdel.c:315
 #, c-format
 msgid "%s: cannot open group file\n"
-msgstr "%s: kan inte öppna gruppfilen\n"
+msgstr "%s: kan inte Ã\83¶ppna gruppfilen\n"
 
 #: src/userdel.c:325
 #, c-format
 msgid "%s: cannot open shadow group file\n"
-msgstr "%s: kan inte öppna skuggruppfilen\n"
+msgstr "%s: kan inte Ã\83¶ppna skuggruppfilen\n"
 
 #: src/userdel.c:343
 #, c-format
 msgid "%s: error deleting password entry\n"
-msgstr "%s: fel under borttagning av lösenordsnotering\n"
+msgstr "%s: fel under borttagning av lÃ\83¶senordsnotering\n"
 
 #: src/userdel.c:347
 #, c-format
 msgid "%s: error deleting shadow password entry\n"
-msgstr "%s: fel under borttagning av skugglösenordsnotering\n"
+msgstr "%s: fel under borttagning av skugglÃ\83¶senordsnotering\n"
 
 #: src/userdel.c:388
 #, c-format
 msgid "%s: user %s is currently logged in\n"
-msgstr "%s: användare %s Ã¤r inloggad\n"
+msgstr "%s: anvÃ\83¤ndare %s Ã\83¤r inloggad\n"
 
 #: src/userdel.c:496 src/userdel.c:641
 #, c-format
 msgid "%s: %s not owned by %s, not removing\n"
-msgstr "%s: %s ägs inte av %s, tar inte bort\n"
+msgstr "%s: %s Ã\83¤gs inte av %s, tar inte bort\n"
 
 #: src/userdel.c:502
 #, c-format
@@ -1828,17 +1845,17 @@ msgstr "%s: varning: kan inte ta bort "
 #: src/userdel.c:592 src/usermod.c:722
 #, c-format
 msgid "%s: user %s does not exist\n"
-msgstr "%s: användare %s finns inte\n"
+msgstr "%s: anvÃ\83¤ndare %s finns inte\n"
 
 #: src/userdel.c:607 src/usermod.c:738
 #, c-format
 msgid "%s: user %s is a NIS user\n"
-msgstr "%s: användare %s Ã¤r en NIS-användare\n"
+msgstr "%s: anvÃ\83¤ndare %s Ã\83¤r en NIS-anvÃ\83¤ndare\n"
 
 #: src/userdel.c:664
 #, c-format
 msgid "%s: not removing directory %s (would remove home of user %s)\n"
-msgstr "%s: tar inte bort katalogen %s (skulle ta bort hemkatalogen för %s)\n"
+msgstr "%s: tar inte bort katalogen %s (skulle ta bort hemkatalogen fÃ\83¶r %s)\n"
 
 #: src/userdel.c:678
 #, c-format
@@ -1846,9 +1863,9 @@ msgid "%s: error removing directory %s\n"
 msgstr "%s: fel under borttagning av katalogen %s\n"
 
 #: src/usermod.c:289
-#, c-format
+#, fuzzy, c-format
 msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
-msgstr "Användning: %s\t[-u uid [-o]] [-g grupp] [-G grupp,...] \n"
+msgstr "AnvÃ\83¤ndning: %s [-u uid [-o]] [-g grupp] [-G grupp,...] \n"
 
 #: src/usermod.c:293
 #, c-format
@@ -1856,9 +1873,9 @@ msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
 msgstr "\t\t[-d hem [-m]] [-s skal] [-c kommentar] [-l nytt_namn]\n"
 
 #: src/usermod.c:296
-#, c-format
+#, fuzzy, c-format
 msgid "[-f inactive] [-e expire] "
-msgstr "[-f inaktiv] [-e upphör] "
+msgstr "[-f inaktiv] [-e utgÃ¥ng] "
 
 #: src/usermod.c:298
 #, c-format
@@ -1868,12 +1885,12 @@ msgstr "[-p passwd] [-L|-U] namn\n"
 #: src/usermod.c:476
 #, c-format
 msgid "%s: out of memory in update_group\n"
-msgstr "%s: slut på minne i update_group\n"
+msgstr "%s: slut pÃ\83Â¥ minne i update_group\n"
 
 #: src/usermod.c:585
 #, c-format
 msgid "%s: out of memory in update_gshadow\n"
-msgstr "%s: slut på minne i update_gshadow\n"
+msgstr "%s: slut pÃ\83Â¥ minne i update_gshadow\n"
 
 #: src/usermod.c:896
 #, c-format
@@ -1883,27 +1900,27 @@ msgstr "%s: inga flaggor givna\n"
 #: src/usermod.c:903
 #, c-format
 msgid "%s: shadow passwords required for -e and -f\n"
-msgstr "%s: skugglösenord krävs för -e och -f\n"
+msgstr "%s: skugglÃ\83¶senord krÃ\83¤vs fÃ\83¶r -e och -f\n"
 
 #: src/usermod.c:924
 #, c-format
 msgid "%s: uid %lu is not unique\n"
-msgstr "%s: uid %lu är inte unikt\n"
+msgstr "%s: uid %lu Ã\83¤r inte unikt\n"
 
 #: src/usermod.c:1047
 #, c-format
 msgid "%s: error changing password entry\n"
-msgstr "%s: fel under Ã¤ndring av lösenordsnotering\n"
+msgstr "%s: fel under Ã\83¤ndring av lÃ\83¶senordsnotering\n"
 
 #: src/usermod.c:1053
 #, c-format
 msgid "%s: error removing password entry\n"
-msgstr "%s: fel under borttagning av lösenordsnotering\n"
+msgstr "%s: fel under borttagning av lÃ\83¶senordsnotering\n"
 
 #: src/usermod.c:1070
 #, c-format
 msgid "%s: error removing shadow password entry\n"
-msgstr "%s: fel under borttagning av skugglösenordsnotering\n"
+msgstr "%s: fel under borttagning av skugglÃ\83¶senordsnotering\n"
 
 #: src/usermod.c:1098
 #, c-format
@@ -1918,25 +1935,25 @@ msgstr "%s: kan inte skapa %s\n"
 #: src/usermod.c:1111
 #, c-format
 msgid "%s: can't chown %s\n"
-msgstr "%s: kan inte byta Ã¤gare pÃ¥ %s\n"
+msgstr "%s: kan inte byta Ã\83¤gare pÃ\83Â¥ %s\n"
 
 #: src/usermod.c:1128
 #, c-format
 msgid "%s: cannot rename directory %s to %s\n"
-msgstr "%s: kan inte byta namn på katalogen %s till %s\n"
+msgstr "%s: kan inte byta namn pÃ\83Â¥ katalogen %s till %s\n"
 
 #: src/usermod.c:1223
 #, c-format
 msgid "%s: warning: %s not owned by %s\n"
-msgstr "%s: varning: %s ägs inte av %s\n"
+msgstr "%s: varning: %s Ã\83¤gs inte av %s\n"
 
 #: src/usermod.c:1229
 msgid "failed to change mailbox owner"
-msgstr "kunde inte byta Ã¤gare av brevlÃ¥dan"
+msgstr "kunde inte byta Ã\83¤gare av brevlÃ\83Â¥dan"
 
 #: src/usermod.c:1237
 msgid "failed to rename mailbox"
-msgstr "kunde inte byta namn pÃ¥ brevlÃ¥dan"
+msgstr "kunde inte byta namn pÃ\83Â¥ brevlÃ\83Â¥dan"
 
 #: src/vipw.c:104
 #, c-format
@@ -1945,20 +1962,20 @@ msgid ""
 "%s: %s is unchanged\n"
 msgstr ""
 "\n"
-"%s: %s Ã¤r oförändrad\n"
+"%s: %s Ã\83¤r ofÃ\83¶rÃ\83¤ndrad\n"
 
 #: src/vipw.c:131
 msgid "Couldn't lock file"
-msgstr "Kunde inte låsa filen"
+msgstr "Kunde inte lÃ\83Â¥sa filen"
 
 #: src/vipw.c:140
 msgid "Couldn't make backup"
-msgstr "Kunde inte göra en backup"
+msgstr "Kunde inte gÃ\83¶ra en backup"
 
 #: src/vipw.c:196
 #, c-format
 msgid "%s: can't restore %s: %s (your changes are in %s)\n"
-msgstr "%s: kan inte Ã¥terställa %s: %s (dina Ã¤ndringar Ã¤r i %s)\n"
+msgstr "%s: kan inte Ã\83Â¥terstÃ\83¤lla %s: %s (dina Ã\83¤ndringar Ã\83¤r i %s)\n"
 
 #: src/vipw.c:234
 #, c-format
@@ -1967,6 +1984,6 @@ msgid ""
 "`vipw' edits /etc/passwd        `vipw -s' edits /etc/shadow\n"
 "`vigr' edits /etc/group         `vigr -s' edits /etc/gshadow\n"
 msgstr ""
-"Användning:\n"
-"\"vipw\" editerar /etc/passwd   \"vipw -w\" editerar /etc/shadow\n"
-"\"vipg\" editerar /etc/group    \"vipg -w\" editerar /etc/gshadow\n"
+"AnvÃ\83¤ndning:\n"
+"\"vipw\" redigerar /etc/passwd   \"vipw -w\" redigerar /etc/shadow\n"
+"\"vipg\" redigerar /etc/group    \"vipg -w\" redigerar /etc/gshadow\n"
index 36c0f93e1ae9dc72bba19765ceda4a6df4379387..e015d8f5481a12efc6ff81996041c0f64cd08c37 100644 (file)
Binary files a/po/tl.gmo and b/po/tl.gmo differ
index 1d2fd93256d34b5e849962fe91371d6c7fef6bb5..3880f077a8970053a284543eb5cb1610bb5b62cd 100644 (file)
--- a/po/tl.po
+++ b/po/tl.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow 4.0.7\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2005-01-26 22:00+0800\n"
 "Last-Translator: Eric Pareja <xenos@upm.edu.ph>\n"
 "Language-Team: Tagalog <debian-tl@banwa.upm.edu.ph>\n"
@@ -158,12 +158,12 @@ msgstr "Hindi mapalitan ang root directory sa \"%s\"\n"
 msgid "malloc(%d) failed\n"
 msgstr "sawi ang malloc(%d)\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "Hindi makareserba ng lugar para sa impormasyong pagsasaayos.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1046,7 +1046,7 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
@@ -1240,7 +1240,7 @@ msgstr "di kilalang gid: %lu\n"
 msgid "Sorry.\n"
 msgstr "Ipagpaumanhin.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "labis ang dami ng mga grupo\n"
index 588d5b91fc7c8313d0e6f306cc4bb1ce67e3da24..970b22bd853357464db565e6cc98935c5965b63e 100644 (file)
Binary files a/po/tr.gmo and b/po/tr.gmo differ
index f32d9fc273159be48dec423e78fa04ad86016ce1..9c784a0f02dc0b5005dafb8bede1edfb30ade969 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2004-06-13 10:27+0300\n"
 "Last-Translator: Mehmet Türker <mturker@innova.com.tr>\n"
 "Language-Team: Turkish <debian-l10n-turkish@lists.debian.org>\n"
@@ -154,12 +154,12 @@ msgstr "Kök dizin \"%s\" olarak değiştirilemiyor\n"
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) başarısız oldu\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "Yapılandırma bilgileri için yer ayrılamadı.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1031,7 +1031,7 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
@@ -1219,7 +1219,7 @@ msgstr "bilinmeyen gid: %lu\n"
 msgid "Sorry.\n"
 msgstr "Üzgünüm.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "çok fazla grup\n"
index eeff4de793992ee43a8e51c7a9350a45567e4d9e..afad80798322707a8ffbd314ce0a8e62841bf04a 100644 (file)
Binary files a/po/uk.gmo and b/po/uk.gmo differ
index 71e7606756f14be1cee20df44025c0ae7d6bc460..44155005d8f1bd1577734d5543b2f7e7404e8a26 100644 (file)
--- a/po/uk.po
+++ b/po/uk.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow-4.0.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2005-04-19 23:22+0300\n"
 "Last-Translator: Roman Festchook <linux@polesye.net>\n"
 "Language-Team:  <linux@polesye.net>\n"
@@ -157,12 +157,12 @@ msgstr "Не можу змінити кореневу теку на \"%s\"\n"
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) не виконано\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "Не можу виділити ресурси для конфігураційних данних.\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr ""
@@ -1058,14 +1058,14 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
 "Використання: lastlog [опції]\n"
 "\n"
 "Опції:\n"
-"  -u, --login ЛОГІН\tвивести записи останніх входів для користувача з "
+"  -u, --user ЛОГІН\tвивести записи останніх входів для користувача з "
 "ЛОГІНом\n"
 "  -h, --help\t\tвивести допомогу та вийти\n"
 "  -t, --time ДНІВ\tвивести лише записи свіжіші за ДНІВ\n"
@@ -1252,7 +1252,7 @@ msgstr "невідомий gid: %lu\n"
 msgid "Sorry.\n"
 msgstr "Вибачте.\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "занадто багато груп\n"
diff --git a/po/vi.gmo b/po/vi.gmo
new file mode 100644 (file)
index 0000000..b54bba1
Binary files /dev/null and b/po/vi.gmo differ
diff --git a/po/vi.po b/po/vi.po
new file mode 100644 (file)
index 0000000..a651723
--- /dev/null
+++ b/po/vi.po
@@ -0,0 +1,2037 @@
+# Vietnamese Translation for shadow.
+# Copyright © 2005 Free Software Foundation, Inc.
+# Clytie Siddall <clytie@riverland.net.au>, 2005.
+# 
+msgid ""
+msgstr ""
+"Project-Id-Version: shadow 4.0.9\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
+"PO-Revision-Date: 2005-05-10 22:33+0930\n"
+"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
+"Language-Team: Vietnamese <gnomevi-list@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0\n"
+
+#: libmisc/addgrps.c:56
+#, c-format
+msgid "Warning: unknown group %s\n"
+msgstr "Cảnh báo: không biết nhóm %s.\n"
+
+#: libmisc/addgrps.c:67
+#, c-format
+msgid "Warning: too many groups\n"
+msgstr "Cảnh báo: quá nhiều nhóm.\n"
+
+#: libmisc/age.c:72
+#, c-format
+msgid "Your password has expired."
+msgstr "Mật khẩu bạn đã hết hạn dùng rồi."
+
+#: libmisc/age.c:75
+#, c-format
+msgid "Your password is inactive."
+msgstr "Mật khẩu bạn không hoạt động."
+
+#: libmisc/age.c:78
+#, c-format
+msgid "Your login has expired."
+msgstr "Đăng nhập bạn đã hết hạn dùng rồi."
+
+#: libmisc/age.c:90
+msgid "  Contact the system administrator.\n"
+msgstr "  Hãy liên lạc quản trị hệ thống.\n"
+
+#: libmisc/age.c:93
+msgid "  Choose a new password.\n"
+msgstr "  Hãy chọn mật khẩu mới.\n"
+
+#: libmisc/age.c:169
+#, c-format
+msgid "Your password will expire in %ld days.\n"
+msgstr "Mật khẩu bạn sẽ hết hạn dùng %ld ngày.\n"
+
+#: libmisc/age.c:172
+#, c-format
+msgid "Your password will expire tomorrow.\n"
+msgstr "Mật khẩu bạn sễ hết hạn dùng vào ngày mai.\n"
+
+#: libmisc/age.c:174
+#, c-format
+msgid "Your password will expire today.\n"
+msgstr "Mật khẩu bạn sễ hết hạn dùng vào hôm nay.\n"
+
+#: libmisc/chowntty.c:106
+#, c-format
+msgid "Unable to change tty %s"
+msgstr "Không thay đổi được tty %s."
+
+#: libmisc/env.c:155
+#, c-format
+msgid "Environment overflow\n"
+msgstr "Môi trường bị tràn.\n"
+
+#: libmisc/env.c:194
+#, c-format
+msgid "You may not change $%s\n"
+msgstr "Bạn không có đủ quyền thay đổi $%s.\n"
+
+#: libmisc/failure.c:229
+#, c-format
+msgid ""
+"%d failure since last login.\n"
+"Last was %s on %s.\n"
+msgid_plural ""
+"%d failures since last login.\n"
+"Last was %s on %s.\n"
+msgstr[0] ""
+"%d lần thất bại sau lần đăng nhập cuối cùng. Lần thất bại cuối cùng vào %s.\n"
+
+#: libmisc/limits.c:397
+#, c-format
+msgid "Too many logins.\n"
+msgstr "Quá nhiều việc đăng nhập.\n"
+
+#: libmisc/mail.c:61 libmisc/mail.c:76
+msgid "You have new mail."
+msgstr "Bạn có thư mới."
+
+#: libmisc/mail.c:72
+msgid "No mail."
+msgstr "Không có thư."
+
+#: libmisc/mail.c:74
+msgid "You have mail."
+msgstr "Bạn có thư."
+
+#: libmisc/obscure.c:273 src/passwd.c:181
+#, c-format
+msgid "Bad password: %s.  "
+msgstr "Mật khẩu sai: %s."
+
+#: libmisc/pam_pass.c:38
+#, c-format
+msgid "passwd: pam_start() failed, error %d\n"
+msgstr "passwd: pam_start() (mật khẩu: bắt đầu pam) thất bại, có lỗi %d\n"
+
+#: libmisc/pam_pass.c:44
+#, c-format
+msgid "passwd: %s\n"
+msgstr "passwd: (mật khẩu) %s\n"
+
+#: libmisc/pam_pass.c:49
+msgid "passwd: password updated successfully\n"
+msgstr "passwd: đã cập nhật mật khẩu rồi.\n"
+
+#: libmisc/setupenv.c:207
+#, c-format
+msgid "Unable to cd to \"%s\"\n"
+msgstr "Không thể cd (lệnh chuyển đổi thư mục) sang \"%s\".\n"
+
+#: libmisc/setupenv.c:215
+msgid "No directory, logging in with HOME=/"
+msgstr "Không có thư mục thì đăng nhập với HOME=/"
+
+#: libmisc/shell.c:118
+#, c-format
+msgid "Cannot execute %s"
+msgstr "Không thể thực hiện %s."
+
+#: libmisc/sub.c:55
+#, c-format
+msgid "Invalid root directory \"%s\"\n"
+msgstr "Thư mục gốc không hợp lệ \"%s\".\n"
+
+#: libmisc/sub.c:67
+#, c-format
+msgid "Can't change root directory to \"%s\"\n"
+msgstr "Không thể thay đổi thư mục gốc thành \"%s\".\n"
+
+#: libmisc/xmalloc.c:22
+#, c-format
+msgid "malloc(%d) failed\n"
+msgstr "malloc(%d) (phân chia bộ nhớ) đã thất bại.\n"
+
+#: lib/getdef.c:262
+#, c-format
+msgid "Could not allocate space for config info.\n"
+msgstr "Không thể phân chia chỗ cho thông tin cấu hình.\n"
+
+#: lib/getdef.c:303
+#, c-format
+msgid "configuration error - unknown item '%s' (notify administrator)\n"
+msgstr "lỗi cấu hình - không biết mục '%s' (hãy báo quản trị).\n"
+
+#: lib/pwauth.c:45 src/newgrp.c:341
+msgid "Password: "
+msgstr "Mật khẩu:"
+
+#: lib/pwauth.c:47
+#, c-format
+msgid "%s's Password: "
+msgstr "Mật khẩu của %s:"
+
+#: src/chage.c:112
+#, c-format
+msgid ""
+"Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]\n"
+"             [-I inactive] [-E expire] [-d last_day] user\n"
+msgstr ""
+"Cách sử dụng: chage [-l] [-m ngày_tối_thiểu] [-M ngày_tối_đa] [-W cảnh_bao]\n"
+"\t[-I không_hoạt_động] [-E hết_hạn] [-d ngày_cuối_cùng] người_dùng\n"
+
+#: src/chage.c:145 src/chfn.c:139 src/chsh.c:89
+#, c-format
+msgid "Enter the new value, or press ENTER for the default\n"
+msgstr "Hãy nhập giá trị mới, hoạc bấm phím Enter để chọn mặc định.\n"
+
+#: src/chage.c:149
+msgid "Minimum Password Age"
+msgstr "Phạm vị thời gian tối thiểu cho mật khẩu"
+
+#: src/chage.c:155
+msgid "Maximum Password Age"
+msgstr "Phạm vị thời gian tối đa cho mật khẩu"
+
+#: src/chage.c:162
+msgid "Last Password Change (YYYY-MM-DD)"
+msgstr "Thay đổi mặt khẩu cuối cùng (NNNN-TT-NN)"
+
+#: src/chage.c:170
+msgid "Password Expiration Warning"
+msgstr "Cảnh báo hết hạn dùng mật khẩu"
+
+#: src/chage.c:176
+msgid "Password Inactive"
+msgstr "Mật khẩu không hoạt động"
+
+#: src/chage.c:184
+msgid "Account Expiration Date (YYYY-MM-DD)"
+msgstr "Ngày hết hạn dùng tài khoản (NNNN-TT-NN)"
+
+#: src/chage.c:231
+#, c-format
+msgid "Last password change\t\t\t\t\t: "
+msgstr "Thay đổi mặt khẩu cuối cùng\t\t\t\t\t: "
+
+#: src/chage.c:233 src/chage.c:247 src/chage.c:263 src/chage.c:276
+#, c-format
+msgid "never\n"
+msgstr "không bao giờ\n"
+
+#: src/chage.c:244
+#, c-format
+msgid "Password expires\t\t\t\t\t: "
+msgstr "Mật khẩu hết hạn dùng:\t\t\t\t\t: "
+
+#: src/chage.c:260
+#, c-format
+msgid "Password inactive\t\t\t\t\t: "
+msgstr "Mật khẩu không hoạt động\t\t\t\t\t:"
+
+#: src/chage.c:274
+#, c-format
+msgid "Account expires\t\t\t\t\t\t: "
+msgstr "Tài khoản hết hạn dùng\t\t\t\t\t\t"
+
+#: src/chage.c:290
+#, c-format
+msgid "Minimum number of days between password change\t\t: %ld\n"
+msgstr "Số ngày tối thiểu giữa hai lần thay đổi mật khẩu\t\t: %ld\n"
+
+#: src/chage.c:292
+#, c-format
+msgid "Maximum number of days between password change\t\t: %ld\n"
+msgstr "Số ngày tối đa giữa hai lần thay đổi mật khẩu\t\t: %ld\n"
+
+#: src/chage.c:294
+#, c-format
+msgid "Number of days of warning before password expires\t: %ld\n"
+msgstr "Số ngày cảnh báo trước khi mật khẩu hết hạn\t: %ld\n"
+
+#: src/chage.c:431
+#, c-format
+msgid "%s: do not include \"l\" with other flags\n"
+msgstr "%s: đừng bao gồm \"l\" cùng với những cờ khác\n"
+
+#: src/chage.c:443 src/chage.c:571 src/chfn.c:268 src/chfn.c:277
+#: src/chfn.c:286 src/chfn.c:295 src/chfn.c:304 src/chfn.c:370
+#: src/gpasswd.c:150 src/login.c:421 src/passwd.c:823 src/passwd.c:859
+#, c-format
+msgid "%s: permission denied.\n"
+msgstr "%s: không có đủ quyền.\n"
+
+#: src/chage.c:476 src/chage.c:682 src/chpasswd.c:178 src/groupadd.c:489
+#: src/groupdel.c:275 src/groupmod.c:457 src/newusers.c:361 src/useradd.c:1527
+#: src/userdel.c:573 src/usermod.c:1314 src/usermod.c:1368
+#, c-format
+msgid "%s: PAM authentication failed\n"
+msgstr "%s: xác thức kiểu PAM thất bại\n"
+
+#: src/chage.c:494 src/chpasswd.c:193
+#, c-format
+msgid "%s: can't open password file\n"
+msgstr "%s: không mở được tập tin mật khẩu.\n"
+
+#: src/chage.c:501 src/chfn.c:324 src/chsh.c:181 src/gpasswd.c:139
+#: src/gpasswd.c:216 src/groups.c:64 src/passwd.c:865
+#, c-format
+msgid "%s: unknown user %s\n"
+msgstr "%s: người dùng lạ %s\n"
+
+#: src/chage.c:519
+#, c-format
+msgid "%s: can't lock shadow password file"
+msgstr "%s: không khóa được tập tin mật khẩu bóng."
+
+#: src/chage.c:527
+#, c-format
+msgid "%s: can't open shadow password file"
+msgstr "%s: không mở được tập tin mật khẩu bóng."
+
+#: src/chage.c:587
+#, c-format
+msgid "Changing the aging information for %s\n"
+msgstr "Đang thay đổi thông tin phạm vị thời gian cho %s.\n"
+
+#: src/chage.c:589
+#, c-format
+msgid "%s: error changing fields\n"
+msgstr "%s: gặp lỗi khi chuyển đổi trường.\n"
+
+#: src/chage.c:613 src/pwunconv.c:137
+#, c-format
+msgid "%s: can't update password file\n"
+msgstr "%s: không cập nhật được tập tin mật khẩu.\n"
+
+#: src/chage.c:636 src/pwunconv.c:132
+#, c-format
+msgid "%s: can't update shadow password file\n"
+msgstr "%s: không cập nhật được tập tin mật khẩu bóng.\n"
+
+#: src/chage.c:649
+#, c-format
+msgid "%s: can't rewrite shadow password file\n"
+msgstr "%s: không thể ghi lại tập tin mật khẩu bóng.\n"
+
+#: src/chage.c:693
+#, c-format
+msgid "%s: can't rewrite password file\n"
+msgstr "%s: không thể ghi lại tập tin mật khẩu.\n"
+
+#: src/chage.c:712 src/chpasswd.c:374 src/groupadd.c:535 src/groupdel.c:341
+#: src/groupmod.c:524 src/newusers.c:601 src/useradd.c:1622 src/userdel.c:699
+#, c-format
+msgid "%s: PAM chauthtok failed\n"
+msgstr "%s: chauthtok PAM (thay đổi hiệu bài xác thức) đã thất bại.\n"
+
+#: src/chfn.c:84
+#, c-format
+msgid ""
+"Usage: %s [-f full_name] [-r room_no] [-w work_ph]\n"
+"\t[-h home_ph] [-o other] [user]\n"
+msgstr ""
+"Cách sử dụng: %s [-f họ_tên] [-r số_phòng] [-w điện_thoại_chỗ_làm]\n"
+"\t[-h điện_thoại_ở_nhà] [-o khác] [người_dùng]\n"
+
+#: src/chfn.c:89
+#, c-format
+msgid "Usage: %s [-f full_name] [-r room_no] [-w work_ph] [-h home_ph]\n"
+msgstr ""
+"Cách sử dụng: %s [-f họ_tên] [-r số_phòng] [-w điện_thoại_chỗ_làm]\n"
+"\t[-h điện_thoại_ở_nhà]\n"
+
+#: src/chfn.c:142
+msgid "Full Name"
+msgstr "Họ tên"
+
+#: src/chfn.c:144
+#, c-format
+msgid "\tFull Name: %s\n"
+msgstr "\tHọ tên: %s\n"
+
+#: src/chfn.c:147 src/chfn.c:149
+msgid "Room Number"
+msgstr "Số phòng"
+
+#: src/chfn.c:152 src/chfn.c:154
+msgid "Work Phone"
+msgstr "Điện thoại chỗ làm"
+
+#: src/chfn.c:157 src/chfn.c:159
+msgid "Home Phone"
+msgstr "Điện thoại ở nhà"
+
+#: src/chfn.c:162
+msgid "Other"
+msgstr "Khác"
+
+#: src/chfn.c:333 src/chsh.c:189 src/passwd.c:805
+#, c-format
+msgid "%s: Cannot determine your user name.\n"
+msgstr "%s: không thể quyết định tên người dùng của bạn.\n"
+
+#: src/chfn.c:350 src/chsh.c:206
+#, c-format
+msgid "%s: cannot change user `%s' on NIS client.\n"
+msgstr ""
+"%s: không thay đổi được `%s' của người dùng trong ứng dụng khách NIS.\n"
+
+#: src/chfn.c:357 src/chsh.c:213
+#, c-format
+msgid "%s: `%s' is the NIS master for this client.\n"
+msgstr "%s: `%s' là NIS cái cho ứng dụng khách này.\n"
+
+#: src/chfn.c:382
+#, c-format
+msgid "%s: Permission denied.\n"
+msgstr "%s: không đủ quyền.\n"
+
+#: src/chfn.c:446
+#, c-format
+msgid "Changing the user information for %s\n"
+msgstr "Đang thay đổi thông tin người dùng cho %s\n"
+
+#: src/chfn.c:454
+#, c-format
+msgid "%s: invalid name: \"%s\"\n"
+msgstr "%s: tên không hợp lệ: \"%s\"\n"
+
+#: src/chfn.c:459
+#, c-format
+msgid "%s: invalid room number: \"%s\"\n"
+msgstr "%s: số phòng không hợp lệ: \"%s\"\n"
+
+#: src/chfn.c:465
+#, c-format
+msgid "%s: invalid work phone: \"%s\"\n"
+msgstr "%s: điện thoại chỗ làm không hợp lệ: \"%s\"\n"
+
+#: src/chfn.c:471
+#, c-format
+msgid "%s: invalid home phone: \"%s\"\n"
+msgstr "%s: điện thoại ở nhà không hợp lệ: \"%s\"\n"
+
+#: src/chfn.c:478
+#, c-format
+msgid "%s: \"%s\" contains illegal characters\n"
+msgstr "%s: \"%s\" chứa ký tự sai\n"
+
+#: src/chfn.c:491
+#, c-format
+msgid "%s: fields too long\n"
+msgstr "%s: trường quá dài\n"
+
+#: src/chfn.c:506 src/chsh.c:320 src/gpasswd.c:554 src/passwd.c:966
+#, c-format
+msgid "Cannot change ID to root.\n"
+msgstr "Không thay đổi được thông tin nhận biết (ID) thành người chủ (root).\n"
+
+#: src/chfn.c:521 src/chsh.c:335 src/passwd.c:508 src/passwd.c:549
+#, c-format
+msgid "Cannot lock the password file; try again later.\n"
+msgstr "Không khóa được tập tin mật khẩu; hãy thử lại sau.\n"
+
+#: src/chfn.c:527 src/chsh.c:341 src/passwd.c:513 src/passwd.c:554
+#, c-format
+msgid "Cannot open the password file.\n"
+msgstr "Không mở được tập tin mật khẩu.\n"
+
+#: src/chfn.c:544 src/chsh.c:356 src/passwd.c:519 src/usermod.c:1023
+#, c-format
+msgid "%s: %s not found in /etc/passwd\n"
+msgstr "%s: không tìm thấy %s trong /etc/passwd\n"
+
+#: src/chfn.c:560 src/chsh.c:375 src/passwd.c:528 src/passwd.c:589
+#, c-format
+msgid "Error updating the password entry.\n"
+msgstr "Gặp lỗi khi cập nhật mục ghi mật khẩu.\n"
+
+#: src/chfn.c:571 src/chsh.c:387 src/passwd.c:533 src/passwd.c:594
+#, c-format
+msgid "Cannot commit password file changes.\n"
+msgstr "Không đóng góp được các thay đổi mật khẩu.\n"
+
+#: src/chfn.c:578 src/chsh.c:394
+#, c-format
+msgid "Cannot unlock the password file.\n"
+msgstr "Không thể bỏ khóa tập tin mật khẩu.\n"
+
+#: src/chpasswd.c:71
+#, c-format
+msgid ""
+"Usage: chpasswd [options]\n"
+"\n"
+"Options:\n"
+"  -e, --encrypted\tsupplied passwords are encrypted\n"
+"  -h, --help\t\tdisplay this help message and exit\n"
+"  -m, --md5\t\tuse MD5 encryption instead DES when the supplied\n"
+"\t\t\tpasswords are not encrypted\n"
+msgstr ""
+"Cách sử dụng: chpasswd [tùy_chọn]\n"
+"\n"
+"Tùy chọn:\n"
+"  -e, --encrypted\tcác mật khẩu đã cung cấp thì _được mật mã_\n"
+"  -h, --help\t\thiển thị _trợ giúp_ này rồi thoát\n"
+"  -m, --md5\t\tsử dụng cách mật mã MD5 thay vào DES khi các\n"
+"\t\t\tmật khẩu đã cung cấp chưa được mật mã\n"
+
+#: src/chpasswd.c:189
+#, c-format
+msgid "%s: can't lock password file\n"
+msgstr "%s: không khóa được tập tin mật khẩu.\n"
+
+#: src/chpasswd.c:201 src/pwconv.c:95
+#, c-format
+msgid "%s: can't lock shadow file\n"
+msgstr "%s: không khóa được tập tin bóng.\n"
+
+#: src/chpasswd.c:207 src/gpasswd.c:580 src/pwconv.c:100 src/pwunconv.c:89
+#: src/pwunconv.c:94
+#, c-format
+msgid "%s: can't open shadow file\n"
+msgstr "%s: không mở được tập tin bóng.\n"
+
+#: src/chpasswd.c:230 src/newusers.c:434
+#, c-format
+msgid "%s: line %d: line too long\n"
+msgstr "%s: dòng %d: dòng quá dài.\n"
+
+#: src/chpasswd.c:250
+#, c-format
+msgid "%s: line %d: missing new password\n"
+msgstr "%s: dòng %d: thiếu mật khẩu mới.\n"
+
+#: src/chpasswd.c:274
+#, c-format
+msgid "%s: line %d: unknown user %s\n"
+msgstr "%s: dòng %d: người dùng lại %s.\n"
+
+#: src/chpasswd.c:320
+#, c-format
+msgid "%s: line %d: cannot update password entry\n"
+msgstr "%s: dòng %d: không câp nhật được mục ghi mật khẩu.\n"
+
+#: src/chpasswd.c:337 src/newusers.c:561
+#, c-format
+msgid "%s: error detected, changes ignored\n"
+msgstr "%s: gặp lỗi thì đã bỏ qua các thay đổi.\n"
+
+#: src/chpasswd.c:349
+#, c-format
+msgid "%s: error updating shadow file\n"
+msgstr "%s: gặp lỗi khi cập nhật tập tin bóng.\n"
+
+#: src/chpasswd.c:357
+#, c-format
+msgid "%s: error updating password file\n"
+msgstr "%s: gặp lỗi khi cập nhật tập tin mật khẩu.\n"
+
+#: src/chsh.c:76
+#, c-format
+msgid "Usage: %s [-s shell] [name]\n"
+msgstr "Cách sử dụng: %s [-s hệ_vỏ] [tên]\n"
+
+#: src/chsh.c:90
+msgid "Login Shell"
+msgstr "Hệ vỏ đăng nhập"
+
+#: src/chsh.c:229 src/chsh.c:242 src/chsh.c:256
+#, c-format
+msgid "You may not change the shell for %s.\n"
+msgstr "Bạn không có đủ quyền thay đổi hệ vỏ cho %s.\n"
+
+#: src/chsh.c:288
+#, c-format
+msgid "Changing the login shell for %s\n"
+msgstr "Đang thay đổi hệ vỏ đăng nhập cho %s\n"
+
+#: src/chsh.c:300
+#, c-format
+msgid "%s: Invalid entry: %s\n"
+msgstr "%s: mục ghi không hợp lệ: %s\n"
+
+#: src/chsh.c:305
+#, c-format
+msgid "%s is an invalid shell.\n"
+msgstr "%s là hệ vỏ không hợp lệ.\n"
+
+#: src/expiry.c:59
+#, c-format
+msgid "Usage: expiry {-f|-c}\n"
+msgstr ""
+"Cách sử dụng: expiry {-f|-c}\n"
+"(expiry: khi hết hạn dùng)\n"
+
+#: src/expiry.c:112
+#, c-format
+msgid "%s: WARNING!  Must be set-UID root!\n"
+msgstr "%s: CẢNH BÁO!  Phải có quyền người chủ (root) set-UID!\n"
+
+#: src/expiry.c:122
+#, c-format
+msgid "%s: unknown user\n"
+msgstr "%s: người dùng lạ.\n"
+
+#: src/faillog.c:59
+#, c-format
+msgid ""
+"Usage: faillog [options]\n"
+"\n"
+"Options:\n"
+"  -a, --all\t\t\tdisplay faillog records for all users\n"
+"  -h, --help\t\t\tdisplay this help message and exit\n"
+"  -l, --lock-time SEC\t\tafter failed login lock accout to SEC seconds\n"
+"  -m, --maximum MAX\t\tset maximum failed login counters to MAX\n"
+"  -r, --reset\t\t\treset the counters of login failures\n"
+"  -t, --time DAYS\t\tdisplay faillog records more recent than DAYS\n"
+"  -u, --user LOGIN\t\tdisplay faillog record or maintains failure counters\n"
+"\t\t\t\tand limits (if used with -r, -m or -l options) only\n"
+"\t\t\t\tfor user with LOGIN\n"
+msgstr ""
+"Cách sử dụng: faillog [tùy_chọn]\n"
+"(faillog: bản ghi việc không thành công)\n"
+"\n"
+"Tùy chọn:\n"
+"  -a, --all\t\t\thiển thị các mục ghi faillog cho _mọi_ người dùng\n"
+"  -h, --help\t\t\thiển thị _trợ giúp_ này rồi thoát\n"
+"  -l, --lock-time SỐ\t\tsau khi không khóa đăng nhập được thì\n"
+"\t\t\t\t\tkhóa tài khoản với SỐ giây (_thời gian khóa_)\n"
+"  -m, --maximum SỐ\t\tlập số đếm việc đăng nhập không thành công\n"
+"\t\t\t\t\tthành SỐ ấy (_tôi đa_)\n"
+"  -r, --reset\t\t\t_lập lại_ số đếm việc đăng nhập không thành công\n"
+"  -t, --time SỐ\t\thiển thị các mục ghi faillog mới hơn SỐ ngày (_thời "
+"gian_)\n"
+"  -u, --user TÊN_DÙNG\t\thiển thị mục ghi faillog hay bảo quản bộ đếm\n"
+"\t\t\t\tviệc đăng nhập không thành công và hạn chế\n"
+"\t\t\t\t(nếu dùng với tùy chọn -r, -m hay -l)\n"
+"\t\t\t\tchỉ cho _người_ có tên _dùng_ ấy\n"
+
+#: src/faillog.c:87
+#, c-format
+msgid "Login       Failures Maximum Latest                   On\n"
+msgstr "Tên dùng\t     Thất bại\tTối đa\tMới nhất        Vào\n"
+
+#: src/faillog.c:105
+#, c-format
+msgid " [%lds left]"
+msgstr " [%lds còn lại]"
+
+#: src/faillog.c:109
+#, c-format
+msgid " [%lds lock]"
+msgstr " [%lds khóa]"
+
+#: src/faillog.c:353 src/lastlog.c:187
+#, c-format
+msgid "Unknown User: %s\n"
+msgstr "Người dùng lạ: %s\n"
+
+#: src/gpasswd.c:71
+#, c-format
+msgid "Usage: %s [-r|-R] group\n"
+msgstr "Cách sử dụng: %s [-r|-R] nhóm\n"
+
+#: src/gpasswd.c:72
+#, c-format
+msgid "       %s [-a user] group\n"
+msgstr "       %s [-a người_dùng] nhóm\n"
+
+#: src/gpasswd.c:73
+#, c-format
+msgid "       %s [-d user] group\n"
+msgstr "       %s [-d người_dùng] nhóm\n"
+
+#: src/gpasswd.c:76
+#, c-format
+msgid "       %s [-A user,...] [-M user,...] group\n"
+msgstr "       %s [-A người_dùng,...] [-M người_dùng,...] nhóm\n"
+
+#: src/gpasswd.c:78
+#, c-format
+msgid "       %s [-M user,...] group\n"
+msgstr "       %s [-M người_dùng,...] nhóm\n"
+
+#: src/gpasswd.c:229
+#, c-format
+msgid "%s: shadow group passwords required for -A\n"
+msgstr "%s: cần thiết mật khẩu nhóm bóng cho -A\n"
+
+#: src/gpasswd.c:280
+#, c-format
+msgid "Who are you?\n"
+msgstr "Bạn là ai?\n"
+
+#: src/gpasswd.c:299 src/newgrp.c:290
+#, c-format
+msgid "unknown group: %s\n"
+msgstr "nhóm lạ: %s\n"
+
+#: src/gpasswd.c:408
+#, c-format
+msgid "Adding user %s to group %s\n"
+msgstr "Đang thêm người dung %s vào nhóm %s\n"
+
+#: src/gpasswd.c:426
+#, c-format
+msgid "Removing user %s from group %s\n"
+msgstr "Đang loại bỏ người dùng %s khỏi nhóm %s\n"
+
+#: src/gpasswd.c:439
+#, c-format
+msgid "%s: unknown member %s\n"
+msgstr "%s: thành viên lạ %s\n"
+
+#: src/gpasswd.c:485
+#, c-format
+msgid "%s: Not a tty\n"
+msgstr "%s: không phải là tty\n"
+
+#: src/gpasswd.c:506
+#, c-format
+msgid "Changing the password for group %s\n"
+msgstr "Đang thay đổi mật khẩu cho nhóm %s\n"
+
+#: src/gpasswd.c:509
+msgid "New Password: "
+msgstr "Mật khẩu mới:"
+
+#: src/gpasswd.c:514 src/passwd.c:278
+msgid "Re-enter new password: "
+msgstr "Hãy nhập lại mật khẩu mới:"
+
+#: src/gpasswd.c:526
+msgid "They don't match; try again"
+msgstr "Hai mật khẩu ấy chưa khớp với nhau thì háy thử lại."
+
+#: src/gpasswd.c:530
+#, c-format
+msgid "%s: Try again later\n"
+msgstr "%s: hãy thử lại sau.\n"
+
+#: src/gpasswd.c:562
+#, c-format
+msgid "%s: can't get lock\n"
+msgstr "%s: không gọi được khóa.\n"
+
+#: src/gpasswd.c:568
+#, c-format
+msgid "%s: can't get shadow lock\n"
+msgstr "%s: không gọi được khóa bóng.\n"
+
+#: src/gpasswd.c:574
+#, c-format
+msgid "%s: can't open file\n"
+msgstr "%s: không mở được tập tin.\n"
+
+#: src/gpasswd.c:586
+#, c-format
+msgid "%s: can't update entry\n"
+msgstr "%s: không cập nhật được mục ghi.\n"
+
+#: src/gpasswd.c:592
+#, c-format
+msgid "%s: can't update shadow entry\n"
+msgstr "%s: không cập nhật được mục ghi bóng.\n"
+
+#: src/gpasswd.c:598
+#, c-format
+msgid "%s: can't re-write file\n"
+msgstr "%s: không ghi lại được tập tin.\n"
+
+#: src/gpasswd.c:604
+#, c-format
+msgid "%s: can't re-write shadow file\n"
+msgstr "%s: không ghi lại được tập tin bóng.\n"
+
+#: src/gpasswd.c:612
+#, c-format
+msgid "%s: can't unlock file\n"
+msgstr "%s: không bỏ khóa được tập tin.\n"
+
+#: src/groupadd.c:97
+#, c-format
+msgid "Usage: groupadd [-g gid [-o]] [-f] group\n"
+msgstr ""
+"Cách sử dụng: groupadd [-g gid [-o]] nhóm\n"
+"(groupadd: thêm nhóm)\n"
+
+#: src/groupadd.c:161 src/groupadd.c:170 src/groupmod.c:174 src/groupmod.c:197
+#: src/useradd.c:857 src/usermod.c:514 src/usermod.c:636
+#, c-format
+msgid "%s: error adding new group entry\n"
+msgstr "%s: gặp lỗi khi thêm mục ghi nhóm mới.\n"
+
+#: src/groupadd.c:219 src/useradd.c:904
+#, c-format
+msgid "%s: name %s is not unique\n"
+msgstr "%s: tên %s không phải độc nhất.\n"
+
+#: src/groupadd.c:234
+#, c-format
+msgid "%s: gid %u is not unique\n"
+msgstr "%s: gid %u không phải độc nhất.\n"
+
+#: src/groupadd.c:258
+#, c-format
+msgid "%s: can't get unique gid\n"
+msgstr "%s: không gọi được gid độc nhất.\n"
+
+#: src/groupadd.c:280 src/groupmod.c:283
+#, c-format
+msgid "%s: %s is not a valid group name\n"
+msgstr "%s: %s không phải là tên nhóm hợp lệ\n"
+
+#: src/groupadd.c:309 src/groupmod.c:308
+#, c-format
+msgid "%s: invalid group %s\n"
+msgstr "%s: nhóm không hợp lệ %s.\n"
+
+#: src/groupadd.c:326 src/useradd.c:1099
+#, c-format
+msgid "%s: -O requires NAME=VALUE\n"
+msgstr "%s: -O cần đến TÊN=GIÁ_TRỊ\n"
+
+#: src/groupadd.c:370 src/groupdel.c:124 src/groupmod.c:343 src/useradd.c:1212
+#: src/userdel.c:245 src/usermod.c:522
+#, c-format
+msgid "%s: cannot rewrite group file\n"
+msgstr "%s: không ghi lại được tập tin nhóm.\n"
+
+#: src/groupadd.c:377 src/groupdel.c:131 src/groupmod.c:350 src/useradd.c:1220
+#: src/userdel.c:251 src/usermod.c:645
+#, c-format
+msgid "%s: cannot rewrite shadow group file\n"
+msgstr "%s: không ghi lại được tập tin nhóm bóng.\n"
+
+#: src/groupadd.c:394 src/groupdel.c:148 src/groupmod.c:367 src/userdel.c:311
+#, c-format
+msgid "%s: unable to lock group file\n"
+msgstr "%s: không khóa được tập tin nhóm.\n"
+
+#: src/groupadd.c:398 src/groupdel.c:152 src/groupmod.c:371
+#, c-format
+msgid "%s: unable to open group file\n"
+msgstr "%s: không mở được tập tin nhóm.\n"
+
+#: src/groupadd.c:404 src/groupdel.c:158 src/groupmod.c:377 src/userdel.c:321
+#, c-format
+msgid "%s: unable to lock shadow group file\n"
+msgstr "%s: không khóa được tập tin nhóm bóng.\n"
+
+#: src/groupadd.c:409 src/groupdel.c:163 src/groupmod.c:382
+#, c-format
+msgid "%s: unable to open shadow group file\n"
+msgstr "%s: không mở được tập tin nhóm bóng.\n"
+
+#: src/groupadd.c:508
+#, c-format
+msgid "%s: group %s exists\n"
+msgstr "%s: có nhóm %s rồi.\n"
+
+#: src/groupdel.c:83
+#, c-format
+msgid "Usage: groupdel group\n"
+msgstr ""
+"Cách sử dụng: groupdel nhóm\n"
+"(groupdel: xóa bỏ nhóm)\n"
+
+#: src/groupdel.c:96 src/groupmod.c:178 src/groupmod.c:201
+#, c-format
+msgid "%s: error removing group entry\n"
+msgstr "%s: gặp lỗi khi loại bỏ mục ghi nhóm.\n"
+
+#: src/groupdel.c:106
+#, c-format
+msgid "%s: error removing shadow group entry\n"
+msgstr "%s: gặp lỗi khi loại bỏ mục ghi nhóm bóng.\n"
+
+#: src/groupdel.c:202
+#, c-format
+msgid "%s: cannot remove user's primary group.\n"
+msgstr "%s: không loại bỏ được nhóm chính của người dùng.\n"
+
+#: src/groupdel.c:290 src/groupmod.c:471
+#, c-format
+msgid "%s: group %s does not exist\n"
+msgstr "%s: chưa có nhóm %s.\n"
+
+#: src/groupdel.c:303 src/groupmod.c:485
+#, c-format
+msgid "%s: group %s is a NIS group\n"
+msgstr "%s: nhóm %s là nhóm NIS.\n"
+
+#: src/groupdel.c:308 src/groupmod.c:490 src/userdel.c:611 src/usermod.c:743
+#, c-format
+msgid "%s: %s is the NIS master\n"
+msgstr "%s: %s là NIS cái.\n"
+
+#: src/groupmod.c:98
+#, c-format
+msgid "Usage: groupmod [-g gid [-o]] [-n name] group\n"
+msgstr ""
+"Cách sử dụng: groupmod [-g gid [-o]] [-n tên] nhóm\n"
+"(groupmod: sửa đổi nhóm)\n"
+
+#: src/groupmod.c:156
+#, c-format
+msgid "%s: %s not found in /etc/group\n"
+msgstr "%s: không tìm thấy %s trong /etc/group\n"
+
+#: src/groupmod.c:242
+#, c-format
+msgid "%s: %u is not a unique gid\n"
+msgstr "%s: %u không phải là gid độc nhất.\n"
+
+#: src/groupmod.c:272
+#, c-format
+msgid "%s: %s is not a unique name\n"
+msgstr "%s: %s không phải là tên độc nhất.\n"
+
+#: src/grpck.c:87
+#, c-format
+msgid "Usage: %s [-r] [-s] [group [gshadow]]\n"
+msgstr "Cách sử dụng: %s [-r] [-s] [nhóm [nhóm_bóng]]\n"
+
+#: src/grpck.c:89
+#, c-format
+msgid "Usage: %s [-r] [-s] [group]\n"
+msgstr "Cách sử dụng: %s [-r] [-s] [nhóm]\n"
+
+#: src/grpck.c:107 src/pwck.c:108
+msgid "No"
+msgstr "Không"
+
+#: src/grpck.c:191 src/pwck.c:175
+#, c-format
+msgid "%s: -s and -r are incompatibile\n"
+msgstr "%s: hai tùy chọn -s và -r không tương thích.\n"
+
+#: src/grpck.c:230 src/grpck.c:239 src/pwck.c:214 src/pwck.c:223
+#, c-format
+msgid "%s: cannot lock file %s\n"
+msgstr "%s: không khóa được tập tin %s.\n"
+
+#: src/grpck.c:255 src/grpck.c:264 src/mkpasswd.c:201 src/pwck.c:239
+#: src/pwck.c:248
+#, c-format
+msgid "%s: cannot open file %s\n"
+msgstr "%s: không mở được tập tin %s.\n"
+
+#: src/grpck.c:307
+#, c-format
+msgid "invalid group file entry\n"
+msgstr "mục ghi tập tin nhóm không hợp lệ.\n"
+
+#: src/grpck.c:308 src/grpck.c:371 src/grpck.c:453 src/grpck.c:516
+#: src/grpck.c:533 src/pwck.c:293 src/pwck.c:355 src/pwck.c:453 src/pwck.c:515
+#: src/pwck.c:539
+#, c-format
+msgid "delete line `%s'? "
+msgstr "xóa bỏ dòng `%s' chứ?"
+
+#: src/grpck.c:370
+msgid "duplicate group entry\n"
+msgstr "mục ghi nhóm nhân bản\n"
+
+#: src/grpck.c:387
+#, c-format
+msgid "invalid group name `%s'\n"
+msgstr "tên nhóm không hợp lệ `%s'\n"
+
+#: src/grpck.c:413
+#, c-format
+msgid "group %s: no user %s\n"
+msgstr "nhóm %s: không có người dùng %s.\n"
+
+#: src/grpck.c:415 src/grpck.c:585
+#, c-format
+msgid "delete member `%s'? "
+msgstr "xóa bỏ thành viên `%s' chứ?"
+
+#: src/grpck.c:452
+#, c-format
+msgid "invalid shadow group file entry\n"
+msgstr "mục ghi tập tin nhóm bóng không hợp lệ\n"
+
+#: src/grpck.c:515
+msgid "duplicate shadow group entry\n"
+msgstr "mục ghi nhóm bóng nhân bản\n"
+
+#: src/grpck.c:532
+msgid "no matching group file entry\n"
+msgstr "không có mục ghi tập tin nhóm có khớp\n"
+
+#: src/grpck.c:553
+#, c-format
+msgid "shadow group %s: no administrative user %s\n"
+msgstr "nhóm bóng %s: không có người dùng có quyền quản lý %s.\n"
+
+#: src/grpck.c:555
+#, c-format
+msgid "delete administrative member `%s'? "
+msgstr "xóa bỏ thành viên có quyền quản lý `%s' chứ?"
+
+#: src/grpck.c:583
+#, c-format
+msgid "shadow group %s: no user %s\n"
+msgstr "nhóm bóng %s: không có người dùng %s.\n"
+
+#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581
+#, c-format
+msgid "%s: cannot update file %s\n"
+msgstr "%s: không cập nhật được tập tin %s.\n"
+
+#: src/grpck.c:640 src/pwck.c:606
+#, c-format
+msgid "%s: the files have been updated\n"
+msgstr "%s: đã cập nhật các tập tin ấy rồi.\n"
+
+#: src/grpck.c:641 src/pwck.c:607
+#, c-format
+msgid "%s: no changes\n"
+msgstr "%s: chưa thay đổi gì\n"
+
+#: src/grpconv.c:60 src/grpunconv.c:56
+#, c-format
+msgid "%s: can't lock group file\n"
+msgstr "%s: không khóa được tập tin nhóm.\n"
+
+#: src/grpconv.c:65 src/grpunconv.c:61
+#, c-format
+msgid "%s: can't open group file\n"
+msgstr "%s: không mở được tập tin nhóm.\n"
+
+#: src/grpconv.c:70 src/grpunconv.c:66
+#, c-format
+msgid "%s: can't lock shadow group file\n"
+msgstr "%s: không khóa được tập tin nhóm bóng.\n"
+
+#: src/grpconv.c:75 src/grpunconv.c:71
+#, c-format
+msgid "%s: can't open shadow group file\n"
+msgstr "%s: không mở được tập tin nhóm bóng.\n"
+
+#: src/grpconv.c:92
+#, c-format
+msgid "%s: can't remove shadow group %s\n"
+msgstr "%s: không loại bỏ được nhóm bóng %s.\n"
+
+#: src/grpconv.c:130 src/pwconv.c:153
+#, c-format
+msgid "%s: can't update shadow entry for %s\n"
+msgstr "%s: không cập nhật được mục ghi bóng cho %s.\n"
+
+#: src/grpconv.c:140 src/grpunconv.c:88
+#, c-format
+msgid "%s: can't update entry for group %s\n"
+msgstr "%s: không cập nhật được mục ghi cho nhóm %s.\n"
+
+#: src/grpconv.c:147 src/grpunconv.c:96
+#, c-format
+msgid "%s: can't update shadow group file\n"
+msgstr "%s: không cập nhật được tập tin nhóm bóng.\n"
+
+#: src/grpconv.c:152 src/grpunconv.c:102
+#, c-format
+msgid "%s: can't update group file\n"
+msgstr "%s: không cập nhật được tập tin nhóm.\n"
+
+#: src/grpunconv.c:107
+#, c-format
+msgid "%s: can't delete shadow group file\n"
+msgstr "%s: không xóa bỏ được tập tin nhóm bóng.\n"
+
+#: src/id.c:53
+#, c-format
+msgid "Usage: id [-a]\n"
+msgstr "Cách sử dụng: id [-a]\n"
+
+#: src/id.c:55
+#, c-format
+msgid "Usage: id\n"
+msgstr "Cách sử dụng: id\n"
+
+#: src/id.c:169
+#, c-format
+msgid " groups="
+msgstr " nhóm="
+
+#: src/lastlog.c:64
+#, c-format
+msgid ""
+"Usage: lastlog [options]\n"
+"\n"
+"Options:\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -h, --help\t\tdisplay this help message and exit\n"
+"  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
+msgstr ""
+"Cách sử dụng: lastlog [tùy_chọn]\n"
+"(lastlog: bản ghi cuối cùng)\n"
+"\n"
+"Tùy chọn:\n"
+"  -u, --user TÊN_DÙNG\thiển thị mục ghi lastlog cho _người dùng_ có tên ấy\n"
+"  -h, --help\t\thiển thị _trợ giúp_ này rồi thoát\n"
+"  -t, --time SỐ\thiển thị các mục ghi lastlog chỉ mới hơn SỐ ngày (_thời "
+"gian_)\n"
+
+#: src/lastlog.c:90
+#, c-format
+msgid "Username         Port     From             Latest\n"
+msgstr "Tên dùng\t\t Cổng    Từ\t\tGần nhất\n"
+
+#: src/lastlog.c:92
+#, c-format
+msgid "Username                Port     Latest\n"
+msgstr "Tên dùng\t\t\t Cổng   Gần nhất\n"
+
+#: src/lastlog.c:107
+msgid "**Never logged in**"
+msgstr "**Chưa bao giờ đăng nhập**"
+
+#: src/login.c:156
+#, c-format
+msgid "Usage: %s [-p] [name]\n"
+msgstr "Cách sử dụng: %s [-p] [tên]\n"
+
+#: src/login.c:159
+#, c-format
+msgid "       %s [-p] [-h host] [-f name]\n"
+msgstr "       %s [-p] [-h máy] [-f tên]\n"
+
+#: src/login.c:161
+#, c-format
+msgid "       %s [-p] -r host\n"
+msgstr "       %s [-p] -r máy\n"
+
+#: src/login.c:198
+#, c-format
+msgid "Invalid login time\n"
+msgstr "Thời gian đăng nhập không hợp lệ.\n"
+
+#: src/login.c:234
+#, c-format
+msgid ""
+"\n"
+"System closed for routine maintenance\n"
+msgstr ""
+"\n"
+"Hệ thông bị đóng với lý do bảo dưỡng theo thủ tục.\n"
+
+#: src/login.c:244
+#, c-format
+msgid ""
+"\n"
+"[Disconnect bypassed -- root login allowed.]\n"
+msgstr ""
+"\n"
+"[Đã đi vòng sự kết nối bị ngắt -- cho phép người chủ đăng nhập.]\n"
+
+#: src/login.c:297
+#, c-format
+msgid ""
+"\n"
+"Login timed out after %d seconds.\n"
+msgstr ""
+"\n"
+"Đăng nhập đã quá giờ sau %d giây.\n"
+
+#: src/login.c:565
+#, c-format
+msgid " on `%.100s' from `%.200s'"
+msgstr " vào `%.100s' từ `%.200s'"
+
+#: src/login.c:568
+#, c-format
+msgid " on `%.100s'"
+msgstr " vào `%.100s'"
+
+#: src/login.c:722
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"%s đăng nhập: "
+
+#: src/login.c:879 src/sulogin.c:203
+msgid "Login incorrect"
+msgstr "Đăng nhập không đúng"
+
+#: src/login.c:996
+msgid "Warning: login re-enabled after temporary lockout.\n"
+msgstr "Cảnh báo: đã hiệu lực lại đăng nhập sau bị khóa ra tạm thời.\n"
+
+#: src/login.c:1010
+#, c-format
+msgid "Last login: %s on %s"
+msgstr "Đang nhập cuối cùng: %s vào %s"
+
+#: src/login.c:1013
+#, c-format
+msgid "Last login: %.19s on %s"
+msgstr "Đang nhập cuối cùng: %.19s vào %s"
+
+#: src/login.c:1018
+#, c-format
+msgid " from %.*s"
+msgstr " từ %.*s"
+
+#: src/mkpasswd.c:47
+#, c-format
+msgid "%s: no DBM database on system - no action performed\n"
+msgstr ""
+"%s: không có cơ sở dữ liệu DBM trên hệ thống này thì chưa thực hiện hành "
+"động nào.\n"
+
+#: src/mkpasswd.c:231 src/mkpasswd.c:236
+#, c-format
+msgid "%s: cannot overwrite file %s\n"
+msgstr "%s: không ghi đè lên tập tin %s.\n"
+
+#: src/mkpasswd.c:251
+#, c-format
+msgid "%s: cannot open DBM files for %s\n"
+msgstr "%s: không mở được các tập tin DBM để %s.\n"
+
+#: src/mkpasswd.c:286
+#, c-format
+msgid "%s: the line beginning with %.16s... is too long\n"
+msgstr "%s: dòng bắt đầu với %.16s... là quá dài.\n"
+
+#: src/mkpasswd.c:313
+#, c-format
+msgid "%s: error parsing line \"%s\"\n"
+msgstr "%s: gặp lỗi khi phân tách dòng \"%s\".\n"
+
+#: src/mkpasswd.c:321 src/mkpasswd.c:326 src/mkpasswd.c:331 src/mkpasswd.c:336
+#, c-format
+msgid "adding record for name %s\n"
+msgstr "đang thêm mục ghi cho tên %s\n"
+
+#: src/mkpasswd.c:342 src/mkpasswd.c:348 src/mkpasswd.c:353 src/mkpasswd.c:358
+#, c-format
+msgid "%s: error adding record for %s\n"
+msgstr "%s: gặp lỗi khi thêm mục ghi cho %s\n"
+
+#: src/mkpasswd.c:376
+#, c-format
+msgid "added %d entries, longest was %d\n"
+msgstr "đã thêm %d mục ghi, mục dài nhất là %d\n"
+
+#: src/mkpasswd.c:389
+#, c-format
+msgid "Usage: %s [-vf] [-p|g|sp|sg] file\n"
+msgstr "Cách sử dụng: %s [-vf] [-p|g|sp|sg] tập_tin\n"
+
+#: src/mkpasswd.c:391
+#, c-format
+msgid "Usage: %s [-vf] [-p|g|sp] file\n"
+msgstr "Cách sử dụng: %s [-vf] [-p|g|sp] tập_tin\n"
+
+#: src/mkpasswd.c:394
+#, c-format
+msgid "Usage: %s [-vf] [-p|g] file\n"
+msgstr "Cách sử dụng: %s [-vf] [-p|g] tập_tin\n"
+
+#: src/newgrp.c:61
+#, c-format
+msgid "Usage: newgrp [-] [group]\n"
+msgstr ""
+"Cách sử dụng: newgrp [-] [nhóm]\n"
+"(newgrp: nhóm mới)\n"
+
+#: src/newgrp.c:63
+#, c-format
+msgid "Usage: sg group [[-c] command]\n"
+msgstr ""
+"Cách sử dụng: sg group [[-c] lệnh]\n"
+"(group: nhóm)\n"
+
+#: src/newgrp.c:131
+#, c-format
+msgid "unknown uid: %u\n"
+msgstr "uid lạ: %u\n"
+
+#: src/newgrp.c:213
+#, c-format
+msgid "unknown gid: %lu\n"
+msgstr "gid lạ: %lu\n"
+
+#: src/newgrp.c:358 src/newgrp.c:367
+msgid "Sorry.\n"
+msgstr "Tiếc là\n"
+
+#: src/newgrp.c:472
+#, c-format
+msgid "too many groups\n"
+msgstr "có quá nhiều nhóm.\n"
+
+#: src/newusers.c:78
+#, c-format
+msgid "Usage: %s [input]\n"
+msgstr "Cách sử dụng: %s [dữ_liệu]\n"
+
+#: src/newusers.c:382
+#, c-format
+msgid "%s: can't lock /etc/passwd.\n"
+msgstr "%s: không khóa được /etc/passwd.\n"
+
+#: src/newusers.c:394
+#, c-format
+msgid "%s: can't lock files, try again later\n"
+msgstr "%s: không khóa được tập tin; hãy thư lại sau.\n"
+
+#: src/newusers.c:409
+#, c-format
+msgid "%s: can't open files\n"
+msgstr "%s: không mở được tập tin.\n"
+
+#: src/newusers.c:454
+#, c-format
+msgid "%s: line %d: invalid line\n"
+msgstr "%s: dòng %d: dòng không hợp lệ.\n"
+
+#: src/newusers.c:473
+#, c-format
+msgid "%s: line %d: can't create GID\n"
+msgstr "%s: dòng %d: không tạo được GID.\n"
+
+#: src/newusers.c:489
+#, c-format
+msgid "%s: line %d: can't create UID\n"
+msgstr "%s: dòng %d: không tạo được UID.\n"
+
+#: src/newusers.c:502
+#, c-format
+msgid "%s: line %d: cannot find user %s\n"
+msgstr "%s: dòng %d: không tìm thấy người dùng %s.\n"
+
+#: src/newusers.c:511
+#, c-format
+msgid "%s: line %d: can't update password\n"
+msgstr "%s: dòng %d: không cập nhật được mật khẩu.\n"
+
+#: src/newusers.c:529
+#, c-format
+msgid "%s: line %d: mkdir failed\n"
+msgstr "%s: dòng %d: không thực hiện lệnh mkdir (tạo thư mục) được.\n"
+
+#: src/newusers.c:534
+#, c-format
+msgid "%s: line %d: chown failed\n"
+msgstr ""
+"%s: dòng %d: không thực hiện lệnh chown (thay đổi quyền sở hữu) được.\n"
+
+#: src/newusers.c:544
+#, c-format
+msgid "%s: line %d: can't update entry\n"
+msgstr "%s: dòng %d: không cập nhật được mục ghi\n"
+
+#: src/newusers.c:576
+#, c-format
+msgid "%s: error updating files\n"
+msgstr "%s: gặp lỗi khi cập nhật tập tin.\n"
+
+#: src/passwd.c:154
+#, c-format
+msgid "Usage: %s [-f|-s] [name]\n"
+msgstr "Cách sử dụng: %s [-f|-s] [tên]\n"
+
+#: src/passwd.c:158
+#, c-format
+msgid "       %s [-x max] [-n min] [-w warn] [-i inact] name\n"
+msgstr ""
+"       %s [-x tối_đa] [-n tối_thiểu] [-w cảnh_báo] [-i không_hoạt_động] tên\n"
+
+#: src/passwd.c:160
+#, c-format
+msgid "       %s {-l|-u|-d|-S|-e} name\n"
+msgstr "       %s {-l|-u|-d|-S|-e} tên\n"
+
+#: src/passwd.c:214
+msgid "Old password: "
+msgstr "Mật khẩu cũ:"
+
+#: src/passwd.c:223
+#, c-format
+msgid "Incorrect password for `%s'\n"
+msgstr "Mật khẩu không đúng cho `%s'\n"
+
+#: src/passwd.c:247
+#, c-format
+msgid ""
+"Enter the new password (minimum of %d, maximum of %d characters)\n"
+"Please use a combination of upper and lower case letters and numbers.\n"
+msgstr ""
+"Hãy nhập mật khẩu mới (ký tự tối thiểu %d, tối đa %d).\n"
+"Hãy phối cả chữ hoa và chữ thường và số với nhau.\n"
+
+#: src/passwd.c:253
+msgid "New password: "
+msgstr "Mật khẩu mới:"
+
+#: src/passwd.c:263
+#, c-format
+msgid "Try again.\n"
+msgstr "Hãy thử lại.\n"
+
+#: src/passwd.c:274
+#, c-format
+msgid ""
+"\n"
+"Warning: weak password (enter it again to use it anyway).\n"
+msgstr ""
+"\n"
+"Cảnh báo: mật khẩu yếu (nếu còn muốn sử dụng nó thì hãy nhập lại).\n"
+
+#: src/passwd.c:283
+#, c-format
+msgid "They don't match; try again.\n"
+msgstr "Hai mật khẩu ấy chưa khớp với nhau: hãy thử lại.\n"
+
+#: src/passwd.c:360 src/passwd.c:377
+#, c-format
+msgid "The password for %s cannot be changed.\n"
+msgstr "Không thay đổi được mật khẩu cho %s.\n"
+
+#: src/passwd.c:390
+#, c-format
+msgid "Sorry, the password for %s cannot be changed yet.\n"
+msgstr "Tiếc là chưa có thể thay đổi mật khẩu cho %s.\n"
+
+#: src/passwd.c:472
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: hết bộ nhớ\n"
+
+#: src/passwd.c:701
+#, c-format
+msgid "%s: Cannot execute %s"
+msgstr "%s: không thực hiện được %s."
+
+#: src/passwd.c:786
+#, c-format
+msgid "%s: repository %s not supported\n"
+msgstr "%s chưa hỗ trợ kho %s.\n"
+
+#: src/passwd.c:884
+#, c-format
+msgid "%s: You may not view or modify password information for %s.\n"
+msgstr "%s: không cho phép bạn xem hay sửa đổi thông tin mật khẩu cho %s.\n"
+
+#: src/passwd.c:934
+#, c-format
+msgid "Changing password for %s\n"
+msgstr "Đang thay đổi mật khẩu cho %s.\n"
+
+#: src/passwd.c:938
+#, c-format
+msgid "The password for %s is unchanged.\n"
+msgstr "Chưa thay đổi mật khẩu cho %s.\n"
+
+#: src/passwd.c:987
+#, c-format
+msgid "Password changed.\n"
+msgstr "Đã thay đổi mật khẩu rồi.\n"
+
+#: src/pwck.c:87
+#, c-format
+msgid "Usage: %s [-q] [-r] [-s] [passwd [shadow]]\n"
+msgstr ""
+"Cách sử dụng: %s [-q] [-r] [-s] [passwd [shadow]]\n"
+"(passwd: mật khẩu\n"
+"shadow: bóng)\n"
+
+#: src/pwck.c:90
+#, c-format
+msgid "Usage: %s [-q] [-r] [-s] [passwd]\n"
+msgstr ""
+"Cách sử dụng: %s [-q] [-r] [-s] [passwd]\n"
+"(passwd: mật khẩu)\n"
+
+#: src/pwck.c:292
+#, c-format
+msgid "invalid password file entry\n"
+msgstr "mục ghi tập tin mật khẩu không hợp lệ\n"
+
+#: src/pwck.c:354
+msgid "duplicate password entry\n"
+msgstr "mục ghi mật khẩu nhân bản\n"
+
+#: src/pwck.c:370
+#, c-format
+msgid "invalid user name '%s'\n"
+msgstr "tên dùng không hợp lệ '%s'\n"
+
+#: src/pwck.c:384
+#, c-format
+msgid "user %s: no group %u\n"
+msgstr "người dùng %s: không có nhóm %u\n"
+
+#: src/pwck.c:400
+#, c-format
+msgid "user %s: directory %s does not exist\n"
+msgstr "người dùng %s: chưa có thư mục %s.\n"
+
+#: src/pwck.c:416
+#, c-format
+msgid "user %s: program %s does not exist\n"
+msgstr "người dùng %s: chưa có chương trình %s.\n"
+
+#: src/pwck.c:452
+#, c-format
+msgid "invalid shadow password file entry\n"
+msgstr "mục ghi tập tin mật khẩu bóng không hợp lệ\n"
+
+#: src/pwck.c:514
+msgid "duplicate shadow password entry\n"
+msgstr "mục ghi tập tin mật khẩu bóng nhân bản\n"
+
+#: src/pwck.c:538
+msgid "no matching password file entry\n"
+msgstr "không có mục ghi tập tin mật khẩu có khớp\n"
+
+#: src/pwck.c:556
+#, c-format
+msgid "user %s: last password change in the future\n"
+msgstr "người dùng %s: lần thay đổi mật khẩu cuối cùng có trong tương lai\n"
+
+#: src/pwconv.c:85 src/pwunconv.c:79
+#, c-format
+msgid "%s: can't lock passwd file\n"
+msgstr "%s: không khóa được tập tin mật khẩu (passwd)\n"
+
+#: src/pwconv.c:90 src/pwunconv.c:84
+#, c-format
+msgid "%s: can't open passwd file\n"
+msgstr "%s: không mở được tập tin mật khẩu (passwd)\n"
+
+#: src/pwconv.c:118
+#, c-format
+msgid "%s: can't remove shadow entry for %s\n"
+msgstr "%s: không loại bỏ được mục ghi bóng cho %s.\n"
+
+#: src/pwconv.c:163
+#, c-format
+msgid "%s: can't update passwd entry for %s\n"
+msgstr "%s: không cập nhật được mục ghi mật khẩu (passwd) cho %s.\n"
+
+#: src/pwconv.c:170
+#, c-format
+msgid "%s: can't update shadow file\n"
+msgstr "%s: không cập nhật được tập tin bóng.\n"
+
+#: src/pwconv.c:174
+#, c-format
+msgid "%s: can't update passwd file\n"
+msgstr "%s: không cập nhật được tập tin mật khẩu (passwd).\n"
+
+#: src/pwunconv.c:124
+#, c-format
+msgid "%s: can't update entry for user %s\n"
+msgstr "%s: không cập nhật được mục ghi cho người dùng %s.\n"
+
+#: src/pwunconv.c:143
+#, c-format
+msgid "%s: can't delete shadow password file\n"
+msgstr "%s: không xóa bỏ được tập tin mật khẩu bóng.\n"
+
+#: src/su.c:132
+msgid "Sorry."
+msgstr "Tiếc là..."
+
+#: src/su.c:320
+#, c-format
+msgid "%s: must be run from a terminal\n"
+msgstr "%s: phải chạy nó từ thiết bị cuối.\n"
+
+#: src/su.c:419
+#, c-format
+msgid "%s: pam_start: error %d\n"
+msgstr "%s: pam_start: (pam bắt đầu) lỗi %d\n"
+
+#: src/su.c:447
+#, c-format
+msgid "Unknown id: %s\n"
+msgstr "ID lạ: %s\n"
+
+#: src/su.c:484 src/su.c:500
+#, c-format
+msgid "You are not authorized to su %s\n"
+msgstr "Bạn không đủ quyền sử dụng lệnh su với %s.\n"
+
+#: src/su.c:495
+msgid "(Enter your own password.)"
+msgstr "(Hãy nhập mật khẩu của bạn.)"
+
+#: src/su.c:527
+#, c-format
+msgid ""
+"%s: %s\n"
+"(Ignored)\n"
+msgstr ""
+"%s: %s\n"
+"(Đã bo qua)\n"
+
+#: src/su.c:741
+#, c-format
+msgid "No shell\n"
+msgstr "Không có hệ vỏ\n"
+
+#: src/suauth.c:104
+#, c-format
+msgid "Access to su to that account DENIED.\n"
+msgstr "su KHÔNG đủ quyền truy cập tài khoản ấy.\n"
+
+#: src/suauth.c:112
+#, c-format
+msgid "Password authentication bypassed.\n"
+msgstr "Đã đi vòng việc xác thức mật khẩu rồi.\n"
+
+#: src/suauth.c:121
+#, c-format
+msgid "Please enter your OWN password as authentication.\n"
+msgstr "Hãy nhập mật khẩu của BẠN để xác thức.\n"
+
+#: src/sulogin.c:118
+#, c-format
+msgid "No password file\n"
+msgstr "Không có tập tin mật khẩu.\n"
+
+#: src/sulogin.c:160
+#, c-format
+msgid "No password entry for 'root'\n"
+msgstr "Không có mục ghi mật khẩu cho 'root' (người chủ).\n"
+
+#: src/sulogin.c:175
+msgid ""
+"\n"
+"Type control-d to proceed with normal startup,\n"
+"(or give root password for system maintenance):"
+msgstr ""
+"\n"
+"Hãy gõ hai phím control-d để tiếp tục khởi động cách thường,\n"
+"(hoặc nhập mật khẩu chủ để bảo dưỡng hệ thống:"
+
+#: src/sulogin.c:210
+msgid "Entering System Maintenance Mode\n"
+msgstr "Đang vào chế độ bảo dưỡng hệ thống\n"
+
+#: src/useradd.c:230 src/useradd.c:243 src/usermod.c:682 src/usermod.c:695
+#, c-format
+msgid "%s: invalid numeric argument `%s'\n"
+msgstr "%s: đối số thuộc số không hợp lệ `%s'\n"
+
+#: src/useradd.c:298
+#, c-format
+msgid "%s: unknown gid %s\n"
+msgstr "%s: GID lạ %s\n"
+
+#: src/useradd.c:306 src/useradd.c:598 src/useradd.c:1055 src/usermod.c:227
+#: src/usermod.c:814
+#, c-format
+msgid "%s: unknown group %s\n"
+msgstr "%s: nhóm lạ %s\n"
+
+#: src/useradd.c:418
+#, c-format
+msgid "%s: cannot create new defaults file\n"
+msgstr "%s: không tạo được tập tin mặc định mới.\n"
+
+#: src/useradd.c:423
+#, c-format
+msgid "%s: cannot open new defaults file\n"
+msgstr "%s: không mở được tập tin mặc định mới.\n"
+
+#: src/useradd.c:515 src/useradd.c:526
+#, c-format
+msgid "%s: rename: %s"
+msgstr "%s: đổi tên: %s"
+
+#: src/useradd.c:619 src/usermod.c:248
+#, c-format
+msgid "%s: group `%s' is a NIS group.\n"
+msgstr "%s: nhóm `%s' không phải là nhóm NIS.\n"
+
+#: src/useradd.c:628 src/usermod.c:257
+#, c-format
+msgid "%s: too many groups specified (max %d).\n"
+msgstr "%s: đã ghi rõ quá nhiều nhóm (tối đa %d).\n"
+
+#: src/useradd.c:660
+#, c-format
+msgid "Usage: useradd [-u uid [-o]] [-g group] [-G group,...] \n"
+msgstr ""
+"Cách sử dụng: useradd [-u uid [-o]] [-g nhóm] [-G nhóm,...] \n"
+"(useradd: thêm người dùng)\n"
+
+#: src/useradd.c:663
+#, c-format
+msgid "               [-d home] [-s shell] [-c comment] [-m [-k template]]\n"
+msgstr "\t\t[-d chính] [-s hệ_vỏ] [-c ghi_chú] [-m [-k mẫu]]\n"
+
+#: src/useradd.c:665 src/useradd.c:671
+#, c-format
+msgid "               [-f inactive] [-e expire]\n"
+msgstr "\t\t[-f không_hoạt_động] [-e hết_hạn ]\n"
+
+#: src/useradd.c:667
+#, c-format
+msgid "               [-p passwd] name\n"
+msgstr "\t\t[-p mật_khẩu] tên\n"
+
+#: src/useradd.c:669
+#, c-format
+msgid "       useradd -D [-g group] [-b base] [-s shell]\n"
+msgstr ""
+"       useradd -D [-g nhóm] [-b cơ_bản] [-s hệ_vỏ]\n"
+"(useradd: thêm người dùng)\n"
+
+#: src/useradd.c:756 src/usermod.c:444
+#, c-format
+msgid "%s: error locking group file\n"
+msgstr "%s: gặp lỗi khi khóa tập tin nhóm.\n"
+
+#: src/useradd.c:760 src/usermod.c:449
+#, c-format
+msgid "%s: error opening group file\n"
+msgstr "%s: gặp lỗi khi mở tập tin nhóm.\n"
+
+#: src/useradd.c:766 src/usermod.c:542
+#, c-format
+msgid "%s: error locking shadow group file\n"
+msgstr "%s: gặp lỗi khi khóa tập tin nhóm bóng.\n"
+
+#: src/useradd.c:771 src/usermod.c:548
+#, c-format
+msgid "%s: error opening shadow group file\n"
+msgstr "%s: gặp lỗi khi mở tập tin nhóm bóng.\n"
+
+#: src/useradd.c:909
+#, c-format
+msgid "%s: uid %u is not unique\n"
+msgstr "%s: UID %u không phải độc nhất\n"
+
+#: src/useradd.c:939
+#, c-format
+msgid "%s: can't get unique uid\n"
+msgstr "%s: không gọi được UID độc nhất\n"
+
+#: src/useradd.c:975
+#, c-format
+msgid "%s: invalid base directory `%s'\n"
+msgstr "%s: thư mục cơ ban không hợp lệ `%s'\n"
+
+#: src/useradd.c:985
+#, c-format
+msgid "%s: invalid comment `%s'\n"
+msgstr "%s: ghi chú không hợp lệ `%s'\n"
+
+#: src/useradd.c:996
+#, c-format
+msgid "%s: invalid home directory `%s'\n"
+msgstr "%s: thư mục chính không hợp lê `%s'\n"
+
+#: src/useradd.c:1015 src/usermod.c:796
+#, c-format
+msgid "%s: invalid date `%s'\n"
+msgstr "%s: ngày không hợp lệ `%s'\n"
+
+#: src/useradd.c:1028
+#, c-format
+msgid "%s: shadow passwords required for -e\n"
+msgstr "%s: cần đến mật khẩu bóng cho tùy chọn -e\n"
+
+#: src/useradd.c:1044
+#, c-format
+msgid "%s: shadow passwords required for -f\n"
+msgstr "%s: cần đến mật khẩu bóng cho tùy chọn -f\n"
+
+#: src/useradd.c:1111 src/usermod.c:772 src/usermod.c:782 src/usermod.c:829
+#: src/usermod.c:873
+#, c-format
+msgid "%s: invalid field `%s'\n"
+msgstr "%s: trường không hợp lệ`%s'\n"
+
+#: src/useradd.c:1122
+#, c-format
+msgid "%s: invalid shell `%s'\n"
+msgstr "%s: hệ vỏ không hợp lệ `%s'\n"
+
+#: src/useradd.c:1163
+#, c-format
+msgid "%s: invalid user name '%s'\n"
+msgstr "%s: tên dùng không hợp lệ '%s'\n"
+
+#: src/useradd.c:1199 src/userdel.c:238 src/usermod.c:940
+#, c-format
+msgid "%s: cannot rewrite password file\n"
+msgstr "%s: không ghi lại được tập tin mật khẩu\n"
+
+#: src/useradd.c:1205 src/userdel.c:242 src/usermod.c:946
+#, c-format
+msgid "%s: cannot rewrite shadow password file\n"
+msgstr "%s: không ghi lại được tập tin mật khẩu bóng\n"
+
+#: src/useradd.c:1244 src/userdel.c:291 src/usermod.c:979
+#, c-format
+msgid "%s: unable to lock password file\n"
+msgstr "%s: không khóa được tập tin mật khẩu\n"
+
+#: src/useradd.c:1248 src/userdel.c:295 src/usermod.c:983
+#, c-format
+msgid "%s: unable to open password file\n"
+msgstr "%s: không mở được tập tin mật khẩu\n"
+
+#: src/useradd.c:1255 src/userdel.c:301 src/usermod.c:989
+#, c-format
+msgid "%s: cannot lock shadow password file\n"
+msgstr "%s: không khóa được tập tin mật khẩu bóng\n"
+
+#: src/useradd.c:1261 src/userdel.c:306 src/usermod.c:994
+#, c-format
+msgid "%s: cannot open shadow password file\n"
+msgstr "%s: không mở được tập tin mật khẩu bóng\n"
+
+#: src/useradd.c:1354
+#, c-format
+msgid "%s: error adding new password entry\n"
+msgstr "%s: gặp lỗi khi thêm mục ghi mật khẩu mới.\n"
+
+#: src/useradd.c:1365 src/usermod.c:1063
+#, c-format
+msgid "%s: error adding new shadow password entry\n"
+msgstr "%s: gặp lỗi khi thêm mục ghi mật khẩu bóng mới.\n"
+
+#: src/useradd.c:1393
+#, c-format
+msgid "%s: cannot create directory %s\n"
+msgstr "%s: không tạo được thư mục %s.\n"
+
+#: src/useradd.c:1423
+#, c-format
+msgid "No group named \"mail\" exists, creating mail spool with mode 0600.\n"
+msgstr "Không có nhóm tên \"mail\" thì đang tạo ống chỉ với chế độ 0600.\n"
+
+#: src/useradd.c:1446
+#, c-format
+msgid "Can't create mail spool for user %s.\n"
+msgstr "Không tạo được ống chỉ thư cho người dùng %s.\n"
+
+#: src/useradd.c:1550 src/usermod.c:919
+#, c-format
+msgid "%s: user %s exists\n"
+msgstr "%s: có người dùng %s rồi.\n"
+
+#: src/useradd.c:1564
+#, c-format
+msgid ""
+"%s: group %s exists - if you want to add this user to that group, use -g.\n"
+msgstr ""
+"%s: có nhóm %s rồi.  Nếu bạn muốn thêm người dùng này vào nhóm ấy\n"
+"\t\t\t\t\tthì hãy sử dụng tùy chọn -g.\n"
+
+#: src/useradd.c:1602
+#, c-format
+msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n"
+msgstr ""
+"%s: cảnh báo: chưa hỗ trợ CREATE_HOME thì hãy sử dụng tùy chọn -m thay vào "
+"đó.\n"
+
+#: src/userdel.c:108
+#, c-format
+msgid "Usage: %s [-r] name\n"
+msgstr "Cách sử dụng: %s [-r] tên\n"
+
+#: src/userdel.c:160 src/userdel.c:221
+#, c-format
+msgid "%s: error updating group entry\n"
+msgstr "%s: gặp lỗi khi cập nhật mục ghi nhóm.\n"
+
+#: src/userdel.c:315
+#, c-format
+msgid "%s: cannot open group file\n"
+msgstr "%s: không mở được tập tin nhóm.\n"
+
+#: src/userdel.c:325
+#, c-format
+msgid "%s: cannot open shadow group file\n"
+msgstr "%s: không mở được tập tin nhóm bóng.\n"
+
+#: src/userdel.c:343
+#, c-format
+msgid "%s: error deleting password entry\n"
+msgstr "%s: gặp lỗi khi xóa bỏ mục ghi mật khẩu.\n"
+
+#: src/userdel.c:347
+#, c-format
+msgid "%s: error deleting shadow password entry\n"
+msgstr "%s: gặp lỗi khi xóa bỏ mục ghi mật khẩu bóng.\n"
+
+#: src/userdel.c:388
+#, c-format
+msgid "%s: user %s is currently logged in\n"
+msgstr "%s: người dùng %s có đã đăng nhập.\n"
+
+#: src/userdel.c:496 src/userdel.c:641
+#, c-format
+msgid "%s: %s not owned by %s, not removing\n"
+msgstr "%1$s: %3$s không sở hữu %2$s thì sẽ không loại bỏ nó.\n"
+
+#: src/userdel.c:502
+#, c-format
+msgid "%s: warning: can't remove "
+msgstr "%s: cảnh báo: không thể loại bỏ"
+
+#: src/userdel.c:592 src/usermod.c:722
+#, c-format
+msgid "%s: user %s does not exist\n"
+msgstr "%s: không có người dùng %s\n"
+
+#: src/userdel.c:607 src/usermod.c:738
+#, c-format
+msgid "%s: user %s is a NIS user\n"
+msgstr "%s: người dùng %s là người dùng NIS.\n"
+
+#: src/userdel.c:664
+#, c-format
+msgid "%s: not removing directory %s (would remove home of user %s)\n"
+msgstr ""
+"%s: sẽ không loại bỏ thư mục %s (vì sẽ cũng loại bỏ thư mục chính của người "
+"dùng %s).\n"
+
+#: src/userdel.c:678
+#, c-format
+msgid "%s: error removing directory %s\n"
+msgstr "%s: gặp lỗi khi loại bỏ thư mục %s.\n"
+
+#: src/usermod.c:289
+#, c-format
+msgid "Usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n"
+msgstr "Cách sử dụng: %s\t[-u uid [-o]] [-g nhóm] [-G nhóm,...] \n"
+
+#: src/usermod.c:293
+#, c-format
+msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n"
+msgstr "\t\t[-d chính [-m]] [-s hệ_vỏ] [-c ghi_chú] [-l tên_mới]\n"
+
+#: src/usermod.c:296
+#, c-format
+msgid "[-f inactive] [-e expire] "
+msgstr "[-f không_hoạt_động] [-e hết_hạn ] "
+
+#: src/usermod.c:298
+#, c-format
+msgid "[-p passwd] [-L|-U] name\n"
+msgstr "[-p mật_khẩu] [-L|-U] tên\n"
+
+#: src/usermod.c:476
+#, c-format
+msgid "%s: out of memory in update_group\n"
+msgstr "%s: hết bộ nhớ trong update_group (cập nhật nhóm).\n"
+
+#: src/usermod.c:585
+#, c-format
+msgid "%s: out of memory in update_gshadow\n"
+msgstr "%s: hết bộ nhớ trong update_shadow (cập nhật bóng).\n"
+
+#: src/usermod.c:896
+#, c-format
+msgid "%s: no flags given\n"
+msgstr "%s: chưa gõ cờ\n"
+
+#: src/usermod.c:903
+#, c-format
+msgid "%s: shadow passwords required for -e and -f\n"
+msgstr "%s: cần đến mật khẩu bóng cho hai tùy chọn -e và -f\n"
+
+#: src/usermod.c:924
+#, c-format
+msgid "%s: uid %lu is not unique\n"
+msgstr "%s: UID %lu không phải độc nhất.\n"
+
+#: src/usermod.c:1047
+#, c-format
+msgid "%s: error changing password entry\n"
+msgstr "%s: gặp lỗi khi thay đổi mục ghi mật khẩu.\n"
+
+#: src/usermod.c:1053
+#, c-format
+msgid "%s: error removing password entry\n"
+msgstr "%s: gặp lỗi khi loại bỏ mục ghi mật khẩu.\n"
+
+#: src/usermod.c:1070
+#, c-format
+msgid "%s: error removing shadow password entry\n"
+msgstr "%s: gặp lỗi khi loại bỏ mục ghi mật khẩu bóng.\n"
+
+#: src/usermod.c:1098
+#, c-format
+msgid "%s: directory %s exists\n"
+msgstr "%s: có thư mục %s rồi.\n"
+
+#: src/usermod.c:1106
+#, c-format
+msgid "%s: can't create %s\n"
+msgstr "%s: không tạo được %s.\n"
+
+#: src/usermod.c:1111
+#, c-format
+msgid "%s: can't chown %s\n"
+msgstr "%s: không chown (thay đổi quyền sở hữu) được %s.\n"
+
+#: src/usermod.c:1128
+#, c-format
+msgid "%s: cannot rename directory %s to %s\n"
+msgstr "%s: không thể thay đổi lại thư mục %s thành %s.\n"
+
+#: src/usermod.c:1223
+#, c-format
+msgid "%s: warning: %s not owned by %s\n"
+msgstr "%1$s: cảnh báo: %3$s không sở hữu %2$s.\n"
+
+#: src/usermod.c:1229
+msgid "failed to change mailbox owner"
+msgstr "không thay đổi người sở hữu hộp thư được"
+
+#: src/usermod.c:1237
+msgid "failed to rename mailbox"
+msgstr "không thay đổi tên hộp thư được"
+
+#: src/vipw.c:104
+#, c-format
+msgid ""
+"\n"
+"%s: %s is unchanged\n"
+msgstr ""
+"\n"
+"%s: %s chưa thay đổi.\n"
+
+#: src/vipw.c:131
+msgid "Couldn't lock file"
+msgstr "Không khóa được tập tin."
+
+#: src/vipw.c:140
+msgid "Couldn't make backup"
+msgstr "Không lưu trữ được."
+
+#: src/vipw.c:196
+#, c-format
+msgid "%s: can't restore %s: %s (your changes are in %s)\n"
+msgstr "%s: không phục hồi được %s: %s (các thay đổi của bạn ở trong %s).\n"
+
+#: src/vipw.c:234
+#, c-format
+msgid ""
+"Usage:\n"
+"`vipw' edits /etc/passwd        `vipw -s' edits /etc/shadow\n"
+"`vigr' edits /etc/group         `vigr -s' edits /etc/gshadow\n"
+msgstr ""
+"Cách sử dụng:\n"
+"`vipw' thì sửa đổi /etc/passwd        `vipw -s' thì sửa đổi /etc/shadow\n"
+"`vigr' thì sửa đổi /etc/group         `vigr -s' thì sửa đổi /etc/gshadow\n"
index 447a8b392b5ddd3fe045bb13f99aea6da9e88fc7..5a6982d092616145c5c6dd8e5bd31345251fcbbe 100644 (file)
Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ
index ffd694442183645fd8d1ce6466fb531691de9a5c..b4e06da0e0ad3c16c6ca15431fb40f0afb1851a5 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2004-05-14 10:26+1200\n"
 "Last-Translator: Carlos Z.F. Liu <carlos_liu@yahoo.com>\n"
 "Language-Team: Chinese (simplified) <i18n-translation@lists.linux.net.cn>\n"
@@ -153,12 +153,12 @@ msgstr "无法将根目录改变为“%s”\n"
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) 失败\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "无法为配置信息分配空间。\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr "配置错误 - 未知项目“%s”(请通知管理员)\n"
@@ -1029,7 +1029,7 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
@@ -1216,7 +1216,7 @@ msgstr "未知的 gid:%lu\n"
 msgid "Sorry.\n"
 msgstr "抱歉。\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "用户组过多\n"
index 48acbb8d915cf31218f34d29019392e207f2098d..64c4d67f86ae94a1a40d05317966ec09296680c6 100644 (file)
Binary files a/po/zh_TW.gmo and b/po/zh_TW.gmo differ
index 732134aba65360b6242d604272c45d64a182e7c8..76d43f791459b8676b75a68889598ad058107dbd 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: shadow\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-25 12:28+0200\n"
+"POT-Creation-Date: 2005-05-23 12:26+0200\n"
 "PO-Revision-Date: 2005-01-06 09:58+0800\n"
 "Last-Translator: Asho Yeh <asho@debian.org.tw>\n"
 "Language-Team: Chinese (traditional) <<zh-l10n@linux.org.tw>>\n"
@@ -157,12 +157,12 @@ msgstr "無法將根目錄改變為“%s”\n"
 msgid "malloc(%d) failed\n"
 msgstr "malloc(%d) 失敗\n"
 
-#: lib/getdef.c:265
+#: lib/getdef.c:262
 #, c-format
 msgid "Could not allocate space for config info.\n"
 msgstr "無法為設定訊息配置空間。\n"
 
-#: lib/getdef.c:319
+#: lib/getdef.c:303
 #, c-format
 msgid "configuration error - unknown item '%s' (notify administrator)\n"
 msgstr "配置錯誤 - 未知項目“%s”(請通知管理員)\n"
@@ -1039,7 +1039,7 @@ msgid ""
 "Usage: lastlog [options]\n"
 "\n"
 "Options:\n"
-"  -u, --login LOGIN\tprint lastlog record for user with specified LOGIN\n"
+"  -u, --user LOGIN\tprint lastlog record for user with specified LOGIN\n"
 "  -h, --help\t\tdisplay this help message and exit\n"
 "  -t, --time DAYS\tprint only lastlog records more recent than DAYS\n"
 msgstr ""
@@ -1232,7 +1232,7 @@ msgstr "未知的 gid:%lu\n"
 msgid "Sorry.\n"
 msgstr "抱歉。\n"
 
-#: src/newgrp.c:467
+#: src/newgrp.c:472
 #, c-format
 msgid "too many groups\n"
 msgstr "使用者群組過多\n"
index 09ef76e71d3a64299cb302c427f11dd934b0af5d..6dcaef74481deb2b52b4b970e4d134ea5a6b73d7 100644 (file)
@@ -52,7 +52,11 @@ noinst_PROGRAMS = id$(EXEEXT) sulogin$(EXEEXT)
 subdir = src
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+       $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
index f4d1757dbb863c1447ef45067eadb16e00301c52..7c0421588824a1cbc9a24ca3655b5faf66e98cad 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: lastlog.c,v 1.17 2005/04/25 10:26:37 kloczek Exp $")
+RCSID (PKG_VER "$Id: lastlog.c,v 1.18 2005/04/27 16:55:33 kloczek Exp $")
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <stdio.h>
@@ -64,7 +64,7 @@ static void usage (void)
        fprintf (stdout, _("Usage: lastlog [options]\n"
                           "\n"
                           "Options:\n"
-                          "  -u, --login LOGIN print lastlog record for user with specified LOGIN\n"
+                          "  -u, --user LOGIN  print lastlog record for user with specified LOGIN\n"
                           "  -h, --help                display this help message and exit\n"
                           "  -t, --time DAYS   print only lastlog records more recent than DAYS\n"));
        exit (1);
index 95dbca75deab4fb0357398b198c58beda7588261..66df597b8a87f94a807f835f96c0362e06732e6b 100644 (file)
@@ -30,7 +30,7 @@
 #include <config.h>
 
 #include "rcsid.h"
-RCSID (PKG_VER "$Id: newgrp.c,v 1.27 2005/03/31 05:14:54 kloczek Exp $")
+RCSID (PKG_VER "$Id: newgrp.c,v 1.28 2005/05/19 11:28:27 kloczek Exp $")
 #include <stdio.h>
 #include <errno.h>
 #include <grp.h>
@@ -379,8 +379,13 @@ int main (int argc, char **argv)
                SYSLOG ((LOG_INFO, "user `%s' switched to group `%s'",
                         name, group));
        if (getdef_bool ("SYSLOG_SG_ENAB")) {
-               char *loginname = xstrdup (getlogin ());
-               char *tty = xstrdup (ttyname (0));
+               char *loginname = getlogin ();
+               char *tty = ttyname (0);
+
+               if (loginname != NULL)
+                       loginname = xstrdup (loginname);
+               if (tty != NULL)
+                       tty = xstrdup (tty);
 
                if (loginname == NULL)
                        loginname = "???";