diff --git a/ABOUT-NLS b/ABOUT-NLS index 47d5e39f..e0507743 100644 --- a/ABOUT-NLS +++ b/ABOUT-NLS @@ -1,10 +1,11 @@ -Notes on the Free Translation Project -************************************* +1 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 diff --git a/ChangeLog b/ChangeLog index 9595c3b2..0e873a81 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,111 @@ +2005-05-23 Tomasz Koczko + + * man/Makefile.am: remove shadow-man-pages.pot target from all. + +2005-05-19 Tomasz Koczko + + * lib/encrypt.c, NEWS: + fixed passwd segfault in non-PAM connfiguration (submited by Greg Schafer ). + + * po/sv.po: upsdate (by Christian Perrier ). + + * 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 Koczko + + * NEWS, po/ro.po: updated by Sorin B. . + + * po/ru.po, NEWS: updated by yu-koz . + +2005-05-13 Tomasz Koczko + + * po/ro.po: few updates by Sorin Batariuc . + +2005-05-12 Tomasz Koczko + + * po/ru.po: updated (by Yuri Kozlov ). + +2005-05-10 Tomasz Koczko + + * po/vi.po: + completed translations for HEAD (by Clytie Siddall ). + +2005-05-09 Tomasz Koczko + + * 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 ). + + * man/passwd.1, man/passwd.1.xml: make bold passwd and chfn commands. + +2005-04-28 Tomasz Koczko + + * man/usermod.8.xml, man/vipw.8.xml: cleanups. + +2005-04-27 Tomasz Koczko + + * 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 by . + + * 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 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 in + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=260636). + s,VISUAL,$VISUAL; s,EDITOR,$EDITOR, + +2005-04-26 Tomasz Koczko + + * man/login.1.xml: fixed bold (use ). 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 istead italic). Cleanups. + + * man/login.defs.5: fixed typo in italic. + + * man/vipw.8.xml: fixed italic (use ). + + * 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 istead bold. + + * man/login.defs.5: typo in bold. + + * man/su.1.xml: + removed comment. Use in Files secstion. + Fixed bold. + + * man/pwconv.8, man/su.1: typo in bold. + 2005-04-25 Tomasz Koczko + * NEWS, configure.in: start work on 4.0.9. + * po/nl.po: kill fuzzy. * man/chage.1: diff --git a/Makefile.in b/Makefile.in index 513096cf..d08f5698 100644 --- a/Makefile.in +++ b/Makefile.in @@ -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 cfd5d067..0f02777b 100644 --- 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 ), +- 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 ), +- lastlog: fixed --help message (s,--login,--user,) http://bugs.debian.org/249611. shadow-4.0.7 -> shadow-4.0.8 diff --git a/aclocal.m4 b/aclocal.m4 index 287770e1..a0f49935 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -11,1477 +11,6 @@ # 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 , 1995-2000. -dnl Bruno Haible , 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 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 -]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 -]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 -]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 ]) - gt_CHECK_DECL(_snwprintf, [#include ]) - - 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 ]) - gt_CHECK_DECL(fgets_unlocked, [#include ]) - gt_CHECK_DECL(getc_unlocked, [#include ]) - - 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 ], - [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 ], [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 -#include ], - [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 -#include ], - [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 -#include -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 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 , 1995-2000. -dnl Bruno Haible , 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 , 1995-2000. -dnl Bruno Haible , 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 < "$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" < /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" <> "$ac_file.tmp" <, 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]) diff --git a/config.rpath b/config.rpath index fa24bfc2..3f1bef34 100755 --- a/config.rpath +++ b/config.rpath @@ -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 , 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,' ;; - ccc) + pgcc | pgf77 | pgf90) wl='-Wl,' ;; + 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=/' <>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 < conftest.$ac_ext <&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 < conftest.$ac_ext <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 < conftest.$ac_ext <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? diff --git a/configure.in b/configure.in index 554f0eec..83fb20b3 100644 --- a/configure.in +++ b/configure.in @@ -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... diff --git a/contrib/Makefile.in b/contrib/Makefile.in index ba1a8d9e..72a83df0 100644 --- a/contrib/Makefile.in +++ b/contrib/Makefile.in @@ -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 diff --git a/doc/Makefile.in b/doc/Makefile.in index ccdc73fc..877476d2 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -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 diff --git a/etc/Makefile.in b/etc/Makefile.in index 0c4312b8..6657b5ea 100644 --- a/etc/Makefile.in +++ b/etc/Makefile.in @@ -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 diff --git a/etc/pam.d/Makefile.in b/etc/pam.d/Makefile.in index 17c85551..431414da 100644 --- a/etc/pam.d/Makefile.in +++ b/etc/pam.d/Makefile.in @@ -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 diff --git a/lib/Makefile.in b/lib/Makefile.in index 1453db0f..14e756d8 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -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 diff --git a/lib/encrypt.c b/lib/encrypt.c index 94b4bedf..4362defa 100644 --- a/lib/encrypt.c +++ b/lib/encrypt.c @@ -30,7 +30,7 @@ #include #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 #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, diff --git a/lib/getdef.c b/lib/getdef.c index 4c03ea6b..7061032c 100644 --- a/lib/getdef.c +++ b/lib/getdef.c @@ -30,7 +30,7 @@ #include #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 @@ -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; + int n; + struct itemdef *ptr; + /* - * Invariant - desired item in range [min:max]. + * Search into the table. */ - min = 0; - max = NUMDEFS - 1; - - /* - * Binary search into the table. Relies on the items being - * sorted by name. - */ - - 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. diff --git a/libmisc/Makefile.in b/libmisc/Makefile.in index 7b471a81..1352579a 100644 --- a/libmisc/Makefile.in +++ b/libmisc/Makefile.in @@ -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 index 00000000..62610261 --- /dev/null +++ b/m4/gettext.m4 @@ -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 , 1995-2000. +dnl Bruno Haible , 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 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 +]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 +]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 +]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 ]) + gt_CHECK_DECL(_snwprintf, [#include ]) + + 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 ]) + gt_CHECK_DECL(fgets_unlocked, [#include ]) + gt_CHECK_DECL(getc_unlocked, [#include ]) + + 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 ], + [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 ], [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 index 00000000..654c4158 --- /dev/null +++ b/m4/iconv.m4 @@ -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 +#include ], + [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 +#include ], + [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 +#include +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 index 00000000..96c4e2c3 --- /dev/null +++ b/m4/lib-ld.m4 @@ -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 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 index 00000000..ea0b0c4e --- /dev/null +++ b/m4/lib-link.m4 @@ -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 index 00000000..0d895ca6 --- /dev/null +++ b/m4/lib-prefix.m4 @@ -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 index 00000000..2082c3b2 --- /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 , 1995-2000. +dnl Bruno Haible , 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 index 00000000..f2795eea --- /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 , 1995-2000. +dnl Bruno Haible , 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 < "$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" < /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" <> "$ac_file.tmp" <, 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 +]) diff --git a/man/Makefile.am b/man/Makefile.am index 9e52c3b0..4c62d9b1 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -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) + diff --git a/man/Makefile.in b/man/Makefile.in index 245a11a9..08d6ea70 100644 --- a/man/Makefile.in +++ b/man/Makefile.in @@ -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: diff --git a/man/chage.1 b/man/chage.1 index 57c89dd2..80735b21 100644 --- a/man/chage.1 +++ b/man/chage.1 @@ -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 index 00000000..9553a3a1 --- /dev/null +++ b/man/chage.1.xml @@ -0,0 +1,193 @@ + + + + + + chage + 1 + User Commands + + + chage + change user password expiry information + + + + chage + -m mindays + -M maxdays + -d lastday + -I inactive + + -E expiredate + -W warndays + user + + + chage + -l user + + + + + + DESCRIPTION + chage 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. + + The chage command is restricted to the root + user, except for the option, which may be used by + an unprivileged user to determine when her password or account is due + to expire. + + + + + OPTIONS + + The options which apply to the chage command are: + + + + + lastday + + + + 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). + + + + + + expiredate + + + Set the date on which the user's account will no longer be + accessible. The expiredate 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 -1 as the expiredate will remove an accounts + expiration date. + + + + + + inactive + + + + Set the number of days of inactivity after a password has + expired before the account is locked. The inactive 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. + + + + + + mindays + + + + 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. + + + + + + maxdays + + + + Set maximum number of days during which a password is valid. + When maxdays plus lastday 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, which provides + the user with advance warning. + + + + + + warndays + + + + Set the number of days of warning before a password change is + required. The warndays option is + the number of days prior to the password expiring that a user + will be warned her password is about to expire. + + + + + + If none of the options are selected, chage 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 [ ] marks. + + + + NOTE + + The chage program requires shadow password file to + be available. Its functionality is not available when passwords are + stored in the passwd file. + + + + + FILES + + + + /etc/passwd + + user account information + + + + /etc/shadow + + secure user account information + + + + + + + SEE ALSO + + + passwd5 + , + + shadow5 + . + + + + + AUTHOR + Julianne Frances Haugh <jockgrrl@ix.netcom.com> + + diff --git a/man/chfn.1.xml b/man/chfn.1.xml new file mode 100644 index 00000000..52629ba8 --- /dev/null +++ b/man/chfn.1.xml @@ -0,0 +1,81 @@ + + + + + + chfn + 1 + User Commands + + + chfn + change real user name and information + + + + + chfn + -f full_name + -r room_no + -w work_ph + -h home_ph + -o other + user + + + + + DESCRIPTION + chfn changes user fullname, office number, + office extension, and home phone number information for a user's + account. This information is typically printed by + finger1 + 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 to change the undefined portions of the + GECOS field. + + + 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 other field does not + have this restriction, and is used to store accounting information + used by other applications. + + + If none of the options are selected, chfn + 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 [ + ] marks. Without options, chfn prompts for the current + user account. + + + + + FILES + + + /etc/passwd + user account information + + + + + + SEE ALSO + + + passwd5 + + + + + + AUTHOR + Julianne Frances Haugh <jockgrrl@ix.netcom.com> + + diff --git a/man/chpasswd.8.xml b/man/chpasswd.8.xml new file mode 100644 index 00000000..695fe043 --- /dev/null +++ b/man/chpasswd.8.xml @@ -0,0 +1,101 @@ + + + + + + chpasswd + 8 + + + chpasswd + update passwords in batch mode + + + + + chpasswd + + options + + + + + + DESCRIPTION + + chpasswd 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: + + + user_name:password + + By default the supplied password must be in clear-text. Default + encription algoritm is DES. Also the password age will be updated, if + present. + + This command is intended to be used in a large system environment + where many accounts are created at a single time. + + + + + OPTIONS + + The options which apply to the chpasswd command + are: + + + + , + + Supplied passwords are in encrypted form. + + + + , + + Display help message and exit. + + + + , + + Use MD5 encryption instead DES when the supplied passwords + are not encrypted. + + + + + + + + CAVEATS + Remember keep protected for reading by others fille passed to + standard input chpasswd command if it contains + unencrypted passwords. + + + + + SEE ALSO + + + passwd1 + , + + newusers8 + , + + useradd8 + + + + + + AUTHOR + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + diff --git a/man/chsh.1.xml b/man/chsh.1.xml new file mode 100644 index 00000000..e40f2035 --- /dev/null +++ b/man/chsh.1.xml @@ -0,0 +1,86 @@ + + + + + + chsh + 1 + User Commands + + + chsh + change login shell + + + + + chsh + -s login_shell + user + + + + + + DESCRIPTION + + chsh 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. + + + The only restrictions placed on the login shell is that the + command name must be listed in /etc/shells, + 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 /bin/rsh in + /etc/shells is discouraged since accidentally + changing to a restricted shell would prevent the user from every + changing her login shell back to its original value. + + + + + OPTIONS + If the option is not selected, + chsh 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 [ ] + marks. + + + + + FILES + + + /etc/passwd + user account information + + + /etc/shells + list of valid login shells + + + + + + SEE ALSO + + + chfn1 + , + + passwd5 + + + + + + AUTHOR + Julianne Frances Haugh <jockgrrl@ix.netcom.com> + + diff --git a/man/cs/Makefile.in b/man/cs/Makefile.in index 49a4fad2..29f1cb21 100644 --- a/man/cs/Makefile.in +++ b/man/cs/Makefile.in @@ -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 diff --git a/man/de/Makefile.in b/man/de/Makefile.in index eb3e1834..1b1a2dca 100644 --- a/man/de/Makefile.in +++ b/man/de/Makefile.in @@ -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 diff --git a/man/es/Makefile.in b/man/es/Makefile.in index 16f2c2c7..4e691afa 100644 --- a/man/es/Makefile.in +++ b/man/es/Makefile.in @@ -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 index 00000000..83834d37 --- /dev/null +++ b/man/expiry.1.xml @@ -0,0 +1,63 @@ + + + + + + expiry + 1 + User Commands + + + expiry + check and enforce password expiration policy + + + + + expiry + -c + -f + + + + + DESCRIPTION + + expiry checks () the current + password expiration and forces () changes when + required. It is callable as a normal user command. + + + + + FILES + + + /etc/passwd + user account information + + + /etc/shadow + secure user account information + + + + + + SEE ALSO + + + passwd5 + , + + shadow5 + + + + + + AUTHOR + Ben Collins <bcollins@debian.org> + + diff --git a/man/faillog.5.xml b/man/faillog.5.xml new file mode 100644 index 00000000..c89846c0 --- /dev/null +++ b/man/faillog.5.xml @@ -0,0 +1,61 @@ + + + + + + faillog + 5 + + + faillog + Login failure logging file + + + + DESCRIPTION + + /var/log/faillog 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. + + + The structure of the file is + + struct faillog { + short fail_cnt; + short fail_max; + char fail_line[12]; + time_t fail_time; + }; + + + + + FILES + + + /var/log/faillog + login failure log + + + + + + SEE ALSO + + + faillog8 + + + + + + AUTHOR + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + + diff --git a/man/faillog.8.xml b/man/faillog.8.xml new file mode 100644 index 00000000..85808a85 --- /dev/null +++ b/man/faillog.8.xml @@ -0,0 +1,157 @@ + + + + + + faillog + 8 + + + faillog + display faillog records or set login failure limits + + + + + faillog + + options + + + + + + DESCRIPTION + + faillog formats the contents of the failure log + from /var/log/faillog database. It also can be + used for maintains failure counters and limits. Run + faillog without arguments display only list of user + faillog records who have ever had a login failure. + + + + + OPTIONS + + The options which apply to the faillog command + are: + + + + , + + Display faillog records for all users. + + + + , + + Display help message and exit. + + + + + , + SEC + + + + Lock accout to SEC + seconds after failed login. + + + + + + , + MAX + + + Set maiximum number of login failures after the account is + disabled to MAX. Selecting + MAX 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 root to prevent a denial of services attack + against the system. + + + + + , + + Reset the counters of login failures or one recor if used + with -u LOGIN option. Write + access to /var/log/faillog is required for + this option. + + + + + , + DAYS + + + + Display faillog records more recent than DAYS. The flag overrides + the use of . + + + + + + , + LOGIN + + + Display faillog record or maintains failure counters and + limits (if used with , or + options) only for user with LOGIN. + + + + + + + + CAVEATS + + faillog 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 flag, or print out all users + with the flag. + + + + + FILES + + + /var/log/faillog + failure logging file + + + + + + SEE ALSO + + + login1 + , + + faillog5 + + + + + + AUTHOR + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + diff --git a/man/fr/Makefile.in b/man/fr/Makefile.in index ccd34e4c..9e963f29 100644 --- a/man/fr/Makefile.in +++ b/man/fr/Makefile.in @@ -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 index 00000000..4f67d6c9 --- /dev/null +++ b/man/gpasswd.1.xml @@ -0,0 +1,127 @@ + + + + + + gpasswd + 1 + User Commands + + + gpasswd + administer the /etc/group file + + + + + gpasswd + + group + + + + gpasswd + -a user + group + + + gpasswd + -d user + group + + + gpasswd + -R group + + + gpasswd + -r group + + + gpasswd + -A user, + -M user, + group + + + + + DESCRIPTION + + gpasswd is used to administer the + /etc/group file (and + /etc/gshadow file if compiled with SHADOWGRP + defined). Every group can have administrators, members and a password. + System administrator can use option to define + group administrator(s) and option to define + members and has all rights of group administrators and members. + + + + + OPTIONS + + Group administrator can add and delete users using + and options respectively. Administrators can use + option to remove group password. When no password + is set only group members can use newgrp to join + the group. Option disables access via a password + to the group through newgrp command (however + members will still be able to switch to this group). + + + gpasswd called by a group administrator with + group name only prompts for the group password. If password is set the + members can still + newgrp1 + without a password, non-members must supply the password. + + + + + FILES + + + /etc/group + group account information + + + /etc/gshadow + secure group account information + + + + + + SEE ALSO + + + newgrp1 + , + + groupadd8 + , + + groupdel8 + , + + groupmod8 + , + + grpck8 + , + + group5 + , + + gshadow5 + + + + + + AUTHOR + Rafal Maszkowski <rzm@pdi.net> + + diff --git a/man/groupadd.8.xml b/man/groupadd.8.xml new file mode 100644 index 00000000..59d269c4 --- /dev/null +++ b/man/groupadd.8.xml @@ -0,0 +1,150 @@ + + + + + + groupadd + 8 + + + groupadd + Create a new group + + + + + groupadd + + -g gid + -o + + -f + + group + + + + + + DESCRIPTION + The groupadd 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. + + + + + OPTIONS + + The options which apply to the groupadd command + are: + + + + + + + + This option causes to just exit with success status if the + specified group already exists. With , if + specified gid already exists, other (unique) gid is chosen (i.e. + is turned off). + + + + + + gid + + + The numerical value of the group's ID. This value must be + unique, unless the 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. + + + + + + + + FILES + + + /etc/group + group account information + + + /etc/gshadow + secure group account information + + + + + + EXIT VALUES + + + + The groupadd command exits with the + following values: + + + + + 0 - success + + 2 - invalid command syntax + + 3 - invalid argument to option + + 4 - gid not unique (when -o not + used) + 9 - group name not unique + + 10 - can't update group file + + + + + + + + SEE ALSO + + + chfn1 + , + + chsh1 + , + + passwd1 + , + + groupdel8 + , + + groupmod8 + , + + useradd8 + , + + userdel8 + , + + usermod8 + + + + + + AUTHOR + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + diff --git a/man/groupdel.8.xml b/man/groupdel.8.xml new file mode 100644 index 00000000..6604c782 --- /dev/null +++ b/man/groupdel.8.xml @@ -0,0 +1,117 @@ + + + + + + groupdel + 8 + + + groupdel + Delete a group + + + + + groupdel + + group + + + + + + DESCRIPTION + The groupdel command modifies the system + account files, deleting all entries that refer to group. The named group must exist. + + + You must manually check all filesystems to insure that no files + remain with the named group as the file group ID. + + + + + CAVEATS + You may not remove the primary group of any existing user. You + must remove the user before you remove the group. + + + + + FILES + + + /etc/group + group account information + + + /etc/gshadow + secure group account information + + + + + + EXIT VALUES + + + + The groupdel command exits with the + following values: + + + + + 0 - success + + 2 - invalid command syntax + + 6 - specified group doesn't exist + + 8 - can't remove user's primary + group + 10 - can't update group file + + + + + + + + SEE ALSO + + + chfn1 + , + + chsh1 + , + + passwd1 + , + + groupadd8 + , + + groupmod8 + , + + useradd8 + , + + userdel8 + , + + usermod8 + + + + + + AUTHOR + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + diff --git a/man/groupmems.8.xml b/man/groupmems.8.xml new file mode 100644 index 00000000..940c35a0 --- /dev/null +++ b/man/groupmems.8.xml @@ -0,0 +1,153 @@ + + + + + + groupmems + 8 + + + groupmems + Administer members of a user's primary group + + + + + groupmems + + -a user_name + -d user_name + -l -D + -g group_name + + + + + + DESCRIPTION + + The groupmems utility allows a user to administer + his/her own group membership list without the requirement of super + user privileges. The groupmems utility is for + systems that configure its users to be in their own name sake primary + group (i.e., guest / guest). + + + Only the super user, as administrator, can use + groupmems to alter the memberships of other groups. + + + + + OPTIONS + + The options which apply to the groupmems command + are: + + + + user_name + + Add a new user to the group membership list. + + + + user_name + + Delete a user from the group membership list. + + + + + + Delete all users from the group membership list. + + + + group_name + + The super user can specify which group membership + list to modify. + + + + + + + List the group membership list. + + + + + + + SETUP + + The groupmems executable should be in mode + 2770 as user root + and in group groups. The system + administrator can add users to group groups to allow or disallow them + using the groupmems utility to manage their own + group membership list. + + + $ groupadd -r groups + + $ chmod 2770 groupmems + + $ chown root.groups groupmems + + $ groupmems -g groups -a gk4 + + + + + FILES + + + /etc/group + group account information + + + /etc/gshadow + secure group account information + + + + + + SEE ALSO + + + chfn1 + , + + chsh1 + , + + passwd1 + , + + groupadd8 + , + + groupdel8 + , + + useradd8 + , + + userdel8 + , + + usermod8 + + + + + + AUTHOR + George Kraft IV (gk4@us.ibm.com) + + diff --git a/man/groupmod.8.xml b/man/groupmod.8.xml new file mode 100644 index 00000000..ea0f383c --- /dev/null +++ b/man/groupmod.8.xml @@ -0,0 +1,145 @@ + + + + + + groupmod + 8 + + + groupmod + modify a group + + + + + groupmod + + -g gid + -o + + -n new_group_name + group + + + + + DESCRIPTION + + The groupmod command modifies the system account + files to reflect the changes that are specified on the command line. + + + + + OPTIONS + + The options which apply to the groupmod command + are: + + + + + gid + + + The numerical value of the group's ID. This value must be + unique, unless the 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. + + + + + new_group_name + + The name of the group will be changed from group to new_group_name. + + + + + + + + FILES + + + /etc/group + group account information + + + /etc/gshadow + secure group account information + + + + + + EXIT VALUES + + + + The groupmod command exits with the + following values: + + + + + 0 - success + + 2 - bad command syntax + + 3 - invalid argument to option + + 4 - gid already in use (and no -o) + + 6 - specified group doesn't exist + + 9 - group name already in use + + 10 - can't update group file + + + + + + + + SEE ALSO + + + chfn1 + , + + chsh1 + , + + passwd1 + , + + groupadd8 + , + + groupdel8 + , + + useradd8 + , + + userdel8 + , + + usermod8 + + + + + + AUTHOR + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + diff --git a/man/groups.1.xml b/man/groups.1.xml new file mode 100644 index 00000000..dc25c74e --- /dev/null +++ b/man/groups.1.xml @@ -0,0 +1,78 @@ + + + + + + groups + 1 + User Commands + + + groups + display current group names + + + + + groups + + user + + + + + + DESCRIPTION + + groups displays the current group names or ID + values. If the value does not have a corresponding entry in + /etc/group, the value will be displayed as the + numerical group value. The optional user parameter will display the groups for the + named user. + + + + + NOTE + Systems which do not support concurrent group sets will have the + information from /etc/group reported. The user + must use newgrp or sg to change + their current real and effective group ID. + + + + + FILES + + + /etc/group + group account information + + + + + + SEE ALSO + + + newgrp1 + , + + getgid2 + , + + getgroups2 + , + + getuid2 + + + + + + AUTHOR + Julianne Frances Haugh <jockgrrl@ix.netcom.com> + + diff --git a/man/grpck.8.xml b/man/grpck.8.xml new file mode 100644 index 00000000..534bacda --- /dev/null +++ b/man/grpck.8.xml @@ -0,0 +1,150 @@ + + + + + + grpck + 8 + + + grpck + verify integrity of group files + + + + + grpck -r + + group + shadow + + + + + + DESCRIPTION + + grpck verifies the integrity of the system + authentication information. All entries in the + /etc/group and /etc/gshadow + 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. + + + Checks are made to verify that each entry has: + + + - the correct number of fields + + - a unique group name + + - a valid list of members and administrators + + + + 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 groupmod command to + correct the error. + + + The commands which operate on the /etc/group + file are not able to alter corrupted or duplicated entries. + grpck should be used in those circumstances to + remove the offending entry. + + + + + OPTIONS + + By default, grpck operates on the files + /etc/group and /etc/gshadow. + The user may select alternate files with the group and shadow + parameters. Additionally, the user may execute the command in + read-only mode by specifying the flag. This causes + all questions regarding changes to be answered no without user intervention. + grpck can also sort entries in + /etc/group and /etc/gshadow + by GID. To run it in sort mode pass it flag. No + checks are performed then, it just sorts. + + + + + FILES + + + /etc/group + group account information + + + /etc/gshadow + secure group account information + + + /etc/passwd + user account information + + + + + + SEE ALSO + + + group5 + , + + passwd5 + , + + shadow5 + , + + groupmod8 + + + + + + EXIT VALUES + + + + The grpck command exits with the + following values: + + + + + 0 - success + + 1 - syntax Error + + 2 - one or more bad group entries + + 3 - can't open group files + + 4 - can't lock group files + + 5 - can't update group files + + + + + + + + AUTHOR + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + diff --git a/man/gshadow.5.xml b/man/gshadow.5.xml new file mode 100644 index 00000000..27814581 --- /dev/null +++ b/man/gshadow.5.xml @@ -0,0 +1,87 @@ + + + + + + gshadow + 5 + + + gshadow + shadowed group file + + + + DESCRIPTION + + gshadow contains the shadowed + information for group accounts. It contains lines with the folowing + colon-separated fields: + + + Group name + + Encrypted password + + Comma-separated list of group administrators + + Comma-separated list of group members. + + 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 + crypt3 + for details on how this string is interpreted. If the + password field contains some string that is not valid result of + + crypt3 + , for instance ! or *, the user will not be able to use + a unix password to log in, subject to + pam7 + . + + + This information supercedes any password present in + /etc/group. + + + This file must not be readable by regular users if password + security is to be maintained. + + + + + FILES + + + /etc/group + group account information + + + /etc/gshadow + secure group account information + + + + + + SEE ALSO + + + group5 + , + + gpasswd5 + , + + newgrp5 + + + + + + AUTHOR + Nicolas FRANCOIS + + diff --git a/man/hu/Makefile.in b/man/hu/Makefile.in index 228495b2..fdc74be2 100644 --- a/man/hu/Makefile.in +++ b/man/hu/Makefile.in @@ -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 index 00000000..9590c3d3 --- /dev/null +++ b/man/id.1.xml @@ -0,0 +1,68 @@ + + + + + + id + 1 + User Commands + + + id + Display current user and group ID names + + + + + id -a + + + + + DESCRIPTION + + id displays the current real and effective user and + group ID names or values. If the value does not have a corresponding + entry in /etc/passwd or + /etc/group, the value will be displayed without + the corresponding name. The optional flag will + display the group set on systems which support multiple concurrent + group membership. + + + + + FILES + + + /etc/group + group account information + + + /etc/passwd + user account information + + + + + + SEE ALSO + + + getgid2 + , + + getgroups2 + , + + getuid2 + + + + + + AUTHOR + Julianne Frances Haugh <jockgrrl@ix.netcom.com> + + diff --git a/man/id/Makefile.in b/man/id/Makefile.in index 186fcf3d..f12b10e0 100644 --- a/man/id/Makefile.in +++ b/man/id/Makefile.in @@ -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 diff --git a/man/it/Makefile.in b/man/it/Makefile.in index 0e067e1b..0ae783ae 100644 --- a/man/it/Makefile.in +++ b/man/it/Makefile.in @@ -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 diff --git a/man/ja/Makefile.in b/man/ja/Makefile.in index 84d69caa..6029d7b8 100644 --- a/man/ja/Makefile.in +++ b/man/ja/Makefile.in @@ -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 diff --git a/man/ko/Makefile.in b/man/ko/Makefile.in index d1b83a2e..c4e46200 100644 --- a/man/ko/Makefile.in +++ b/man/ko/Makefile.in @@ -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 index 00000000..d870eb48 --- /dev/null +++ b/man/lastlog.8.xml @@ -0,0 +1,125 @@ + + + + + + lastlog + 8 + + + lastlog + examine lastlog file + + + + + lastlog + + options + + + + + + DESCRIPTION + + lastlog formats and prints the contents of the last + login log /var/log/lastlog file. The login-name, port, + and last login time will be printed. + The default (no flags) causes lastlog entries to be printed, sorted by + their order in /etc/passwd. + + + + + OPTIONS + + + + The options which apply to the lastlog + command are: + + + + + + + , + + + Print help message and exit. + + + + + , + DAYS + + + + + Print the lastlog records more recent than + DAYS + + . + + + + + + , + LOGIN + + + + Print the lastlog record for user with specified LOGINonly. + + + + + + + + The flag overrides the use of . + + + + + + + + If the user has never logged in the message "**Never logged in**" will be displayed instead + of the port and time. + + + + + FILES + + + /var/log/lastlog + lastlog logging file + + + + + + CAVEATS + 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). + + + + + AUTHORS + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + Phillip Street + + + diff --git a/man/limits.5.xml b/man/limits.5.xml new file mode 100644 index 00000000..f67ce94b --- /dev/null +++ b/man/limits.5.xml @@ -0,0 +1,144 @@ + + + + + + LIMITS + 5 + + + limits + Resource limits definition + + + + + DESCRIPTION + + The limits 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. + + + 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). + + + Each line describes a limit for a user in the form: + + + user LIMITS_STRING + + + + The LIMITS_STRING is a string of a + concatenated list of resource limits. + Each limit consists of a letter identifier followed by a numerical + limit. + + + The valid identifiers are: + + A: max address space (KB) + + C: max core file size (KB) + + D: max data size (KB) + + F: maximum filesize (KB) + + M: max locked-in-memory address space (KB) + + N: max number of open files + + R: max resident set size (KB) + + S: max stack size (KB) + + T: max CPU time (MIN) + + U: max number of processes + + K: file creation mask, set by + + umask2 + + . + + L: max number of logins for this user + + P: process priority, set by + + setpriority2 + + . + + + For example, L2D2048N5 is a valid + LIMITS_STRING . For reading + convenience, the following entries are equivalent: + + + username L2D2048N5 + + username L2 D2048 N5 + + + Be aware that after username 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. + + + The default entry is denoted by username "*". If you have multiple default entries in your LIMITS_FILE, then the last one will be used as + the default entry. + + + To completely disable limits for a user, a single dash "- "will do. + + + 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 ;) + + + + + FILES + + + /etc/limits + + + + + + + SEE ALSO + + + login1 + , + + setpriority2 + , + + setrlimit2 + + + + + + AUTHOR + Cristian Gafton (gafton@sorosis.ro) + + diff --git a/man/login.1 b/man/login.1 index 3ebf245f..eec9b6fc 100644 --- a/man/login.1 +++ b/man/login.1 @@ -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 index 00000000..e4d12e27 --- /dev/null +++ b/man/login.1.xml @@ -0,0 +1,216 @@ + + + + + + LOGIN + 1 + User Commands + + + login + begin session on the system + + + + + login + -p + + username + ENV=VAR + + + login + -p + -h host + -f username + + + login + -p + -r host + + + + + DESCRIPTION + + login is used to establish a new session with the + system. It is normally invoked automatically by responding to the + login: prompt on the user´s + terminal. login may be special to the shell and may + not be invoked as a sub-process. Typically, login + is treated by the shell as exec login + which causes the user to exit from the current shell. Attempting to + execute login from any shell but the login shell + will produce an error message. + + + 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 + login exits and the communications link is severed. + + + 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 + passwd1 + for more information. + + + 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, /etc/motd, by creating a + zero-length file .hushlogin in your login directory. + The mail message will be one of "You have new + mail. ", "You have mail.", + or "No Mail. "according to the + condition of your mailbox. + + + Your user and group ID will be set according to their values in + the /etc/passwd file. The value for $HOME, $SHELL, + $PATH, $LOGNAME, + and $MAIL 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. + + + On some installations, the environmental variable $TERM will be initialized to the terminal type on + your tty line, as specified in /etc/ttytype. + + + An initialization script for your command interpreter may also be + executed. Please see the appropriate manual section for more + information on + this function. + + + 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. + + + + + OPTIONS + + + + + + + Do not perform authentication, user is preauthenticated. + + + + + + + + + Name of the remote host for this login. + + + + + + + + Preserve environment. + + + + + + + + Perform autologin protocol for rlogin. + + + + + The , and + options are only used when + login is invoked by root. + + + + + CAVEATS + + This version of login has many compilation options, + only some of which may be in use at any particular site. + + + The location of files is subject to differences in system + configuration. + + + + + FILES + + /var/run/utmp - list of current login + sessions + /var/log/wtmp - list of previous login + sessions + + /etc/passwd - user account information + + /etc/shadow - secure user account information + + /etc/motd - system message file + + /etc/nologin - prevent non-root users from + logging in + + /etc/ttytype - list of terminal types + + $HOME/.hushlogin - suppress printing + of system messages + + + + + SEE ALSO + + + mail1 + , + + passwd1 + , + + sh1 + , + + su1 + , + + login.defs5 + , + + nologin5 + , + + passwd5 + , + + getty8 + + + + + + AUTHOR + Julianne Frances Haugh <jockgrrl@ix.netcom.com> + + diff --git a/man/login.access.5.xml b/man/login.access.5.xml new file mode 100644 index 00000000..b851707c --- /dev/null +++ b/man/login.access.5.xml @@ -0,0 +1,104 @@ + + + + + + + LOGIN.ACCESS + 5 + + + login.access + Login access control table + + + + + DESCRIPTION + + The login.access file specifies + (user, host) combinations and/or + (user, tty) combinations for which a login will be either accepted + or + refused. + + + + When someone logs in, the login.access 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. + + + Each line of the login access control table has three fields + separated by a + ":" character: + + + + permission:users: + origins + + + + + The first field should be a "+" + (access granted) or "-" (access + denied) character. The second field should be a list of one or more + login + names, group names, or ALL (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 "."), host addresses, + internet network + numbers (end with "."), ALL (always matches) or + LOCAL + + (matches any string that does not contain a "." + character). If you run + NIS you can use @netgroupname in host or user patterns. + + + + The EXCEPT operator makes it + possible to write very compact rules. + + + 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. + + + + + FILES + + /etc/loginn.defs - shadow password suite + configuration + + + + + SEE ALSO + + + login1 + + + + + + AUTHOR + Guido van Rooij + + diff --git a/man/login.defs.5 b/man/login.defs.5 index 8c158b51..1cb16f91 100644 --- a/man/login.defs.5 +++ b/man/login.defs.5 @@ -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 index 00000000..aa156211 --- /dev/null +++ b/man/login.defs.5.xml @@ -0,0 +1,285 @@ + + + + + + login.defs + 5 + + + /etc/login.defs + shadow password suite configuration + + + + DESCRIPTION + The /etc/login.defs 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. + + + 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. + + + 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 “yes” or + “no”. An undefined boolean parameter or one with a value + other than these will be given a “no” value. Numbers (both + regular and long) may be either decimal values, octal values (precede + the value with “0”) or hexadecimal values (precede the + value with “0x”). The maximum value of the regular and + long numeric parameters is machine-dependent. + + + The following configuration items are provided: + + + + CHFN_AUTH (boolean) + + If yes, the + chfn and chsh programs + will require authentication before making any changes, unless + run by the superuser. + + + + + CHFN_RESTRICT (string) + + This parameter specifies which values in the gecos field of the + /etc/passwd file may be changed by regular + users using the chfn program. It can be any + combination of letters f + ,r, w, + h, 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. + + + + + CREATE_HOME (boolean) + + This defines whether useradd should create home directories + for users by default. This option is OR'ed with the + flag on useradd command line. + + + + + GID_MAX (number) + GID_MIN (number) + + + Range of group IDs to choose from for the + useradd and + groupaddprograms. + + + + + MAIL_DIR (string) + + 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. + + + + + PASS_MAX_DAYS (number) + + 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). + + + + + PASS_MIN_DAYS (number) + + 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). + + + + + PASS_WARN_AGE (number) + + 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. + + + + + + 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. + + + + UID_MAX (number) + UID_MIN (number) + + + Range of user IDs to choose from for the + useradd program. + + + + + UMASK (number) + + The permission mask is initialized to this value. If not + specified, the permission mask will be initialized to 077. + + + + + USERDEL_CMD (string) + + 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). + + + + + + + + CROSS REFERENCE + The following cross reference shows which programs in the shadow + password suite use which parameters. + + + + + chfn + + CHFN_AUTH CHFN_RESTRICT + + + + chsh + + CHFN_AUTH + + + + groupadd + + GID_MAX GID_MIN + + + + newusers + + PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE + UMASK + + + + + pwconv + + PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE + + + + useradd + + CREATE_HOME + GID_MAX GID_MIN + PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE + UID_MAX UID_MIN + UMASK + + + + + userdel + + MAIL_DIR + USERDEL_CMD + + + + + usermod + + MAIL_DIR + + + + + + + + BUGS + Much of the functionality that used to be provided by the shadow + password suite is now handled by PAM. Thus, + /etc/login.defs is no longer used by programs + such as: + + login1 + , + + passwd1 + , + + su1 + . + Please refer to the corresponding PAM configuration files instead. + + + + + SEE ALSO + + + login1 + , + + passwd1 + , + + su1 + , + + passwd5 + , + + shadow5 + , + + pam8 + + + + + + AUTHORS + Julianne Frances Haugh (jockgrrl@ix.netcom.com) Chip Rosenthal (chip@unicom.com) + + + diff --git a/man/logoutd.8.xml b/man/logoutd.8.xml new file mode 100644 index 00000000..88ea7e7f --- /dev/null +++ b/man/logoutd.8.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LOGOUTD + 8 + + + logoutd + Enforce login time restrictions + + + + + logoutd + + + + + DESCRIPTION + + logoutd enforces the login time and port + restrictions specified in + /etc/porttime. logoutd + should be started from /etc/rc. + The /var/run/utmp 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 + /etc/porttime + + is terminated. + + + + + FILES + + /etc/porttime - login and port permissions + + /var/run/utmp - current login sessions + + + + + AUTHOR + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + diff --git a/man/mkpasswd.8.xml b/man/mkpasswd.8.xml new file mode 100644 index 00000000..70b272a3 --- /dev/null +++ b/man/mkpasswd.8.xml @@ -0,0 +1,114 @@ + + + + + + mkpasswd + 8 + + + mkpasswd + Update passwd and group database files + + + + + mkpasswd + -fvgps + file + + + + + DESCRIPTION + + mkpasswd 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 file.dir and file.pag. + + + The option causes mkpasswd + to ignore any existing output files and overwrite them. Normally + mkpasswd complains about existing output files and + quits. + + + The option causes mkpasswd + to output information about each record as it is converted, with a + final message at the very end. + + + The option treats the input file as though it + were in /etc/group file format. When combined + with the option, the + /etc/gshadow file format is used instead. + + + The option treats the input file as though it + were in /etc/passwd file format. This is the + default. When combined with the option, the + /etc/shadow file format is used instead. + + + + + CAVEATS + 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. + + + + + NOTE + 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. + + + + + FILES + + /etc/passwd + user account information + + + /etc/shadow + secure user account information + + + /etc/group + group account information + + + /etc/gshadow + group account information + + + + + + SEE ALSO + + + group5 + , + + passwd5 + , + + shadow5 + + + + + + AUTHOR + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + diff --git a/man/newusers.8.xml b/man/newusers.8.xml new file mode 100644 index 00000000..6b964c38 --- /dev/null +++ b/man/newusers.8.xml @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NEWUSERS + 8 + + + newusers + update and create new users in batch + + + + + newusers + + new_users + + + + + + DESCRIPTION + + newusers 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 + + passwd5 + + )with the following exceptions. + + + + + pw_passwd + + + This field will be encrypted and used as the new + value of the encrypted + password. + + + + + + pw_age + + + This field will be ignored for shadow passwords if + the user already exists. + + + + + + pw_gid + + + 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. + + + + + + pw_dir + + + 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. + + + + + + This command is intended to be used in a large system environment + where many + accounts are updated at a single time. + + + + + CAVEATS + The input file must be protected since it contains unencrypted + passwords. + + + + + SEE ALSO + + + passwd1 + + , + + useradd8 + + + + + + AUTHOR + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + diff --git a/man/passwd.1 b/man/passwd.1 index 6245cc7a..9d6d4ab5 100644 --- a/man/passwd.1 +++ b/man/passwd.1 @@ -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 index 00000000..1f2f4518 --- /dev/null +++ b/man/passwd.1.xml @@ -0,0 +1,311 @@ + + + + + + passwd + 1 + User Commands + + + passwd + change user password + + + + + passwd + + -f -s + + + name + + + + passwd + -g + + -r + -R + + + group + + + + passwd + -x max + -n min + -w warn + -i inact + login + + + + passwd + + -l + -u + -d + -S + -e + + login + + + + + DESCRIPTION + + passwd 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. + passwd also changes account information, such as + the full name of the user, user's login shell, or password expiry date + and interval. + + + The option makes passwd + call chsh to change the user's shell. The + option makes passwd call + chfn to change the user's gecos information. These + two options are only meant for compatiblity, since the other programs + can be called directly. + + + + Password Changes + 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. + + + 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, passwd refuses to change the + password and exits. + + + 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: + + + Lower case alphabetics + + Upper case alphabetics + + Digits 0 thru 9 + + Punctuation marks + + Care must be taken not to include the system default erase or + kill characters. passwd will reject any password + which is not suitably complex. + + + If the password is accepted, passwd 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. + + + + + Group passwords + + When the 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 is used with the + option to remove the current password from the + named group. This allows group access to all members. The + option is used with the + option to restrict the named group for all users. + + + + + Password expiry information + The password aging information may be changed by the super user + with the , , + , and options. The + option is used to set the maximum number of days + a password remains valid. After max + days, the password is required to be changed. The + 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 min days + have elapsed. The option is used to set the + number of days of warning the user will receive before his/her + password will expire. The warning occurs warn days before the expiration, telling the + user how many days remain until the password is set to expire. The + 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 inact + days, the user may no longer sign on to the account. + + + If you wish to immediately expire an account's password, you can + use the 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 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. + + + + + Account maintenance + User accounts may be locked and unlocked with the + and flags. The + option disables an account by changing the + password to a value which matches no possible encrypted value. The + option re-enables an account by changing the + password back to its previous value. + + + The account status may be viewed with the + 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 Password expiry + information above for a discussion of these fields. + + + + + Hints for user passwords + The security of a password depends upon the strength of the + encryption algorithm and the size of the key space. The \s-2UNIX 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. + + + 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. + + + 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. + + + 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 + + + Ask not for whom the bell tolls. + + which produces + + An4wtbt. + + 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. + + + + + Notes about group passwords + 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. + + + + + + CAVEATS + 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. + + + + + FILES + + + /etc/passwd + user account information + + + /etc/shadow + secure user account information + + + + + + EXIT VALUES + + + + The passwd command exits with the + following values: + + + + 0 - success + + 1 - permission denied + + 2 - invalid combination of options + + 3 - unexpected failure, nothing done + + 4 - unexpected failure, passwd file + missing + + 5 - passwd file busy, try again + later + 6 - invalid argument to option + + + + + + + + SEE ALSO + + + group5 + , + + passwd5 + , + + shadow5 + + + + + + AUTHOR + Julianne Frances Haugh <jockgrrl@ix.netcom.com> + + diff --git a/man/passwd.5.xml b/man/passwd.5.xml new file mode 100644 index 00000000..c722230a --- /dev/null +++ b/man/passwd.5.xml @@ -0,0 +1,123 @@ + + + + + + passwd + 5 + + + passwd + The password file + + + + DESCRIPTION + + /etc/passwd contains various pieces of + information for each user account. Included is: + + + Login name + + Optional encrypted password + + Numerical user ID + + Numerical group ID + + User name or comment field + + User home directory + + User command interpreter + + 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 /etc/shadow. 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. + + + Refer to + crypt3 + for details on how this string is interpreted. + + + The comment field is used by various system utilities, such as + + finger1 + . Three additional values may be present in the comment + field. They are: + + + pri= - set initial value of nice + + umask= - set initial value of umask + + ulimit= - set initial value of ulimit + + These fields are separated from each other and from any other + comment field by a comma. + + + The home directory field provides the name of the initial working + directory. Login uses this information + to set the value of the $HOME environmental variable. + + + The command interpreter field provides the name of the user's + command language interpreter, or the name of the initial program to + execute. Login uses this information + to set the value of the $SHELL environmental variable. + If this field is empty, it defaults to the value + /bin/sh. + + + + + FILES + + + /etc/passwd + user account information + + + + + + SEE ALSO + + + login1 + , + + passwd1 + , + + su1 + , + + shadow5 + , + + pwconv8 + , + + pwunconv8 + , + + sulogin8 + + + + + + AUTHOR + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + diff --git a/man/pl/Makefile.in b/man/pl/Makefile.in index 29634c48..fb5ecf9b 100644 --- a/man/pl/Makefile.in +++ b/man/pl/Makefile.in @@ -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 index 00000000..a8c1ee58 --- /dev/null +++ b/man/porttime.5.xml @@ -0,0 +1,102 @@ + + + + + + porttime + 5 + + + porttime + port access time file + + + + DESCRIPTION + + porttime contains a list of tty + devices, user names, and permitted login times. + + + 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. + + + Each access time entry consists of zero or more days of the week, + abbreviated Su, Mo,Tu, We, Th, Fr, and Sa, + followed by a pair of times separated by a hyphen. The abbreviation + Wk may be used to represent Monday thru + Friday, and Al may be used to indicate + every day. If no days are given, Al is + assumed. + + + + + EXAMPLES + + The following entry allows access to user jfh on every port during weekdays from 9am to + 5pm. + + + + *:jfh:Wk0900-1700 + + + The following entries allow access only to the users root and oper on + /dev/console at any time. This illustrates how the + /etc/porttime file is an ordered list of access + times. Any other user would match the second entry which does not + permit access at any time. + + + + console:root,oper:Al0000-2400 + + console:*: + + + + The following entry allows access for the user games on any port during non-working hours. + + + + *:games:Wk1700-0900,SaSu0000-2400 + + + + + FILES + + + /etc/porttime + file containing port access + + + + + + SEE ALSO + + + login1 + + + + + + AUTHOR + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + diff --git a/man/pt_BR/Makefile.in b/man/pt_BR/Makefile.in index f58ed8c0..61753d53 100644 --- a/man/pt_BR/Makefile.in +++ b/man/pt_BR/Makefile.in @@ -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 index 00000000..3e1324e5 --- /dev/null +++ b/man/pw_auth.3.xml @@ -0,0 +1,244 @@ + + + + + + pw_auth + 3 + + + pwauth + administrator defined password authentication routines + + + + SYNTAX + + #include <pwauth.h> + + + + int pw_auth (char + *command, + char + *user, + int + reason, + char + *input); + + + + + DESCRIPTION + + pw_auth + invokes the administrator defined functions for a given user. + + + command 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. + + + user is the name of the user to be + authenticated, as given in the /etc/passwd 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. + + + 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. reason is one of + + + + + PW_SU + + + 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, followed by the username. + + + + + + PW_LOGIN + + + Perform authentication for the named user creating a new + login session. The authentication program will be invoked with a + option, followed by the username. + + + + + + PW_ADD + + + 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, followed by the username. + + + + + + PW_CHANGE + + + 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, followed by the username. + + + + + + PW_DELETE + + + 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, followed by the username. + + + + + + PW_TELNET + + + Authenticate a user who is connecting to the system using + the telnet command. The + authentication program will be invoked with a + option, followed by the username. + + + + + + PW_RLOGIN + + + + Authenticate a user who is connecting to the system using the + rlogin command. The + authentication program will be invoked with a + option, followed by the username. + + + + + + PW_FTP + + + + Authenticate a user who is connecting to the system using the + ftp command. The authentication + program will be invoked with a 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 + /dev/null. The pw_auth function will pipe a single line of + data to the authentication program using file descriptor 0. + + + + + + PW_REXEC + + + + Authenticate a user who is connecting to the system using the + rexec command. The authentication + program will be invoked with a 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 + /dev/null. The pw_auth function will pipe a single line of + data to the authentication program using file descriptor 0. + + + + + + The last argument is the authentication data which is used by the + PW_FTP and PW_REXEC reasons. It is treated as a single line + of text which is piped to the authentication program. When the reason + is PW_CHANGE, the value of input is the value of previous user name if the + user name is being changed. + + + + + CAVEATS + This function does not create the actual session. It only + indicates if the user should be allowed to create the session. + + + The network options are untested at this time. + + + + DIAGNOSTICS + + The pw_auth function returns 0 if the + authentication program exited with a 0 exit code, and a non-zero value + otherwise. + + + + + SEE ALSO + + + login1 + , + + passwd1 + , + + su1 + , + + useradd8 + , + + userdel8 + , + + usermod8 + + + + + + AUTHOR + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + diff --git a/man/pwck.8.xml b/man/pwck.8.xml new file mode 100644 index 00000000..f9a115c5 --- /dev/null +++ b/man/pwck.8.xml @@ -0,0 +1,159 @@ + + + + + + pwck + 8 + + + pwck + verify integrity of password files + + + + + pwck -sr + + + passwd + + + shadow + + + + + + + DESCRIPTION + + pwck verifies the integrity of the system + authentication information. All entries in the + /etc/passwd and /etc/shadow + 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. + + + Checks are made to verify that each entry has + + + - the correct number of fields + + - a unique user name + + - a valid user and group identifier + + - a valid primary group + + - a valid home directory + + - a valid login shell + + + + 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 usermod command to correct + the error. + + + The commands which operate on the + /etc/passwd file are not able to alter corrupted + or duplicated entries. pwck should be used in + those circumstances to remove the offending entry. + + + + + OPTIONS + + By default, pwck operates on the files + /etc/passwd and /etc/shadow. + The user may select alternate files with the passwd and shadow + parameters. Additionally, the user may execute the command in + read-only mode by specifying the flag. This causes + all questions regarding changes to be answered no without user intervention. + pwck can also sort entries in + /etc/passwd and /etc/shadow + by UID. To run it in sort mode pass it flag. No + checks are performed then, it just sorts. + + + + + FILES + + + /etc/group + group account information + + + /etc/passwd + user account information + + + /etc/shadow + secure user account information + + + + + + SEE ALSO + + + group5 + , + + passwd5 + , + + shadow5 + , + + usermod8 + + + + + + EXIT VALUES + + + + The pwck command exits with the + following values: + + + + 0 - success + + 1 - invalid command syntax + + 2 - one or more bad password entries + + 3 - can't open password files + + 4 - can't lock password files + + 5 - can't update password files + + + + + + + + AUTHOR + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + diff --git a/man/pwconv.8 b/man/pwconv.8 index 9ca98f3f..f89fbbf3 100644 --- a/man/pwconv.8 +++ b/man/pwconv.8 @@ -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 index 00000000..c4885190 --- /dev/null +++ b/man/pwconv.8.xml @@ -0,0 +1,117 @@ + + + + + + 26 Sep 1997 + + + PWCONV + 8 + 26 Sep 1997 + + + pwconv + pwunconv + grpconv + grpunconv + convert to and from shadow passwords and groups. + + + + + pwconv + + + pwunconv + + + grpconv + + + grpunconv + + + + + DESCRIPTION + pwconv creates shadow from passwd + and an optionally existing shadow. + + + pwunconv creates passwd from passwd + and shadow and then removes shadow. + + + grpconv creates gshadow from group + and an optionally existing gshadow. + + + grpunconv creates group from group + and gshadow and then removes gshadow. + + + These four programs all operate on the normal and shadow password + and group files: /etc/passwd, + /etc/group, /etc/shadow, and + /etc/gshadow. + + + Each program acquires the necessary locks before conversion. + pwconv and grpconv 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. + + + pwconv will use the values of PASS_MIN_DAYS, PASS_MAX_DAYS, and PASS_WARN_AGE from + /etc/login.defs when adding new entries to + /etc/shadow. + + + Likewise pwunconv and + grpunconv 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 + pwunconv. It will convert what it can. + + + + + BUGS + 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 pwck and + grpck to correct any such errors before converting + to or from shadow passwords or groups. + + + + + SEE ALSO + + + login.defs5 + , + + grpck8 + , + + pwck8 + + + diff --git a/man/ru/Makefile.in b/man/ru/Makefile.in index e5ebc205..4046e46f 100644 --- a/man/ru/Makefile.in +++ b/man/ru/Makefile.in @@ -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 index 00000000..a2fef38e --- /dev/null +++ b/man/shadow.3.xml @@ -0,0 +1,199 @@ + + + + + + shadow + 3 + + + shadow + encrypted password file routines + + + + SYNTAX + + #include <shadow.h> + + + + struct spwd *getspent(); + + + + struct spwd *getspnam(char + *name); + + + + void setspent(); + + + + void endspent(); + + + + struct spwd *fgetspent(FILE + *fp); + + + + struct spwd *sgetspent(char + *cp); + + + + int putspent(struct spwd + *p, + FILE + *fp); + + + + int lckpwdf(); + + + + int ulckpwdf(); + + + + + DESCRIPTION + + shadow + manipulates the contents of the shadow password file, + /etc/shadow. + The structure in the #include file + is + + + struct spwd { + + + char *sp_namp; /* user login name */ + + char *sp_pwdp; /* encrypted password */ + + long int sp_lstchg; /* last password change */ + + long int sp_min; /* days until change allowed. */ + + long int sp_max; /* days before change required */ + + long int sp_warn; /* days warning for expiration */ + + long int sp_inact; /* days before account inactive */ + + long int sp_expire; /* date when account expires */ + + unsigned long int sp_flag; /* reserved for future use */ + + + } + + + The meanings of each field are + + sp_namp - pointer to null-terminated user name. + + sp_pwdp - pointer to null-terminated password. + + sp_lstchg - days since Jan 1, 1970 password was last changed. + + sp_min - days before which password may not be changed. + + sp_max - days after which password must be changed. + + sp_warn - days before password is to expire that user is warned + of pending password expiration. + + sp_inact - days after password expires that account is considered + inactive and disabled. + + sp_expire - days since Jan 1, 1970 when account will be disabled. + + sp_flag - reserved for future use. + + + + + DESCRIPTION + + getspent, getspname fgetspent, and sgetspent each return a pointer to a struct spwd. getspent returns the next entry from the file, + and fgetspent returns the next entry + from the given stream, which is assumed to be a file of the proper + format. sgetspent returns a pointer to + a struct spwd using the provided string + as input. getspnam searches from the + current position in the file for an entry matching name. + + setspent and endspent may be used to begin and end, + respectively, access to the shadow password file. + + The lckpwdf and ulckpwdf routines should be used to insure + exclusive access to the /etc/shadow file. + lckpwdf attempts to acquire a lock + using pw_lock for up to 15 seconds. It + continues by attempting to acquire a second lock using spw_lock for the remainder of the initial 15 + seconds. Should either attempt fail after a total of 15 seconds, + lckpwdf returns -1. When both locks are + acquired 0 is returned. + + + + + DIAGNOSTICS + Routines return NULL if no more entries are available or if an + error occurs during processing. Routines which have int as the return value return 0 for success and + -1 for failure. + + + + + CAVEATS + These routines may only be used by the super user as access to the + shadow password file is restricted. + + + + + FILES + + + /etc/shadow + secure user account information + + + + + + SEE ALSO + + + getpwent3 + , + + shadow5 + + + + + + AUTHOR + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + diff --git a/man/shadow.5.xml b/man/shadow.5.xml new file mode 100644 index 00000000..321d6c3e --- /dev/null +++ b/man/shadow.5.xml @@ -0,0 +1,128 @@ + + + + + + shadow + 5 + + + shadow + encrypted password file + + + + DESCRIPTION + + shadow contains the encrypted + password information for user's accounts + and optional the password aging information. Included is + + + Login name + + Encrypted password + + Days since Jan 1, 1970 that password was last changed + + Days before password may be changed + + Days after which password must be changed + + Days before password is to expire that user is warned + + Days after password expires that account is disabled + + Days since Jan 1, 1970 that account is disabled + + A reserved field + + 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. + + + + Refer to + + crypt3 + + for details on how this string is interpreted. + + + 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. + + + 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. + + + This information supercedes any password or password age + information present in /etc/passwd. + + + This file must not be readable by regular users if password + security is to be maintained. + + + + + FILES + + + /etc/passwd + user account information + + + /etc/shadow + secure user account information + + + + + + SEE ALSO + + + chage1 + , + + login1 + , + + passwd1 + , + + su1 + , + + passwd5 + , + + pwconv8 + , + + pwunconv8 + , + + sulogin8 + + + + + + AUTHOR + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + diff --git a/man/shadowconfig.8.xml b/man/shadowconfig.8.xml new file mode 100644 index 00000000..ef172eee --- /dev/null +++ b/man/shadowconfig.8.xml @@ -0,0 +1,53 @@ + + + + + + 19 Apr 1997 + + + shadowconfig + 8 + 19 Apr 1997 + Debian GNU/Linux + + + shadowconfig + toggle shadow passwords on and off + + + + + shadowconfig + + on + off + + + + + + DESCRIPTION + + shadowconfig on will turn shadow passwords on; + shadowconfig off will turn shadow + passwords off. shadowconfig 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. + + + + Read /usr/share/doc/passwd/README.debian for a + brief introduction + to shadow passwords and related features. + + + Note that turning shadow passwords off and on again will lose all + password + aging information. + + + diff --git a/man/su.1 b/man/su.1 index af50d95d..3e660e57 100644 --- 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 index 00000000..8cf4be96 --- /dev/null +++ b/man/su.1.xml @@ -0,0 +1,113 @@ + + + + + + su + 1 + User Commands + + + su + change user ID or become super-user + + + + su + - + + + username + + + args + + + + + + + DESCRIPTION + + su is used to become another user during a login + session. Invoked without a username, su defaults to + becoming the super user. The optional argument may + be used to provide an environment similar to what the user would + expect had the user logged in directly. + + + Additional arguments may be provided after the username, in which + case they are supplied to the user´s login shell. In particular, + an argument of 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 /etc/passwd + for the target user. + + + 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. + + + The current environment is passed to the new shell. The value of + $PATH is reset to + /bin:/usr/bin for normal users, or + /sbin:/bin:/usr/sbin:/usr/bin for the super user. + This may be changed with the ENV_PATH + and ENV_SUPATH definitions in + /etc/login.defs. + + + 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. + + + + + CAVEATS + + This version of su has many compilation options, + only some of which may be in use at any particular site. + + + + + FILES + + + /etc/passwd + user account information + + + /etc/shadow + secure user account information + + + + + + SEE ALSO + + + login1 + , + + sh1 + , + + login.defs5 + , + + suauth5 + + + + + + AUTHOR + Julianne Frances Haugh <jockgrrl@ix.netcom.com> + + diff --git a/man/suauth.5.xml b/man/suauth.5.xml new file mode 100644 index 00000000..8bff74fb --- /dev/null +++ b/man/suauth.5.xml @@ -0,0 +1,196 @@ + + + + + + suauth + 5 + Feb 14, 1996 + + + suauth + Detailed su control file + + + + + /etc/suauth + + + + + DESCRIPTION + The file /etc/suauth is referenced + whenever the su command is called. It can change the behaviour of the + su command, based upon + + + + + 1) the user su is targetting + + + 2) the user executing the su command (or any groups he might be + a member of) + + + + The file is formatted like this, with lines starting with a # + being treated as comment lines and ignored; + + + + + to-id:from-id:ACTION + + + + Where to-id is either the word + ALL, + a list of usernames + delimited by "," or the words + ALL EXCEPT + followed by a list + of usernames delimited by "," + + + from-id is formatted the same as to-id except the extra word + GROUP + is recognised. + ALL EXCEPT GROUP + is perfectly valid too. + Following + GROUP + appears one or more group names, delimited by + ",". It is not sufficient to have primary group id of the + relevant group, an entry in + + /etc/group5 + + is neccessary. + + + Action can be one only of the following currently supported + options. + + + + + DENY + + + The attempt to su is stopped before a password is + even asked for. + + + + + + NOPASS + + + The attempt to su is automatically successful; no + password is + asked for. + + + + + + OWNPASS + + + For the su command to be successful, the user must + enter + his or her own password. They are told this. + + + + + + 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. + + + + + EXAMPLE + + # 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 + # + + + + + + FILES + + + /etc/suauth + + + + + + + BUGS + 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. + + + + + DIAGNOSTICS + An error parsing the file is reported using + + syslogd8 + + as level ERR on + facility AUTH. + + + + + SEE ALSO + + + su1 + + + + + + AUTHOR + + Chris Evans (lady0110@sable.ox.ac.uk) + Lady Margaret Hall + Oxford University + England + + + diff --git a/man/sulogin.8.xml b/man/sulogin.8.xml new file mode 100644 index 00000000..deca8da3 --- /dev/null +++ b/man/sulogin.8.xml @@ -0,0 +1,117 @@ + + + + + + sulogin + 8 + + + sulogin + Single-user login + + + + SYNTAX + + sulogin [ + tty-device + + ] + + + + + DESCRIPTION + + sulogin is invoked by init prior + to allowing the user access to the system when in single user mode. + This feature may only be available on certain systems where + init has been modified accordingly, or where the + /etc/inittab has an entry for a single user + login. + + + The user is prompted + + Type control-d to proceed with normal startup, + + (or give root password for system maintenance): + + + Input and output will be performed with the standard file + descriptors unless + the optional device name argument is provided. + + + If the user enters the correct root password, a login session is + initiated. + When EOF is pressed instead, the + system enters multi-user mode. + + + After the user exits the single-user shell, or presses EOF, the system begins the initialization process + required to enter multi-user mode. + + + + + CAVEATS + + This command can only be used if init has been + modified to call sulogin instead of + /bin/sh, or if the user has set the inittab to support a single user login. For + example, the line: + + + + co:s:respawn:/etc/sulogin /dev/console + + + should execute the sulogin command in single user mode. + + 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. + + + + + FILES + + + /etc/passwd + user account information + + + /etc/shadow + secure user account information + + + + + + SEE ALSO + + + login1 + , + + sh1 + , + + init8 + + + + + + AUTHOR + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + diff --git a/man/useradd.8.xml b/man/useradd.8.xml new file mode 100644 index 00000000..20dbf27f --- /dev/null +++ b/man/useradd.8.xml @@ -0,0 +1,417 @@ + + + + + + useradd + 8 + + + useradd + Create a new user or update default new user information + + + + useradd + -c comment + -d home_dir + -e expire_date + -f inactive_days + + -g initial_group + + -G group1 + + + ,group2, + + + , + + + groupN + + + + + + -M -m + -k skeleton_dir + + -o + -p passwd + -s shell + + -u uid + login + useradd + -D + -g group + -b home_dir + -e expire_date + + -f inactive_days + -s shell + + + + + DESCRIPTION + + Creating New Users + + When invoked without the option, the + useradd 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. + + + + + + OPTIONS + The options which apply to the useradd command are: + + + + + comment + + + The new user's password file comment field. + + + + + home_dir + + + + The new user will be created using home_dir + as the value for the user's login directory. The + default is to append the login + name to home and use that as the + login directory name. + + + + + + expire_date + + + The date on which the user account will be disabled. The + date is specified in the format YYYY-MM-DD. + + + + + + inactive_days + + + 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. + + + + + + initial_group + + + 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 + /etc/default/useradd. + + + + + + group1[ + ,group2,..., + + [groupN]]] + + + 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. The default is for the user to + belong only to the initial group. + + + + + + + + + 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. + + + + + + + + + The user's home directory will be created if it does not + exist. The files contained in skeleton_dir will be copied to the home + directory if the option is used, otherwise + the files contained in /etc/skel will be + used instead. Any directories contained in + skeleton_dir or /etc/skel will + be created in the user's home directory as well. The + option is only valid in conjunction with the + option. The default is to not create the + directory and to not copy any files. + + + + + + + + + Allow create user with duplicate (non-unique) UID. + + + + + passwd + + + + The encrypted password, as returned by + crypt3 + . The default is to disable the account. + + + + + + shell + + + 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. + + + + + + uid + + + The numerical value of the user's ID. This value must be + unique, unless the 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. + + + + + + + Changing the default values + + When invoked with the option, + useradd will either display the current default + values, or update the default values from the command line. The + valid options are + + + + + home_dir + + + The initial path prefix for a new user's home directory. + The user's name will be affixed to the end of home to create the new directory name if + the option is not used when creating a new + account. + + + + + + expire_date + + + The date on which the user account is disabled. + + + + + inactive + + + The number of days after a password has expired before the + account will be disabled. + + + + + + group + + + 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 . + + + + + + shell + + + The name of the new user's login shell. The named program + will be used for all future new user accounts. + + + + + + If no options are specified, useradd + displays the current default values. + + + + + + NOTES + The system administrator is responsible for placing the default + user files in the /etc/skel/ directory. + + + + + CAVEATS + You may not add a user to an NIS group. This must be performed on + the NIS server. + + + + + FILES + + + /etc/passwd + user account information + + + /etc/shadow + secure user account information + + + /etc/group + group account information + + + /etc/default/useradd + default information + + + /etc/skel/ + directory containing default files + + + + + + EXIT VALUES + + + + The useadd command exits with the following + values: + + + + + 0 - success + + 1 - can't update password file + + 2 - invalid command syntax + + 3 - invalid argument to option + + 4 - uid already in use (and no -o) + + 6 - specified group doesn't exist + + 9 - username already in use + + 10 - can't update group file + + 12 - can't create home directory + + 13 - can't create mail spool + + + + + + + + SEE ALSO + + + chfn1 + , + + chsh1 + , + + passwd1 + , + + crypt3 + , + + groupadd8 + , + + groupdel8 + , + + groupmod8 + , + + userdel8 + , + + usermod8 + + + + + + AUTHOR + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + diff --git a/man/userdel.8.xml b/man/userdel.8.xml new file mode 100644 index 00000000..b7583923 --- /dev/null +++ b/man/userdel.8.xml @@ -0,0 +1,147 @@ + + + + + + USERDEL + 8 + + + userdel + Delete a user account and related files + + + + userdel + -r + + login + + + + + + DESCRIPTION + + The userdel command modifies the system account + files, deleting all entries that refer to login. The named user must exist. + + + + + OPTIONS + + The options which apply to the userdel command are: + + + + + + + + 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. + + + + + + + + FILES + + + /etc/group + group account information + + + /etc/passwd + user account information + + + /etc/shadow + secure user account information + + + + + + EXIT VALUES + + + + The userdel command exits with the following + values: + + + + + 0 - success + + 1 - can't update password file + + 2 - invalid command syntax + + 6 - specified user doesn't exist + + 8 - user currently logged in + + 10 - can't update group file + + 12 - can't remove home directory + + + + + + + + CAVEATS + + userdel 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. + + + + + SEE ALSO + + + chfn1 + , + + chsh1 + , + + passwd1 + , + + groupadd8 + , + + groupdel8 + , + + groupmod8 + , + + useradd8 + , + + usermod8 + + + + + + AUTHOR + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + diff --git a/man/usermod.8.xml b/man/usermod.8.xml new file mode 100644 index 00000000..683b3305 --- /dev/null +++ b/man/usermod.8.xml @@ -0,0 +1,300 @@ + + + + + + usermod + 8 + + + usermod + Modify a user account + + + + + usermod + -c comment + + -d home_dir + -m + + -e expire_date + -f inactive_time + -g initial_group + + + -G group1 + + ,group2, + , + groupN + + + + -l login_name + -p passwd + -s shell + + -u uid + -o + + + + -L -U + + login + + + + + DESCRIPTION + + The usermod command modifies the system account + files to reflect the changes that are specified on the command line. + + + + + OPTIONS + + The options which apply to the usermod command + are: + + + + + comment + + + The new value of the user's password file comment + field. It is normally modified using the + chfn1 + utility. + + + + + + home_dir + + + + The user's new login directory. If the + 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. + + + + + + expire_date + + + The date on which the user account will be disabled. The + date is specified in the format YYYY-MM-DD + . + + + + + + inactive_days + + + 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. + + + + + + initial_group + + + 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. + + + + + + group1[ + ,group2,..., + + [groupN]]] + + + 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. If the user is currently a member of + a group which is not listed, the user will be removed from the + group. + + + + + + login_name + + + + The name of the user will be changed from login to login_name. Nothing else is changed. In + particular, the user's home directory name should probably be + changed to reflect the new login name. + + + + + + + + + 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 or + . + + + + + + + + + + When used with the option, this option + allows to change the user ID to a non-unique value. + + + + + + passwd + + + + The encrypted password, as returned by + crypt3 + . + + + + + + shell + + + The name of the user's new login shell. Setting this field + to blank causes the system to select the default login shell. + + + + + + uid + + + The numerical value of the user's ID. This value must be + unique, unless the 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. + + + + + + + + + Unlock a user's password. This removes the '!' in front of + the encrypted password. You can't use this option with + or . + + + + + + + + CAVEATS + + usermod 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. + + + + + FILES + + + /etc/passwd + user account information + + + /etc/shadow + secure user account information + + + /etc/group + group account information + + + + + + SEE ALSO + + + chfn1 + , + + chsh1 + , + + passwd1 + , + + crypt3 + , + + groupadd8 + , + + groupdel8 + , + + groupmod8 + , + + useradd8 + , + + userdel8 + . + + + + + AUTHOR + Julianne Frances Haugh (jockgrrl@ix.netcom.com) + + diff --git a/man/vipw.8 b/man/vipw.8 index 76b9686a..ebb35cd4 100644 --- a/man/vipw.8 +++ b/man/vipw.8 @@ -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 index 00000000..7e76873c --- /dev/null +++ b/man/vipw.8.xml @@ -0,0 +1,63 @@ + + + + + + 26 Sep 1997 + + + vipw + 8 + 26 Sep 1997 + + + vipw + vigr + edit the password, group, shadow-password, or shadow-group + file. + + + + + + vipw-s + + + vigr-s + + + + + DESCRIPTION + + vipw and vigr will edit the + files /etc/passwd and + /etc/group, respectively. With the + flag, they will edit the shadow versions of those + files, /etc/shadow and + /etc/gshadow, 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 + $VISUAL, then the environment variable $EDITOR, and finally the default editor, + vi1 + . + + + + + SEE ALSO + + + group5 + , + + passwd5 + , + + shadow5 + + + + diff --git a/man/zh_CN/Makefile.in b/man/zh_CN/Makefile.in index a0c99cb6..c9798060 100644 --- a/man/zh_CN/Makefile.in +++ b/man/zh_CN/Makefile.in @@ -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 diff --git a/man/zh_TW/Makefile.in b/man/zh_TW/Makefile.in index 9ca322ed..4491fff0 100644 --- a/man/zh_TW/Makefile.in +++ b/man/zh_TW/Makefile.in @@ -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 index 00000000..dafc3804 --- /dev/null +++ b/po/ChangeLog @@ -0,0 +1,5 @@ +2005-05-04 gettextize + + * Makefile.in.in: Upgrade to gettext-0.14.3. + * Rules-quot: Upgrade to gettext-0.14.3. + diff --git a/po/LINGUAS b/po/LINGUAS index 54e3d8bb..b6e3bccc 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -27,5 +27,6 @@ sv tl tr uk +vi zh_CN zh_TW diff --git a/po/Makefile.in.in b/po/Makefile.in.in index 27b721aa..4705780e 100644 --- a/po/Makefile.in.in +++ b/po/Makefile.in.in @@ -1,5 +1,5 @@ # Makefile for PO directory in any package using GNU gettext. -# Copyright (C) 1995-1997, 2000-2003 by Ulrich Drepper +# Copyright (C) 1995-1997, 2000-2005 by Ulrich Drepper # # 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 diff --git a/po/Rules-quot b/po/Rules-quot index 5f46d237..9c2a995e 100644 --- a/po/Rules-quot +++ b/po/Rules-quot @@ -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 diff --git a/po/bs.gmo b/po/bs.gmo index 67c3a55b..7e5ed432 100644 Binary files a/po/bs.gmo and b/po/bs.gmo differ diff --git a/po/bs.po b/po/bs.po index 9905220a..aadad3c4 100644 --- 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ć \n" "Language-Team: Bosnian \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 "" diff --git a/po/ca.gmo b/po/ca.gmo index 465b1ad5..6aeac0ae 100644 Binary files a/po/ca.gmo and b/po/ca.gmo differ diff --git a/po/ca.po b/po/ca.po index 7217b5ec..27437455 100644 --- 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 \n" "Language-Team: Catalan \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" diff --git a/po/cs.gmo b/po/cs.gmo index 3a361659..28f96350 100644 Binary files a/po/cs.gmo and b/po/cs.gmo differ diff --git a/po/cs.po b/po/cs.po index f751d2e8..e60505de 100644 --- 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 \n" "Language-Team: Czech \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" diff --git a/po/da.gmo b/po/da.gmo index 2617ad59..9e4872bb 100644 Binary files a/po/da.gmo and b/po/da.gmo differ diff --git a/po/da.po b/po/da.po index 710b004b..d8ca4bc6 100644 --- 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 \n" "Language-Team: Danish \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" diff --git a/po/de.gmo b/po/de.gmo index e8614a7c..21d7ffd9 100644 Binary files a/po/de.gmo and b/po/de.gmo differ diff --git a/po/de.po b/po/de.po index 7170289b..e1d93742 100644 --- 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 \n" "Language-Team: Frank Schmid \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" diff --git a/po/el.gmo b/po/el.gmo index f349e12d..9b5bcbd0 100644 Binary files a/po/el.gmo and b/po/el.gmo differ diff --git a/po/el.po b/po/el.po index 6cac7e50..6963da1b 100644 --- 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 \n" "Language-Team: Hellenic \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" diff --git a/po/es.gmo b/po/es.gmo index e7026316..c9a943b6 100644 Binary files a/po/es.gmo and b/po/es.gmo differ diff --git a/po/es.po b/po/es.po index 0b83b056..b8a91742 100644 --- 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 \n" "Language-Team: Spanish \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" diff --git a/po/eu.gmo b/po/eu.gmo index 34a45f7e..b97fa5d9 100644 Binary files a/po/eu.gmo and b/po/eu.gmo differ diff --git a/po/eu.po b/po/eu.po index 5c706262..24a0626a 100644 --- 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 \n" "Language-Team: \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" diff --git a/po/fi.gmo b/po/fi.gmo index e5866b62..e502d8b5 100644 Binary files a/po/fi.gmo and b/po/fi.gmo differ diff --git a/po/fi.po b/po/fi.po index 042bc136..4e03fb13 100644 --- 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 \n" "Language-Team: Finnish \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" diff --git a/po/fr.gmo b/po/fr.gmo index dd66cd40..52d2ee7f 100644 Binary files a/po/fr.gmo and b/po/fr.gmo differ diff --git a/po/fr.po b/po/fr.po index 47e53a70..df8c74b5 100644 --- 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) \n" "Language-Team: French \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" diff --git a/po/he.gmo b/po/he.gmo index 9a611c66..9edd1985 100644 Binary files a/po/he.gmo and b/po/he.gmo differ diff --git a/po/he.po b/po/he.po index 7be6a752..dceb6b44 100644 --- 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 \n" "Language-Team: Hebrew \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 "" diff --git a/po/id.gmo b/po/id.gmo index 57474765..fdaf155e 100644 Binary files a/po/id.gmo and b/po/id.gmo differ diff --git a/po/id.po b/po/id.po index 68ae0cda..fd66a5ee 100644 --- 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 \n" "Language-Team: Debian Indonesia \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" diff --git a/po/it.gmo b/po/it.gmo index 7b6469e1..1bee7798 100644 Binary files a/po/it.gmo and b/po/it.gmo differ diff --git a/po/it.po b/po/it.po index 0633f812..eb930951 100644 --- 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 \n" "Language-Team: Italian \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" diff --git a/po/ja.gmo b/po/ja.gmo index e5a0c75c..ed8c2ee2 100644 Binary files a/po/ja.gmo and b/po/ja.gmo differ diff --git a/po/ja.po b/po/ja.po index 5ffc73ef..734af520 100644 --- 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 \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" diff --git a/po/ko.gmo b/po/ko.gmo index e8342b78..0203e3b4 100644 Binary files a/po/ko.gmo and b/po/ko.gmo differ diff --git a/po/ko.po b/po/ko.po index c52012bd..e5a7d35e 100644 --- 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 \n" "Language-Team: Korean \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" diff --git a/po/nb.gmo b/po/nb.gmo index 86e31fec..b0c99eec 100644 Binary files a/po/nb.gmo and b/po/nb.gmo differ diff --git a/po/nb.po b/po/nb.po index 9d0dcfe7..77dab599 100644 --- 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 \n" "Language-Team: Norwegian (Nynorsk) \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" diff --git a/po/nl.gmo b/po/nl.gmo index 9cd1f27a..5c8b2c38 100644 Binary files a/po/nl.gmo and b/po/nl.gmo differ diff --git a/po/nl.po b/po/nl.po index bb988581..0efe5c60 100644 --- 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 \n" "Language-Team: debian-l10n-dutch \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" diff --git a/po/nn.gmo b/po/nn.gmo index 6bf2fd09..05e36c9e 100644 Binary files a/po/nn.gmo and b/po/nn.gmo differ diff --git a/po/nn.po b/po/nn.po index e9ae0026..2d1ba660 100644 --- 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 \n" "Language-Team: Norwegian (Nynorsk) \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" diff --git a/po/pl.gmo b/po/pl.gmo index ddc893a5..f2ad2295 100644 Binary files a/po/pl.gmo and b/po/pl.gmo differ diff --git a/po/pl.po b/po/pl.po index 80744fb0..2be6861a 100644 --- 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 \n" "Language-Team: Polish \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" diff --git a/po/pt.gmo b/po/pt.gmo index a888523a..c8bbf83c 100644 Binary files a/po/pt.gmo and b/po/pt.gmo differ diff --git a/po/pt.po b/po/pt.po index 4f21a3e9..ea9ffe91 100644 --- 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 \n" "Language-Team: Portuguese \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" diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo index 9c050e20..b5e87687 100644 Binary files a/po/pt_BR.gmo and b/po/pt_BR.gmo differ diff --git a/po/pt_BR.po b/po/pt_BR.po index fc5df3ab..983af852 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.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-12 17:16-0300\n" "Last-Translator: André Luís Lopes \n" "Language-Team: Debian-BR Project \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" diff --git a/po/ro.gmo b/po/ro.gmo index b4434f91..2beb72fd 100644 Binary files a/po/ro.gmo and b/po/ro.gmo differ diff --git a/po/ro.po b/po/ro.po index 3bf1c0dc..f84f3e4a 100644 --- 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 , 2004. +# Sorin Batariuc , 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 \n" -"Language-Team: Romanian\n" +"Language-Team: Romanian \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 "Nu aveţ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ă ] " diff --git a/po/ru.gmo b/po/ru.gmo index f1852b3d..20ab2d95 100644 Binary files a/po/ru.gmo and b/po/ru.gmo differ diff --git a/po/ru.po b/po/ru.po index 796680d1..8bd6ccbc 100644 --- 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 , 2004. +# Eugene Konev , 2004. +# Yuri Kozlov , 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 \n" -"Language-Team: RU \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 \n" +"Language-Team: Russian \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 "Предупреждение: неизвестная группа %s\n" +msgstr "Внимание: неизвестная группа %s\n" #: libmisc/addgrps.c:67 #, c-format msgid "Warning: too many groups\n" -msgstr "Предупреждение: слишком много групп\n" +msgstr "Внимание: слишком много групп\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 "Ваш пароль неактивен." +msgstr "Действие вашего пароля временно приостановлено." #: libmisc/age.c:78 #, c-format msgid "Your login has expired." -msgstr "Срок действия вашего логина истек." +msgstr "Срок действия вашей учётной записи истёк." #: libmisc/age.c:90 msgid " Contact the system administrator.\n" -msgstr " Свяжитесь с системным администратором.\n" +msgstr " Обратитесь к системному администратору.\n" #: libmisc/age.c:93 msgid " Choose a new password.\n" -msgstr " Выберите новый пароль.\n" +msgstr " Выберите и введите новый пароль.\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 "Срок действия вашего пароля заканчивается завтра.\n" +msgstr "Срок действия вашего пароля истекает завтра.\n" #: libmisc/age.c:174 #, c-format msgid "Your password will expire today.\n" -msgstr "Срок действия вашего пароля заканчивается сегодня.\n" +msgstr "Срок действия вашего пароля истекает сегодня.\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 "Слишком много логинов.\n" +msgstr "Слишком много попыток входа в систему.\n" #: libmisc/mail.c:61 libmisc/mail.c:76 msgid "You have new mail." -msgstr "Для вас есть новая почта." +msgstr "У вас есть новая почта." #: libmisc/mail.c:72 msgid "No mail." -msgstr "Почты нет." +msgstr "У вас нет почты." #: libmisc/mail.c:74 msgid "You have mail." -msgstr "Для вас есть почта." +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: неудача pam_start(), ошибка %d\n" +msgstr "passwd: ошибка %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 "" -"ошибка конфигурации - неизвестная запись '%s' (сообщите администратору)\n" +"Ошибка конфигурации: неизвестный элемент '%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 "Последнее изменение пароля (ГГГГ-ММ-ДД)" +msgstr "Последний раз пароль был изменён (ГГГГ-ММ-ДД)" #: src/chage.c:170 msgid "Password Expiration Warning" -msgstr "Предупреждения об окончании срока действия пароля" +msgstr "Предупреждать об истечении срока действия пароля за (дней)" #: src/chage.c:176 msgid "Password Inactive" -msgstr "Пароль неактивен" +msgstr "Деактивировать учётную запись через (дней)" #: src/chage.c:184 msgid "Account Expiration Date (YYYY-MM-DD)" -msgstr "Дата окончания срока действия аккаунта (ГГГГ-ММ-ДД)" +msgstr "Дата истечения срока действия учётной записи (ГГГГ-ММ-ДД)" #: src/chage.c:231 -#, fuzzy, c-format +#, c-format msgid "Last password change\t\t\t\t\t: " -msgstr "Последнее изменение пароля (ГГГГ-ММ-ДД)" +msgstr "Последний раз пароль был изменён\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 "Никогда\n" +msgstr "никогда\n" #: src/chage.c:244 -#, fuzzy, c-format +#, c-format msgid "Password expires\t\t\t\t\t: " -msgstr "Пароль истекает:\t" +msgstr "Срок действия пароля истекает\t\t\t\t\t: " #: src/chage.c:260 -#, fuzzy, c-format +#, c-format msgid "Password inactive\t\t\t\t\t: " -msgstr "Пароль дезактивируется:\t" +msgstr "Пароль будет деактивирован через (дней)\t\t\t\t\t: " #: src/chage.c:274 -#, fuzzy, c-format +#, c-format msgid "Account expires\t\t\t\t\t\t: " -msgstr "Аккаунт истекает:\t" +msgstr "Срок действия учётной записи истекает\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: не включайте \"l\" с другими опциями\n" +msgstr "%s: не используйте \"l\" совместно с другими ключами\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: ошибка добавления метода аутентикации\n" +msgstr "%s: проверка подлинности PAM завершилась неудачно\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: ошибка изменения полей\n" +msgstr "%s: ошибка при изменении полей\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: не могу разблокировать файл\n" +msgstr "%s: проверка подлинности (chauthtok) PAM завершилась неудачно\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 "" -"Запуск: %s [-f полное_имя] [-r комната] [-w раб_тел]\n" -"\t[-h дом_тел] [-o прочее] [пользователь]\n" +"Использование: %s [-f полное имя] [-r номер комнаты] [-w рабочий телефон]\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 "Прочее" +msgstr "Другое" #: 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: доступ запрещен\n" +msgstr "%s: Доступ запрещён.\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 "Ошибка обновления записи пароля.\n" +msgstr "Не удалось обновить запись в файле паролей.\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: строка %d: новый пароль отсутствует\n" +msgstr "%s: строка %d: отсутствует новый пароль\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: обнаружена ошибка, изменения игнорируются\n" +msgstr "%s: обнаружена ошибка, изменения не были сохранены\n" #: src/chpasswd.c:349 #, c-format msgid "%s: error updating shadow file\n" -msgstr "%s: ошибка обновления файла shadow\n" +msgstr "%s: не удалось обновить теневой файл паролей\n" #: src/chpasswd.c:357 #, c-format msgid "%s: error updating password file\n" -msgstr "%s: ошибка обновления файла паролей\n" +msgstr "%s: не удалось обновить файл паролей\n" #: src/chsh.c:76 #, c-format msgid "Usage: %s [-s shell] [name]\n" -msgstr "Запуск: %s [-s шелл] [имя]\n" +msgstr "Использование: %s [-s командная оболочка] [имя пользователя]\n" #: src/chsh.c:90 msgid "Login Shell" -msgstr "Шелл при входе" +msgstr "Командная оболочка" #: 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: Неверная запись: %s\n" +msgstr "%s: Неверное значение: %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 "Запуск: expiry {-f|-c}\n" +msgstr "Использование: 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 "Запуск: %s [-r|-R] группа\n" +msgstr "Использование: %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 "Кто вы?\n" +msgstr "Вы кто?\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 "Еще раз новый пароль: " +msgstr "Повторите новый пароль: " #: src/gpasswd.c:526 msgid "They don't match; try again" -msgstr "Они не совпадают; попробуйте снова" +msgstr "Пароли не совпадают, попробуйте ещё раз" #: 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 "Запуск: groupadd [-g gid [-o]] [-f] группа\n" +msgstr "Использование: 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: ошибка добавления новой записи группы\n" +msgstr "%s: не удалось добавить новую группу\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: группа %s уже существует\n" +msgstr "%s: группа %s существует\n" #: src/groupdel.c:83 #, c-format msgid "Usage: groupdel group\n" -msgstr "Запуск: groupdel группа\n" +msgstr "Использование: 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: ошибка удаления записи группы\n" +msgstr "%s: не удалось удалить группу из файла групп\n" #: src/groupdel.c:106 #, c-format msgid "%s: error removing shadow group entry\n" -msgstr "%s: ошибка удаления shadow-записи группы\n" +msgstr "%s: не удалось удалить группу из теневого файла групп\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 "Запуск: groupmod [-g gid [-o]] [-n имя] группа\n" +msgstr "Использование: 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 "Запуск: %s [-r] [-s] [группа [shadow-группа]]\n" +msgstr "Использование: %s [-r] [-s] [файл групп [теневой файл групп]]\n" #: src/grpck.c:89 #, c-format msgid "Usage: %s [-r] [-s] [group]\n" -msgstr "Запуск: %s [-r] [-s] [группа]\n" +msgstr "Использование: %s [-r] [-s] [файл групп]\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 "дублирующаяся запись группы\n" +msgstr "повторяющаяся запись в файле групп\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 "группа %s: нет пользователя %s\n" +msgstr "группа %s: пользователь %s не существует\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 "дублирующаяся shadow-запись в файле групп\n" +msgstr "повторяющаяся запись в теневом файле групп\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: файлы были обновлены\n" +msgstr "%s: файлы были изменены\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 "Запуск: id [-a]\n" +msgstr "Использование: id [-a]\n" #: src/id.c:55 #, c-format msgid "Usage: id\n" -msgstr "Запуск: id\n" +msgstr "Использование: 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 "Имя Порт Откуда Последн.\n" +msgstr "Пользователь Порт С Последний раз\n" #: src/lastlog.c:92 #, c-format msgid "Username Port Latest\n" -msgstr "Имя Порт Последн.\n" +msgstr "Пользователь Порт Последний раз\n" #: src/lastlog.c:107 msgid "**Never logged in**" -msgstr "**Никогда не логинился***" +msgstr "**Никогда не входил в систему**" #: src/login.c:156 #, c-format msgid "Usage: %s [-p] [name]\n" -msgstr "Запуск: %s [-p] [имя]\n" +msgstr "Использование: %s [-p] [имя пользователя]\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 "Недопустимое время для логина\n" +msgstr "Вход в систему сейчас запрещён\n" #: src/login.c:234 #, c-format @@ -1075,7 +1127,7 @@ msgid "" "System closed for routine maintenance\n" msgstr "" "\n" -"Система закрыта на плановое обслуживание\n" +"Система закрыта для проведения технического обслуживания\n" #: src/login.c:244 #, c-format @@ -1084,7 +1136,7 @@ msgid "" "[Disconnect bypassed -- root login allowed.]\n" msgstr "" "\n" -"[Рассоединение пропущено -- root'овый логин разрешен.]\n" +"[Отключение не выполнено -- вход в систему для суперпользователя разрешён.]\n" #: src/login.c:297 #, c-format @@ -1093,7 +1145,7 @@ msgid "" "Login timed out after %d seconds.\n" msgstr "" "\n" -"Таймаут логина в течение %d секунд.\n" +"Время на выполнение входа в систему истекло после %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 "Предупреждение: логины снова открыты после временного закрытия.\n" +msgstr "Внимание: вход в систему снова возможен.\n" #: src/login.c:1010 #, c-format msgid "Last login: %s on %s" -msgstr "Последний логин: %s на %s" +msgstr "Последний вход в систему: %s на %s" #: src/login.c:1013 #, c-format msgid "Last login: %.19s on %s" -msgstr "Последний логин: %.19s на %s" +msgstr "Последний вход в систему: %.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: в системе нет базы данных DBM, никаких действий не предпринято\n" +msgstr "%s: отсутствуют файлы DBM -- обновление не произведено\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 "Запуск: %s [-vf] [-p|g|sp|sg] файл\n" +msgstr "Использование: %s [-vf] [-p|g|sp|sg] файл\n" #: src/mkpasswd.c:391 #, c-format msgid "Usage: %s [-vf] [-p|g|sp] file\n" -msgstr "Запуск: %s [-vf] [-p|g|sp] файл\n" +msgstr "Использование: %s [-vf] [-p|g|sp] файл\n" #: src/mkpasswd.c:394 #, c-format msgid "Usage: %s [-vf] [-p|g] file\n" -msgstr "Запуск: %s [-vf] [-p|g] файл\n" +msgstr "Использование: %s [-vf] [-p|g] файл\n" #: src/newgrp.c:61 #, c-format msgid "Usage: newgrp [-] [group]\n" -msgstr "Запуск: newgrp [-] [группа]\n" +msgstr "Использование: newgrp [-] [группа]\n" #: src/newgrp.c:63 #, c-format msgid "Usage: sg group [[-c] command]\n" -msgstr "Запуск: sg группа [[-c] команда]\n" +msgstr "Использование: 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 "Запуск: %s [ввод]\n" +msgstr "Использование: %s [файл]\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: строка %d: неверная строка\n" +msgstr "%s: строка %d: ошибка в строке\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 "Запуск: %s [-f|-s] [имя]\n" +msgstr "Использованик: %s [-f|-s] [имя пользователя]\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" -"Предупреждение: слабый пароль (введите его еще раз если все-таки хотите " -"его).\n" +"Внимание: слишком простой пароль (чтобы всё равно использовать этот пароль, " +"введите его ещё раз).\n" #: src/passwd.c:283 #, c-format msgid "They don't match; try again.\n" -msgstr "Они не совпадают; попробуйте еще раз.\n" +msgstr "Пароли не совпадают, попробуйте ещё раз.\n" #: src/passwd.c:360 src/passwd.c:377 #, c-format msgid "The password for %s cannot be changed.\n" -msgstr "Пароль для %s изменить нельзя.\n" +msgstr "Пароль пользователя %s не может быть изменён.\n" #: src/passwd.c:390 #, c-format msgid "Sorry, the password for %s cannot be changed yet.\n" -msgstr "Извините, пароль для %s пока изменить нельзя.\n" +msgstr "Извините, но пароль пользователя %s пока не может быть изменён.\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 "Пароль для %s НЕ изменен.\n" +msgstr "Пароль для %s не был изменён.\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 "Запуск: %s [-q] [-r] [-s] [пароль]\n" +msgstr "Использование: %s [-q] [-r] [-s] [файл паролей]\n" #: src/pwck.c:292 #, c-format @@ -1405,17 +1461,17 @@ msgstr "неверная запись в файле паролей\n" #: src/pwck.c:354 msgid "duplicate password entry\n" -msgstr "дублирующаяся запись пароля\n" +msgstr "повторяющаяся запись в файле паролей\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 "пользователь %s: нет группы %d\n" +msgstr "пользователь %s: группа %u не существует\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 "пользователь %s: программа %s не существует\n" +msgstr "пользователь %s: командная оболочка %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 "дублирующаяся запись в shadow-файле паролей\n" +msgstr "повторяющаяся запись в теневом файле паролей\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 "пользователь %s: последнее изменение пароля в будущем\n" +msgstr "пользователь %s: время последнего изменения пароля в будущем\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: должно быть запущено с терминала\n" +msgstr "%s: должен выполняться из терминала\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 "Вам не разрешено делать su %s\n" +msgstr "У вас нет права переключать учётную запись %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 "Нет шелла\n" +msgstr "Отсутствует командная оболочка\n" #: src/suauth.c:104 #, c-format msgid "Access to su to that account DENIED.\n" -msgstr "Доступ к su с этого аккаунта ЗАПРЕЩЕН.\n" +msgstr "Переключение на эту учётную запись ЗАПРЕЩЕНО.\n" #: src/suauth.c:112 #, c-format msgid "Password authentication bypassed.\n" -msgstr "Аутентикация по паролю пропущена.\n" +msgstr "Проверка подлинности по паролю пропущена.\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 "Нет файла паролей\n" +msgstr "Отсутствует файл паролей\n" #: src/sulogin.c:160 #, c-format msgid "No password entry for 'root'\n" -msgstr "Нет записи пароля для 'root'\n" +msgstr "Отсутствует запись для суперпользователя в файле паролей\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: неверный числовой аргумент `%s'\n" +msgstr "%s: неверный числовой параметр `%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: ошибка блокировки файла групп\n" +msgstr "%s: не удалось заблокировать файл групп\n" #: src/useradd.c:760 src/usermod.c:449 #, c-format msgid "%s: error opening group file\n" -msgstr "%s: ошибка открытия файла групп\n" +msgstr "%s: не удалось открыть файл групп\n" #: src/useradd.c:766 src/usermod.c:542 #, c-format msgid "%s: error locking shadow group file\n" -msgstr "%s: ошибка блокировки shadow-файла групп\n" +msgstr "%s: не удалось заблокировать теневой файл групп\n" #: src/useradd.c:771 src/usermod.c:548 #, c-format msgid "%s: error opening shadow group file\n" -msgstr "%s: ошибка открытия shadow-файла групп\n" +msgstr "%s: не удалось открыть теневой файл групп\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: ошибка добавления новой записи пароля\n" +msgstr "%s: не удалось добавить запись в файл паролей\n" #: src/useradd.c:1365 src/usermod.c:1063 #, c-format msgid "%s: error adding new shadow password entry\n" -msgstr "%s: ошибка добавления новой shadow-записи пароля\n" +msgstr "%s: не удалось добавить запись в теневой файл паролей\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: пользователь %s уже существует\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: предупреждение: CREATE_HOME не поддерживается, используйте -m.\n" +msgstr "%s: внимание: CREATE_HOME не поддерживается, используйте -m.\n" #: src/userdel.c:108 #, c-format msgid "Usage: %s [-r] name\n" -msgstr "Запуск: %s [-r] имя\n" +msgstr "Использование: %s [-r] имя пользователя\n" #: src/userdel.c:160 src/userdel.c:221 #, c-format msgid "%s: error updating group entry\n" -msgstr "%s: ошибка обновления записи группы\n" +msgstr "%s: не удалось обновить запись в файле групп\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: ошибка удаления записи пароля\n" +msgstr "%s: не удалось удалить запись из файла паролей\n" #: src/userdel.c:347 #, c-format msgid "%s: error deleting shadow password entry\n" -msgstr "%s: ошибка удаления shadow-записи пароля\n" +msgstr "%s: не удалось удалить запись из теневого файла паролей\n" #: src/userdel.c:388 #, c-format msgid "%s: user %s is currently logged in\n" -msgstr "%s: пользователь %s в настоящее время в системе\n" +msgstr "%s: пользователь %s находится в системе\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: предупреждение: не могу удалить " +msgstr "%s: внимание: не удалось удалить " #: 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: ошибка удаления каталога %s\n" +msgstr "%s: не удалось удалить каталог %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 неактивн.] [-e истекает] " +msgstr "[-f деактивация] [-e срок действия учётной записи ] " #: 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: опции не заданы\n" +msgstr "%s: на заданы ключи\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: ошибка изменения записи пароля\n" +msgstr "%s: не удалось изменить запись в файле паролей\n" #: src/usermod.c:1053 #, c-format msgid "%s: error removing password entry\n" -msgstr "%s: ошибка удаления записи пароля\n" +msgstr "%s: не удалось удалить запись из файла паролей\n" #: src/usermod.c:1070 #, c-format msgid "%s: error removing shadow password entry\n" -msgstr "%s: ошибка удаления shadow-записи пароля\n" +msgstr "%s: не удалось удалить запись из теневого файла паролей\n" #: src/usermod.c:1098 #, c-format msgid "%s: directory %s exists\n" -msgstr "%s: каталог %s уже существует\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: предупреждение %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 НЕ изменено\n" +"%s: %s не был изменён\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 "" -"Запуск:\n" -"`vipw' правит /etc/passwd `vipw -s' правит /etc/shadow\n" -"`vigr' правит /etc/group `vigr -s' правит /etc/gshadow\n" +"Использование:\n" +"`vipw' редактирует /etc/passwd `vipw -s' редактирует /etc/shadow\n" +"`vigr' редактирует /etc/group `vigr -s' редактирует /etc/gshadow\n" diff --git a/po/shadow.pot b/po/shadow.pot index 507fcde7..59fd7131 100644 --- a/po/shadow.pot +++ b/po/shadow.pot @@ -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 \n" "Language-Team: LANGUAGE \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 "" diff --git a/po/sk.gmo b/po/sk.gmo index 5b0157f7..ded53639 100644 Binary files a/po/sk.gmo and b/po/sk.gmo differ diff --git a/po/sk.po b/po/sk.po index be2adb49..90fafa5c 100644 --- 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 \n" "Language-Team: Slovak \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" diff --git a/po/sq.gmo b/po/sq.gmo index 6ab2ae8d..67af95fd 100644 Binary files a/po/sq.gmo and b/po/sq.gmo differ diff --git a/po/sq.po b/po/sq.po index 66f95ed5..83f4498c 100644 --- 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 \n" "Language-Team: Albanian \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 "" diff --git a/po/sv.gmo b/po/sv.gmo index 4bb48a23..1439a3b0 100644 Binary files a/po/sv.gmo and b/po/sv.gmo differ diff --git a/po/sv.po b/po/sv.po index 9e9227e7..0a7c3caf 100644 --- 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 , 1999. +# Inc. Kristoffer BrÃ¥nemyr , 1999. +# Per Olofsson , 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 \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 \n" "Language-Team: sv \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ä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ör mÃ¥nga grupper\n" #: libmisc/age.c:72 #, c-format msgid "Your password has expired." -msgstr "Ditt lösenord har upphört" +msgstr "Ditt lösenord har upphört" #: libmisc/age.c:75 #, c-format msgid "Your password is inactive." -msgstr "Ditt lösenord är inaktivt" +msgstr "Ditt lösenord är inaktivt" #: libmisc/age.c:78 #, c-format msgid "Your login has expired." -msgstr "Din användare har upphört." +msgstr "Din användare har upphört." #: libmisc/age.c:90 msgid " Contact the system administrator.\n" -msgstr " Kontakta systemoperatören.\n" +msgstr " Kontakta systemoperatören.\n" #: libmisc/age.c:93 msgid " Choose a new password.\n" -msgstr " Välj ett nytt lösenord.\n" +msgstr " Välj ett nytt lö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ösenord upphö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ösenord upphö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ösenord upphö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ön överflö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Ã¥r inte ä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örra inloggningen. Den senaste var %s pÃ¥ %s.\n" +msgstr[1] "%d fel sedan förra inloggningen. Den senaste var %s pÃ¥ %s.\n" #: libmisc/limits.c:397 #, c-format msgid "Too many logins.\n" -msgstr "För många inloggningar.\n" +msgstr "För mÃ¥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ö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ö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änt object \"%s\" (meddela systemoperatören)\n" #: lib/pwauth.c:45 src/newgrp.c:341 msgid "Password: " -msgstr "Lösenord: " +msgstr "Lösenord: " #: lib/pwauth.c:47 #, c-format msgid "%s's Password: " -msgstr "Lösenord för %s: " +msgstr "Lösenord fö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ändning: %s [-l] [-m min_dagar] [-M max_dagar] [-W varna]\n" +"\t[-I inaktiv] [-E utgÃ¥ng] [-d senaste_dag] anvä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ärdet, eller tryck ENTER för standardvärdet\n" #: src/chage.c:149 msgid "Minimum Password Age" -msgstr "Minsta lösenordsålder" +msgstr "Minsta lösenordsÃ¥lder" #: src/chage.c:155 msgid "Maximum Password Age" -msgstr "Högsta lösenordsålder" +msgstr "Högsta lösenordsÃ¥lder" #: src/chage.c:162 msgid "Last Password Change (YYYY-MM-DD)" -msgstr "Senaste lösenordsändring (ÅÅÅÅ-MM-DD)" +msgstr "Senaste lösenordsändring (ÅÅÅÅ-MM-DD)" #: src/chage.c:170 msgid "Password Expiration Warning" -msgstr "Lösenords upphörningsvarning" +msgstr "Lösenords upphörningsvarning" #: src/chage.c:176 msgid "Password Inactive" -msgstr "Lösenord inaktivt" +msgstr "Lösenord inaktivt" #: src/chage.c:184 msgid "Account Expiration Date (YYYY-MM-DD)" -msgstr "Kontot upphör (ÅÅÅÅ-MM-DD)" +msgstr "Kontot upphör (ÅÅÅÅ-MM-DD)" #: src/chage.c:231 #, fuzzy, c-format msgid "Last password change\t\t\t\t\t: " -msgstr "Senaste lösenordsändring (ÅÅÅÅ-MM-DD)" +msgstr "Senaste lösenordsändring (ÅÅÅÅ-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ösenordet upphör:\t" #: src/chage.c:260 #, fuzzy, c-format msgid "Password inactive\t\t\t\t\t: " -msgstr "Lösenord inaktiv:\t" +msgstr "Lö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ösenordet upphö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Ã¥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 öppna lö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änd anvä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Ã¥sa skugglö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 öppna skugglösenordsfilen" #: src/chage.c:587 #, c-format msgid "Changing the aging information for %s\n" -msgstr "Ändrar åldringsinformation för %s\n" +msgstr "Ändrar Ã¥ldringsinformation fö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ä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ö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ö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ö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ö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 övrigt] [anvä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ä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 "Övrigt" #: 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öra ditt anvä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 ändra användare \"%s\" pÃ¥ 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\" är NIS-mästare fö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 "Ändrar användarinformation för %s\n" +msgstr "Ändrar användarinformation fö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Ã¥ller otillÃ¥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ör lÃ¥nga fä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 ä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Ã¥sa lösenordsfilen; försö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 öppna lö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ö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öra ändringar i lö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Ã¥sa upp lö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Ã¥sa lö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Ã¥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 ö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ör lÃ¥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ö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änd anvä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ö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äcktes, ä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ö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ä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Ã¥r inte ändra skal Ã¥t %s.\n" #: src/chsh.c:288 #, c-format msgid "Changing the login shell for %s\n" -msgstr "Ändrar inloggningsskal åt %s\n" +msgstr "Ändrar inloggningsskal Ã¥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 ä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ä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Ã¥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änd anvä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Ã¥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änd anvä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ä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ä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ä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ändare,...] [-M anvä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ä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ösenord krävs för -A\n" #: src/gpasswd.c:280 #, c-format msgid "Who are you?\n" -msgstr "Vem är du?\n" +msgstr "Vem ä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ä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ägger till anvä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ändare %s frÃ¥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ä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 "Ändrar lösenordet för grupp %s\n" +msgstr "Ändrar lösenordet för grupp %s\n" #: src/gpasswd.c:509 msgid "New Password: " -msgstr "Nytt lösenord: " +msgstr "Nytt lö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ö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örsö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örsö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Ã¥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Ã¥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 ö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Ã¥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ä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ä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 ä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 ä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 ä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ÄRDE\n" +msgstr "%s: -O kräver NAME=VÄRDE\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Ã¥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 ö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Ã¥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 ö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ä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ändarens primä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 ä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 är NIS-mä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ä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 ä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 ä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ä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ä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Ã¥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 ö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ä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ä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ä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 ä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 ä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Ã¥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 ö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Ã¥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 ö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ö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ö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ändning: id [-a]\n" #: src/id.c:55 -#, c-format +#, fuzzy, c-format msgid "Usage: id\n" -msgstr "Användning: id\n" +msgstr "Anvä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ändarnamn Port FrÃ¥n Senaste\n" #: src/lastlog.c:92 #, c-format msgid "Username Port Latest\n" -msgstr "Användarnamn Port Senaste\n" +msgstr "Anvä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ä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ä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ä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 är stängt för rutinunderhÃ¥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Ã¥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ö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Ã¥ \"%.100s\" frÃ¥n \"%.200s\"" #: src/login.c:568 #, c-format msgid " on `%.100s'" -msgstr " på \"%.100s\"" +msgstr " pÃ¥ \"%.100s\"" #: src/login.c:722 #, c-format @@ -1114,7 +1129,7 @@ msgid "" "%s login: " msgstr "" "\n" -"%s användare: " +"%s anvä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Ã¥ %s" #: src/login.c:1013 #, c-format msgid "Last login: %.19s on %s" -msgstr "Senaste inloggning: %.19s på %s" +msgstr "Senaste inloggning: %.19s pÃ¥ %s" #: src/login.c:1018 #, c-format msgid " from %.*s" -msgstr " från %.*s" +msgstr " frÃ¥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Ã¥ systemet - ingen Ã¥tgärd genomfö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 ö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 öppna DBM-filer fö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ö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ägger till notering fö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ägg av notering fö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ä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ä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ä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ä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ä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ä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änt uid: %u\n" #: src/newgrp.c:213 #, c-format msgid "unknown gid: %lu\n" -msgstr "okänt gid: %lu\n" +msgstr "okänt gid: %lu\n" #: src/newgrp.c:358 src/newgrp.c:367 msgid "Sorry.\n" -msgstr "Tyvärr.\n" +msgstr "Tyvä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ör mÃ¥nga grupper\n" #: src/newusers.c:78 #, c-format msgid "Usage: %s [input]\n" -msgstr "Användning: %s [indata]\n" +msgstr "Anvä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Ã¥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Ã¥sa filerna, försö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 ö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ä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ö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ä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ö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örra lösenordet: " #: src/passwd.c:223 #, c-format msgid "Incorrect password for `%s'\n" -msgstr "Felaktigt lösenord för \"%s\"\n" +msgstr "Felaktigt lösenord fö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ösenordet (minst %d, högst %d tecken)\n" +"Var god använd en kombination av versaler, gemener och siffror.\n" #: src/passwd.c:253 msgid "New password: " -msgstr "Nytt lösenord: " +msgstr "Nytt lösenord: " #: src/passwd.c:263 #, c-format msgid "Try again.\n" -msgstr "Försök igen.\n" +msgstr "Försö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ösenord (skriv in det igen för att använda det ändÃ¥).\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örsö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ösenordet fö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ärr, lösenordet för %s kan inte ändras än.\n" #: src/passwd.c:472 #, c-format msgid "%s: out of memory\n" -msgstr "%s: slut på minne\n" +msgstr "%s: slut pÃ¥ 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örvaringsplatsen %s stö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Ã¥r inte läsa eller ändra lösenordsinformation för %s.\n" #: src/passwd.c:934 #, c-format msgid "Changing password for %s\n" -msgstr "Ändrar lösenord för %s\n" +msgstr "Ändrar lösenord fö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ösenordet för %s är oförändrat.\n" #: src/passwd.c:987 #, c-format msgid "Password changed.\n" -msgstr "Lösenordet ändrat.\n" +msgstr "Lösenordet ä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ä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ä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ösenordsfilen\n" #: src/pwck.c:354 msgid "duplicate password entry\n" -msgstr "dubblett av lösenords notering\n" +msgstr "dubblett av lösenords notering\n" #: src/pwck.c:370 #, c-format msgid "invalid user name '%s'\n" -msgstr "ogiltigt användarnamn '%s'\n" +msgstr "ogiltigt anvä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ä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ä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ä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ö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ö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ö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ändare %s: senaste lösenordsä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Ã¥sa lö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 öppna lö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ösenordsfilen fö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ösenordsfilen fö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ö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ör anvä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ösenordsfilen\n" #: src/su.c:132 msgid "Sorry." -msgstr "Tyvärr." +msgstr "Tyvä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Ã¥ste köras frÃ¥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ä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Ã¥telse att kö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ö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örighet att kö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 över lö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ösenord som äkthetsbevis.\n" #: src/sulogin.c:118 #, c-format msgid "No password file\n" -msgstr "Ingen lösenordsfil\n" +msgstr "Ingen lö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ösenordsnotering fö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ör att fortsätta med den normala uppstarten,\n" +"(eller skriv in lösenordet för root för systemunderhÃ¥ll):" #: src/sulogin.c:210 msgid "Entering System Maintenance Mode\n" -msgstr "Går in i systemunderhållsläge\n" +msgstr "GÃ¥r in i systemunderhÃ¥llslä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ä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ä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\" ä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ör mÃ¥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ä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Ã¥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 ö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Ã¥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 ö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 ä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ösenord krävs fö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ösenord krävs fö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ä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ä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ö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ö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Ã¥sa lö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 öppna lö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Ã¥sa skugglö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 öppna skugglö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äggning av ny lö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äggning av ny skugglö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ör anvä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ä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öds inte, använd -m istä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ä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 ö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 ö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ö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ö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ändare %s ä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 ä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ä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ändare %s är en NIS-anvä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ö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ä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Ã¥ 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Ã¥ 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ösenord krävs fö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 ä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 ändring av lö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ö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ö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 ägare pÃ¥ %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Ã¥ 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 ä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 ägare av brevlÃ¥dan" #: src/usermod.c:1237 msgid "failed to rename mailbox" -msgstr "kunde inte byta namn på brevlådan" +msgstr "kunde inte byta namn pÃ¥ brevlÃ¥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 är oförändrad\n" #: src/vipw.c:131 msgid "Couldn't lock file" -msgstr "Kunde inte låsa filen" +msgstr "Kunde inte lÃ¥sa filen" #: src/vipw.c:140 msgid "Couldn't make backup" -msgstr "Kunde inte göra en backup" +msgstr "Kunde inte gö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 Ã¥terställa %s: %s (dina ändringar ä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ändning:\n" +"\"vipw\" redigerar /etc/passwd \"vipw -w\" redigerar /etc/shadow\n" +"\"vipg\" redigerar /etc/group \"vipg -w\" redigerar /etc/gshadow\n" diff --git a/po/tl.gmo b/po/tl.gmo index 36c0f93e..e015d8f5 100644 Binary files a/po/tl.gmo and b/po/tl.gmo differ diff --git a/po/tl.po b/po/tl.po index 1d2fd932..3880f077 100644 --- 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 \n" "Language-Team: Tagalog \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" diff --git a/po/tr.gmo b/po/tr.gmo index 588d5b91..970b22bd 100644 Binary files a/po/tr.gmo and b/po/tr.gmo differ diff --git a/po/tr.po b/po/tr.po index f32d9fc2..9c784a0f 100644 --- 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 \n" "Language-Team: Turkish \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" diff --git a/po/uk.gmo b/po/uk.gmo index eeff4de7..afad8079 100644 Binary files a/po/uk.gmo and b/po/uk.gmo differ diff --git a/po/uk.po b/po/uk.po index 71e76067..44155005 100644 --- 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 \n" "Language-Team: \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 index 00000000..b54bba18 Binary files /dev/null and b/po/vi.gmo differ diff --git a/po/vi.po b/po/vi.po new file mode 100644 index 00000000..a6517235 --- /dev/null +++ b/po/vi.po @@ -0,0 +1,2037 @@ +# Vietnamese Translation for shadow. +# Copyright © 2005 Free Software Foundation, Inc. +# Clytie Siddall , 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 \n" +"Language-Team: Vietnamese \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" diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo index 447a8b39..5a6982d0 100644 Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ diff --git a/po/zh_CN.po b/po/zh_CN.po index ffd69444..b4e06da0 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.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-14 10:26+1200\n" "Last-Translator: Carlos Z.F. Liu \n" "Language-Team: Chinese (simplified) \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" diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo index 48acbb8d..64c4d67f 100644 Binary files a/po/zh_TW.gmo and b/po/zh_TW.gmo differ diff --git a/po/zh_TW.po b/po/zh_TW.po index 732134ab..76d43f79 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -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 \n" "Language-Team: Chinese (traditional) <>\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" diff --git a/src/Makefile.in b/src/Makefile.in index 09ef76e7..6dcaef74 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -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 diff --git a/src/lastlog.c b/src/lastlog.c index f4d1757d..7c042158 100644 --- a/src/lastlog.c +++ b/src/lastlog.c @@ -30,7 +30,7 @@ #include #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 #include #include @@ -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); diff --git a/src/newgrp.c b/src/newgrp.c index 95dbca75..66df597b 100644 --- a/src/newgrp.c +++ b/src/newgrp.c @@ -30,7 +30,7 @@ #include #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 #include #include @@ -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 = "???";